Le défi de la classification

Apprentissage supervisé avec scikit-learn

George Boorman

Core Curriculum Manager, DataCamp

Classification des étiquettes des nouvelles données

  1. Construire un modèle
  2. Le modèle apprend à partir des données étiquetées que nous lui passons
  3. Passez des données non étiquetées au modèle en tant qu’entrée
  4. Le modèle prédit les étiquettes des nouvelles données

 

  • Données étiquetées = données d’apprentissage
Apprentissage supervisé avec scikit-learn

k plus proches voisins

  • Prédisez l’étiquette d’un point de données en :

    • regardant les k plus proches points de données étiquetés

    • effectuant un vote à la majorité

Apprentissage supervisé avec scikit-learn

k plus proches voisins

diagramme en nuages de points avec les observations en bleu et rouge, et une nouvelle observation en noir

Apprentissage supervisé avec scikit-learn

k plus proches voisins

rayon autour des trois observations les plus proches du point noir

Apprentissage supervisé avec scikit-learn

k plus proches voisins

rayon autour des cinq observations les plus proches du point noir

Apprentissage supervisé avec scikit-learn

Intuition KNN

diagramme en nuages de points de la charge totale du soir par rapport à la charge totale de la journée, où les observations sont colorées en bleu en cas de désabonnement et en rouge dans le cas contraire

Apprentissage supervisé avec scikit-learn

Intuition KNN

Diagramme en nuages de points du taux de désabonnement avec une limite de décision divisant les observations selon que le KNN prédit un désabonnement ou non

Apprentissage supervisé avec scikit-learn

Utilisation de scikit-learn pour ajuster un classificateur

from sklearn.neighbors import KNeighborsClassifier

X = churn_df[["total_day_charge", "total_eve_charge"]].values y = churn_df["churn"].values
print(X.shape, y.shape)
(3333, 2), (3333,)
knn = KNeighborsClassifier(n_neighbors=15)

knn.fit(X, y)
Apprentissage supervisé avec scikit-learn

Prédiction sur des données non étiquetées

X_new = np.array([[56.8, 17.5],
                  [24.4, 24.1],
                  [50.1, 10.9]])

print(X_new.shape)
(3, 2)
predictions = knn.predict(X_new)

print('Predictions: {}'.format(predictions))
Predictions: [1 0 0]
Apprentissage supervisé avec scikit-learn

Passons à la pratique !

Apprentissage supervisé avec scikit-learn

Preparing Video For Download...