Modelando sem normalizar
Vamos ver o que pode acontecer com a acurácia do seu modelo se você tentar modelar os dados sem fazer algum tipo de padronização antes.
Aqui temos um subconjunto do conjunto de dados wine. Uma das colunas, Proline, tem uma variância extremamente alta em comparação com as outras colunas. Este é um exemplo em que uma técnica como a normalização logarítmica seria útil, e você vai aprender sobre isso na próxima seção.
O processo de treinamento de modelos no scikit-learn já deve ser familiar para você neste ponto, então não vamos entrar em muitos detalhes. Você já tem disponível um modelo de k-vizinhos mais próximos (knn), assim como os conjuntos X e y de que precisa para ajustar e avaliar.
Este exercício faz parte do curso
Pré-processamento para Machine Learning em Python
Instruções do exercício
- Separe os conjuntos
Xeyem treino e teste, garantindo que os rótulos de classe fiquem igualmente distribuídos em ambos os conjuntos. - Ajuste o modelo
knnàs features e rótulos de treino. - Imprima a acurácia no conjunto de teste do modelo
knnusando o método.score().
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Split the dataset into training and test sets
X_train, X_test, y_train, y_test = ____(____, ____, stratify=____, random_state=42)
knn = KNeighborsClassifier()
# Fit the knn model to the training data
knn.____(____, ____)
# Score the model on the test data
print(knn.____(____))