Modelagem sem normalização
Vamos dar uma olhada no que pode acontecer com a precisão do seu modelo se você tentar modelar dados sem antes fazer algum tipo de padronização.
Aqui temos um subconjunto do conjunto de dados wine
. Uma das colunas, Proline
, tem uma variação extremamente alta em comparação com as outras colunas. Esse é um exemplo de quando uma técnica como a normalização de logs seria útil, sobre a qual você aprenderá na próxima seção.
O processo de treinamento do modelo do scikit-learn deve ser familiar para você a esta altura, portanto, não vamos nos aprofundar muito nele. Você já tem um modelo k-nearest neighbors disponível (knn
), bem como os conjuntos X
e y
que você precisa ajustar e pontuar.
Este exercício faz parte do curso
Pré-processamento para aprendizado de máquina em Python
Instruções do exercício
- Divida os conjuntos
X
ey
em conjuntos de treinamento e teste, garantindo que os rótulos de classe sejam igualmente distribuídos em ambos os conjuntos. - Ajuste o modelo
knn
aos recursos e rótulos de treinamento. - Imprima a precisão do conjunto de testes do modelo
knn
usando 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.____(____))