Klassificeringsutmaningen

Övervakad inlärning med scikit-learn

George Boorman

Core Curriculum Manager, DataCamp

Klassificering av etiketter på osedda data

  1. Bygg en modell
  2. Modellen lär sig från de märkta data vi skickar in
  3. Skicka omärkta data till modellen som indata
  4. Modellen förutsäger etiketterna för de osedda data

 

  • Märkta data = träningsdata
Övervakad inlärning med scikit-learn

k-Nearest Neighbors

  • Förutsäg etiketten för en datapunkt genom att

    • Titta på de k närmaste märkta datapunkterna

    • Ta majoritetsröst

Övervakad inlärning med scikit-learn

k-Nearest Neighbors

spridningsdiagram med observationer i blått och rött, samt en ny observation i svart

Övervakad inlärning med scikit-learn

k-Nearest Neighbors

radie runt de tre observationer som är närmast den svarta punkten

Övervakad inlärning med scikit-learn

k-Nearest Neighbors

radie runt de fem observationer som är närmast den svarta punkten

Övervakad inlärning med scikit-learn

KNN-intuition

spridningsdiagram över kvällsavgift kontra dagsavgift, där observationer är blåfärgade om kunden churnat och röda om de inte churnat

Övervakad inlärning med scikit-learn

KNN-intuition

churn-spridningsdiagram med en beslutsgräns som delar observationerna baserat på om KNN förutsäger att de churnar eller inte

Övervakad inlärning med scikit-learn

Använda scikit-learn för att träna en klassificerare

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)
Övervakad inlärning med scikit-learn

Förutsäga på omärkta data

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]
Övervakad inlärning med scikit-learn

Nu kör vi en övning!

Övervakad inlärning med scikit-learn

Preparing Video For Download...