Um modelo é um objeto com um contrato
Tudo no scikit-learn é um estimador e todos seguem o mesmo contrato. Cria-se com seus ajustes, chamados hiperparâmetros, por exemplo a força de uma penalidade. Chama-se para que aprenda dos dados. O que ele aprendeu fica em atributos cujo nome termina com sublinhado, como a média ou os coeficientes. Depois usa-se: um pré-processador oferece , um modelo oferece . A chamada é fit seguido de transform. A tabela tem uma linha por amostra e uma coluna por variável, e é o alvo. Como o contrato é o mesmo em todo lugar, dá para trocar um modelo por outro mantendo o resto do código.
A regra de ouro é que só pode ver dados de treino. Os números que um pré-processador aprende, como e , são então aplicados sem mudança aos dados de validação e de teste por . Se o escalador fosse ajustado em todos os dias, os dias de teste teriam moldado a escala: um vazamento silencioso do futuro. Ajustes como tornam as execuções repetíveis, e constrói uma cópia nova e não ajustada de um estimador, o que a validação cruzada faz em cada dobra. Nos laboratórios de dados de mercado desta habilidade, as linhas são pares ação-mês e as colunas variáveis como momento e volatilidade.
- Ajustes na entrada, números aprendidos: os hiperparâmetros vão ao construtor e os números aprendidos terminam com sublinhado.
- Ajustar só no treino: transform e predict reutilizam os números aprendidos em quaisquer dados.
- O mesmo contrato em todo lugar: trocar um modelo por outro mantém o resto do código.
Lab: o que é avaliado
- O que o escalador aprende: a média10 pts
- O que o escalador aprende: a dispersão10 pts
- Transformar um valor de teste10 pts
- O que a regressão aprende: a inclinação15 pts
- Uma previsão10 pts
- Quais atributos são aprendidos10 pts
- Um fluxo de trabalho seguro10 pts
- Associar o vocabulário10 pts
- Por que ajustar o escalador só no treino15 pts