K-Nearest Neighbours

Comment ça fonctionne

KNN.ipynb

Comment choisir K

  1. Séparer le dataset en train/test set
  2. Prédire le test set pour différentes valeurs de K et calculer l’erreur moyenne
  3. Sélectionner la valeur K minimisant l’erreur

python

scores = []
k_list = range(1,267)

for k in k_list:

    # Split data
    X_train, X_test, y_train, y_test = train_test_split(
        df.drop('Pclass', axis=1), df['Pclass'], test_size=0.3, random_state=0)

    # Train model
    knn = neighbors.KNeighborsClassifier(n_neighbors=k)
    knn.fit(X_train, y_train)
    score = knn.score(X_test, y_test)
    scores.append(score)

plt.plot(k_list, scores)
plt.xlabel("k")
plt.ylabel("Accuracy")

Pour & Contre