‫A parte quatro da modelagem é a parte final da modelagem, e é a comparação que queremos saber aqui é como
‫nosso modelo se comportará no mundo real?
‫Então, depois de ajustar o desempenho do seu modelo por meio do ajuste de hiperparâmetro, é hora de
‫ver como ele se sai nos testes.
‫No conjunto de testes é como o exame final para modelos de aprendizado de máquina.
‫Se você criou sua divisão de dados corretamente, deve dar uma indicação de como o seu modelo
‫funcionará.
‫Uma vez implantado na produção, significa lidar com o cliente, em vez de apenas estar no computador local.
‫Como seu modelo nunca viu dados no conjunto de teste, avaliar seu modelo nele é uma boa maneira de
‫ver como ele generaliza.
‫E lembre-se, ao generalizar, quero dizer adaptar-se a dados que não vimos antes, como o desempenho do modelo de aprendizado
‫de máquina de previsão de doenças cardíacas ao classificar se um paciente tem doença cardíaca ou não
‫em um paciente que não estava em nossos dados originais definir.
‫Um bom modelo produzirá resultados semelhantes nos conjuntos de treinamento, validação e teste, e não é incomum
‫ver um ligeiro declínio no desempenho do modelo.
‫No conjunto de treinamento e validação para o conjunto de teste, por exemplo, seu modelo pode atingir 98 por cento de
‫precisão no conjunto de dados de treinamento e 96 por cento de precisão no conjunto de teste.
‫Você deve se preocupar se o desempenho do conjunto de treinamento é drasticamente superior ao conjunto de
‫teste, também conhecido como subalimentação, e se o desempenho do conjunto de teste é superior ao desempenho do
‫conjunto de treinamento, também conhecido como OVERFITTING.
‫Overfitting e Underfeeding são exemplos de um modelo que não consegue generalizar bem, o que é o
‫que não queremos.
‫O modelo ideal aparece na zona Cachinhos Dourados.
‫Ele se encaixa perfeitamente, não muito bem, mas não muito mal.
‫Você vê aqui este modelo de aprendizado de máquina.
‫Se fossem seus dados, esses pontos de dados verdes, essa linha aqui, meio que se encaixa na forma.
‫Mas é isso que seria classificado como subalimentação.
‫Não é isso que queremos modelar hoje.
‫E este aqui.
‫Bem, está fazendo um bom trabalho no preenchimento de todos os pontos de dados, mas está chegando perto demais.
‫É um modelo quase perfeito demais.
‫Está apenas serpenteando entre eles.
‫Portanto, este exemplo significaria que o modelo aprendeu os padrões muito bem neste conjunto de dados.
‫Seria como ver o exame final antes de realmente fazer o exame final.
‫Este aqui é a zona Cachinhos Dourados.
‫Direito.
‫Este é um processo iterativo em que exatamente essa zona Cachinhos Dourados é como um modelo balanceado e realmente dependerá de
‫seus dados e do problema que você está tentando resolver.
‫É por isso que, novamente, é um processo iterativo, encontrar essa zona de equilíbrio.
‫E agora, depois de alguma experiência e prática em trabalhar em diferentes problemas de aprendizado de máquina, você será
‫capaz de começar a dizer se seu modelo está com sobreajuste ou subalimentação.
‫Agora, existem vários motivos pelos quais a subalimentação de uma abertura pode acontecer, mas os principais são vazamento de
‫dados e incompatibilidade de dados.
‫O vazamento de dados acontece quando alguns de seus dados de teste vazam em seus dados de treinamento, e isso geralmente resulta em overfitting
‫ou um modelo se saindo melhor no conjunto de teste do que nos dados de treinamento.
‫É como, lembre-se, era como se você fosse dar uma olhada no exame final ou todos tivessem que olhar
‫para o exame final como o exame prático, seu modelo de aprendizado de máquina acabou de aprender o que está prestes
‫a ser testado.
‫Então, quando chega a hora de modelar, é apenas aprendido muito bem e começa a se ajustar aos dados
‫assim.
‫E é por isso que é importante fazer sua divisão corretamente e garantir que o treinamento do modelo de aprendizado
‫de máquina aconteça apenas na validação do conjunto de dados de treinamento e o ajuste do modelo aconteça apenas no conjunto de dados
‫de validação ou treinamento, e que o teste e a comparação do modelo aconteçam nos dados de teste definir.
‫E eu me lembro de algumas abordagens diferentes usadas apenas no conjunto de treinamento e teste e fazer o
‫treinamento do modelo no conjunto de treinamento, mas o teste sempre permanece o mesmo.
‫É como quando você vai para a universidade, está fazendo um curso.
‫Você quer ter certeza de que o exame final é uma espécie de indicação de quão bem você entende as coisas.
‫Dizer Com o conjunto de dados de teste para aprendizado de máquina, o conjunto de dados de teste é usado como uma indicação
‫de quão bem seu modelo se generalizará no mundo real.
‫Portanto, você deseja evitar o vazamento de dados.
‫A incompatibilidade de dados ocorre quando os dados em que você está testando são diferentes dos dados em que você
‫está treinando, como ter recursos diferentes nos dados de treinamento para os dados de teste.
‫Ter esse tipo de incompatibilidade pode fazer com que os modelos tenham um desempenho insatisfatório nos dados de teste em comparação com os dados de
‫treinamento.
‫É por isso que é importante garantir que o treinamento seja feito no mesmo tipo de dados que
‫você testará e o mais próximo possível do que você usará em seus aplicativos futuros.
‫Outras maneiras de combater a subalimentação incluem o uso de um modelo mais avançado, isso pode significar um modelo
‫totalmente diferente ou aumentar o número de hiperparâmetros em seu modelo atual.
‫Lembre-se, quando estamos cozinhando nosso prato de frango, podemos alterar um dos hiperparâmetros de nosso
‫forno aumentando-o.
‫Isso pode ser algo que você pode fazer em um modelo de aprendizado de máquina em vez de usar apenas duas
‫camadas em uma rede neural que você pode usar.
‫Veremos mais disso em um projeto futuro.
‫Você também pode reduzir o número de recursos que está tentando modelar, talvez seus dados tenham muitos recursos e
‫o modelo que você está usando esteja lutando para encontrar padrões neles.
‫Por fim, você pode treinar seu modelo por mais tempo; às vezes, os modelos demoram mais para treinar ou para aprender
‫do que o esperado.
‫Um de seus experimentos pode envolver uma fase de treinamento mais longa.
‫E para reduzir o overfitting, soluções úteis são coletar mais dados, mais dados fornecerão mais padrões potenciais
‫para um modelo encontrar e, assim, diminuir o potencial para que ele encontre todos eles.
‫Ou você pode tentar usar um modelo menos avançado.
‫Isso é incomum, mas é uma possibilidade.
‫O modelo que você está usando é muito bom no aprendizado e modela seus dados para, bem, ser cauteloso com os modelos
‫que têm um desempenho muito bom, pois eles podem levar a previsões incorretas.
‫Lembre-se de que nenhum modelo é perfeito, então certifique-se de verificar seus bons resultados tanto quanto verifica seus resultados
‫ruins.
‫Finalmente, ao comparar dois modelos diferentes entre si, é importante garantir que você está comparando
‫maçãs com maçãs e laranjas com laranjas.
‫Por exemplo, modelo dois treinado em dados, conjunto um versus modelo três, treinado em conjunto de dados um.
‫Comparação duradoura.
‫Você quer ter certeza de levar em consideração não apenas o resultado final, mas o que foi necessário para chegar lá.
‫Se o modelo dois leva um segundo para fazer uma previsão com precisão de noventa e três vírgula um por cento, o modelo
‫três leva quatro segundos para fazer uma previsão com precisão de noventa e quatro vírgula sete.
‫São três por cento de precisão extras que valem esses três segundos extras de previsão?
‫Hora agora.
‫E isso vai depender de qual é o objetivo.
‫Mas se você está otimizando para o tempo de previsão, certo, você deseja fazer previsões o mais rápido possível.
‫Escolho o modelo dois porque ele faz previsões quatro vezes mais rápidas do que o modelo três.
‫Em um nível de precisão mais alto, novamente, isso será diferente dependendo do tipo de aplicativo ou caso de uso de
‫produção que você deseja usar.
‫Mas apenas algumas coisas para se ter em mente são mais do que apenas o desempenho de um modelo, o que envolve a escolha de
‫qual você deve usar.
‫Algumas coisas que você deseja lembrar desta lição, evite overfitting e underfeeding, você deseja modelar
‫que avança para a generalidade.
‫É como quando você faz seu exame simulado, se você vir o exame final, poderá se tornar uma máquina de memorização
‫especialista em vez de alguém que poderia usar o conhecimento do mundo real.
‫Mantenha o conjunto de teste separado a todo custo.
‫Ao dividir seus dados, você deseja ter um conjunto de treinamento e, em seguida, descartar o conjunto de dados de teste
‫e bloqueá-lo.
‫E, uma vez que seu modelo tenha sido treinado, você pode abrir o conjunto de dados de teste, pode desbloqueá-lo,
‫retirá-lo do cofre e ver o desempenho do seu modelo.
‫Quando você está comparando modelos, compare maçãs com maçãs, tenha o modelo um e o modelo dois nos dados, defina um e
‫o conjunto de dados um.
‫Você quer ter certeza de que os dois modelos que está comparando foram criados no mesmo tipo
‫de ambiente para que possa garantir que o que está comparando são comparações legítimas.
‫Finalmente, uma métrica de desempenho baseada não é igual ao melhor modelo.
‫Lembre-se agora do exemplo, você pode estar otimizando para o tempo de previsão.
‫Portanto, embora um modelo que faz uma previsão mais rápida não obtenha uma precisão tão alta quanto outro modelo, isso leva
‫um pouco mais de tempo.
‫Pode não ser importante para você, porque você precisa de algo que possa prever o mais rápido possível.
‫Quem sabe muito, mas veremos muito mais disso em ação ao longo do curso.
‫Você também o usará em toda a sua carreira de aprendizado de máquina.
‫Portanto, é importante lembrar esses conceitos.
‫Vamos prosseguir para a próxima etapa e ver como podemos juntar todas essas etapas anteriores na etapa
‫seis de experimentação.