1
resposta

Porque para os dados X_teste utiliza o transform e não o fit_transform?

Durante o vídeo é mencionado que "para não haver vazamento de dados seria aplicado o fit apenas nos dados de treino".

Contudo, não entendi muito bem o motivo de ser aplicado o fit_transform() nos dados de treino e apenas o transform() nos dados de teste. Ao realizar o fit no primeiro passo, os dados de média e desvio padrão já ficam salvos e por isso é possível usar apenas o transform na segunda etapa?

1 resposta

Oii, Felipe! Como vai?

Quando o fit_transform() é aplicado nos dados de treino, o método fit calcula e "aprende" as estatísticas necessárias (como média e desvio padrão) a partir desses dados, transformando-os em seguida. Para exemplificar, imagine que você está normalizando os dados, o fit_transform() nos dados de treino calculará a média e o desvio padrão dos dados de treino e aplicará a normalização a eles.

o método transform() nos dados de teste utiliza as mesmas estatísticas calculadas a partir dos dados de treino para transformá-los. Isso é importante para evitar vazamento de dados, que ocorre quando informações dos dados de teste influenciam o modelo durante o treinamento. Aplicar fit_transform() nos dados de teste recalcularia as estatísticas com base neles, introduzindo informações dos dados de teste no processo de treinamento, o que é indesejável.

Deixarei alguns links de artigos aqui para, caso queira, se aprofundar mais no tema:

Obs: As páginas podem abrir em Inglês, caso não tenha familiaridade com o idioma, cliquei com o botão direito do mouse em qualquer parte da página e escolha a opção Traduzir para o português.

Espero ter ajudado. Qualquer dúvida, conte conosco.

Bons estudos, Felipe!