Modéliser sans normaliser
Voyons ce qui peut arriver à la précision de votre modèle si vous tentez de modéliser des données sans d'abord effectuer une forme de standardisation.
Voici un sous-ensemble du jeu de données wine. L'une des colonnes, Proline, présente une variance extrêmement élevée comparativement aux autres colonnes. C'est un bon exemple où une technique comme la normalisation logarithmique serait utile, ce que vous verrez à la prochaine section.
Le processus d'entraînement de modèles avec scikit-learn devrait vous être familier à ce stade, donc nous n'entrerons pas trop dans les détails. Vous avez déjà un modèle des plus proches voisins (knn) ainsi que les ensembles X et y nécessaires pour l'entraîner et l'évaluer.
Cette activité fait partie du cours
Prétraitement pour le Machine Learning en Python
Instructions de l’exercice
- Scindez les ensembles
Xetyen ensembles d'entraînement et de test, en veillant à ce que les étiquettes de classe soient distribuées également dans les deux ensembles. - Entraînez le modèle
knnsur les variables explicatives et les étiquettes d'entraînement. - Affichez la précision sur l'ensemble de test du modèle
knnà l'aide de la méthode.score().
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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.____(____))