1
resposta

Uso do scaler no Pipeline

Não entendi a necessidade de colocar o scaler na pipeline, ou seja, de reescalar os dados toda as vezes que rodar um K grupo.

Quando se dá um fit e transform com o scaler no x_azar, já estou escalando todos os dados, não? Para reescala-los a cada grupo K rodado?

1 resposta

Olá Alexandre.

Na aula 5 atividade 2 (tempo 06:32) o instrutor explica esse ponto.

Vamos lá, quando escalamos os dados, utilizamos o fit do StandardScaler, que na pratica é calcular a média e o desvio padrão como vemos na documentação, apenas nos dados de treino e depois aplicamos o transform, tanto nos dados de treino quanto nos de teste.

E a unica maneira de reproduzir isso agora que não temos mais o "controle" dessa separação ,já que estamos usando o GroupKFold, é incluindo essa etapa no nosso pipeline e dessa maneira vamos garantir que o fit será feito em cada grupo de dados de treino que for separado.

O ponto mais importante aqui é entender que o resultado do fit aplicado em x_dados não é o mesmo resultado quando aplicado em x_dados_treino. Então com isso escalar todos os nossos dados antes não terá o mesmo resultado.

Espero ter ajudado, bons estudos.