3
respostas

[Dúvida] Normalização dos Dados

Boa tarde estou com dúvidas em relação a parte da normalização.

  1. Quando é preciso normalizar os dados?
    • No curso Machine Learning: classificação com SKLearn para utilizar o SVC foi utlizado StandardScaler e enquanto DecisionTreeClassifier não
  2. A ordem preprocessamento e seleção de modelo não afetará no resultado?
    • No curso Machine Learning: classificação com SKLearn segue o train_test_split e depois realiza o StandardScaler e enquanto no curso Machine Learning: classificação por trás dos panos realiza o processo inverso

Machine Learning: classificação com SKLearn Machine Learning: classificação com SKLearnMachine Learning: classificação por trás dos panos Machine Learning: classificação por trás dos panosMachine Learning: classificação por trás dos panos

3 respostas

Olá, Ewelton!

Entendo suas dúvidas e vou tentar esclarecê-las da melhor forma possível.

  1. A normalização dos dados é geralmente necessária quando os algoritmos de Machine Learning são sensíveis à magnitude dos dados. Por exemplo, o algoritmo KNN e o SVC (Support Vector Classifier) são baseados em cálculos de distância, então eles são afetados pela escala dos dados. Por outro lado, algoritmos como Decision Trees não são sensíveis à escala dos dados, por isso não precisamos normalizá-los nesse caso.

  2. A ordem do pré-processamento e da seleção do modelo pode afetar o resultado, sim. Em geral, é uma boa prática dividir os dados em conjuntos de treinamento e teste antes de qualquer pré-processamento. Isso ocorre porque queremos evitar qualquer vazamento de informação do conjunto de teste para o conjunto de treinamento. No caso do StandardScaler, ele é ajustado ao conjunto de treinamento e, em seguida, é usado para transformar tanto o conjunto de treinamento quanto o de teste. Portanto, primeiro fazemos o train_test_split e depois aplicamos o StandardScaler.

Aparentemente, há uma diferença na ordem dessas etapas nos dois cursos que você mencionou. Isso pode ser devido a diferentes abordagens de ensino ou um erro inadvertido. No entanto, a abordagem correta é a que mencionei acima.

Espero ter ajudado e bons estudos!

Entendi. Agora surgiu uma outra dúvida sobre a primeira resposta.

Os algoritmos que não são sensíveis à escala dos dados podem ser normalizados?

Oi Ewelton,

Sim, você pode normalizar os dados de entrada em um algoritmo desse tipo. Isso não deve prejudicar os resultados.