Bases d'apprentissage et de test
Bases d'apprentissage et de test
En machine learning, on cherche à ce qu'un algorithme appuyé sur les mathématiques s'entraîne sur des données, pour pouvoir ensuite prédire une valeur (ou une classe) pour des données nouvelles.
On a donc besoin de donées sur lesquelles entraîner notre modèle : c'est la base d'apprentissage, ou d'entraînement. Elle est en général constituée de 80% des données de notre base de données, sélectionnées aléatoirement.
On a aussi besoin de pouvoir quantifier les performances de notre algorithme. On va pour cela calculer des métriques de performance (comme le F1-Score) sur les 20% de données restantes, qui forment la base de test. Cette base de test va servir à tester l'algorithme sur des données qu'il ne connaît pas encore, pour éviter de fausser les mesures de performance.
Syntaxe Python
Grâce à la bibliothèque Python Scikit-learn, on peut séparer les bases d'apprentissage et de test en une seule ligne de code :

L'argument test_size=0.2 indique que la base de test sera constituée de 20% des observations de la base de données.
L'argument random_state=42 permet d'aligner les simulateurs d'aléatoires de plusieurs ordinateurs.
On peut ensuite faire l'apprentissage du modèle sur nos données d'apprentissage :

Ici, notre modèle s'appelle knn car il utilise l'algorithme des k plus proches voisins (k-NN).
Puis on peut faire une prédiction et calculer une métrique de performance sur la base de test :


Par exemple, le rapport de classification est un tableau contenant les valeurs de plusieurs métriques de performance pour un algorithme de classification.
Voir aussi : all(), any(), append(), count(), enumerate(), extend(), filter(), float() format() input(), int(), isdigit(), isinstance(), items(), join(), endswith(), list(), map(), max(), mean(), min(), pop(), range(), len(), startswith(), zip(), type(), get(), symmetric_difference(), keys(), difference()
Numpy : arange(), array(), delete(), hsplit(), hstack(), linspace(), logical_and(), logical_or(), polyfit()
Pandas : concat(), concatenate(), describe(), dict(), drop_duplicates(), dropna(), fillna(), from_dict(), groupby(), head(), iloc, info(), insert(), isin(), melt(), merge(), pivot_table(), read_csv(), read_excel(), rename(), where()
Machine Learning : F1-Score, Précision, Rappel, Normalisation, Courbe d’apprentissage, Les résidus, Régression VS classification, Mean Absolute Error (MAE), Mean Squared Error (MSE), Root Mean Squared Error (RMSE), Accuracy, L’astuce du noyau, Bases d’apprentissage et de test, Classes linéairement séparables, Apprentissage supervisé VS non-supervisé, Coefficient de détermination R2, Validation croisée
N'hésitez pas à consulter nos formations sur cette page.