Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Diferença entre preprocessing.scale() e preprocessing.StandardScaler()

Olá,

No treinamento, utilizamos StandardScaler() e entendi a sua função.

Fui dar uma olhada na documentação e encontrei a possibilidade de utilizar somente o preprocessing.scale(), mas fiquei super confusa sobre a diferença entre estas duas funções, já que o resultado é o mesmo.

A documentação diz que o StandardScaler aplica "Transformer API". O que seria isso?

Obrigada

2 respostas
solução!

Olá Daiane.

Parabéns por buscar na documentação por mais conhecimento.

Se olharmos nesse trecho da documentação vamos encontrar essa descrição:

The preprocessing module further provides a utility class StandardScaler that implements the Transformer API to compute the mean and standard deviation on a training set so as to be able to later reapply the same transformation on the testing set.

Dai podemos concluir que a principal diferença entre utilizar o scaler e o StandardScaler é a possibilidade de fazer os cálculos por exemplo do Standard score, que vão gerar a nova escala, em cima do seus dados de treino.

scaler = StandardScaler()
x_treino_scaled = scaler.fit_transform(x_treino)

E depois aplicar essa mesma escala no seus dados de teste:

x_teste_scaled = scaler.transform(x_teste)

Não conseguimos fazer isso utilizando apenas o scaler, nele poderíamos apenas reescalar em cima de todo o nosso x, porem isso vai gerar uma escala, valores, diferentes, já que o calculo será feito em cima de todos os nossos dados.

Bons Estudos.

Oi Igor, muito obrigada pelos esclarecimentos!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software