開始使用免費開始

KNN 的超參數

要把上一題學到的觀念真正用起來,最好在新的演算法上練習一次。k-nearest neighbors 演算法雖然現在不如以往流行,但當資料中存在行為相似的群組時,仍然可能是很好的選擇。我們的信用卡使用者資料是否符合這種情況呢?

在這裡,你會為 knn 演算法的一個核心超參數嘗試多個不同的數值,並比較模型表現。

你可以使用:

  • X_trainX_testy_trainy_test DataFrame

本練習屬於課程

Python 超參數調校

檢視課程

練習說明

  • n_neighbors 為 [5, 10, 20] 建立 knn 估計器。
  • 將每個模型擬合到訓練資料,並產生預測。
  • 取得每個模型的準確率分數並印出。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Build a knn estimator for each value of n_neighbours
knn_5 = KNeighborsClassifier(n_neighbors=____)
knn_10 = KNeighborsClassifier(n_neighbors=____)
knn_20 = KNeighborsClassifier(n_neighbors=____)

# Fit each to the training data & produce predictions
knn_5_predictions = knn_5.fit(_____, _____).predict(_____)
knn_10_predictions = knn_10.fit(_____, _____).predict(_____)
knn_20_predictions = knn_20.fit(_____, _____).predict(_____)

# Get an accuracy score for each of the models
knn_5_accuracy = accuracy_score(y_test, _____)
knn_10_accuracy = accuracy_score(y_test, _____)
knn_20_accuracy = accuracy_score(y_test, _____)
print("The accuracy of 5, 10, 20 neighbours was {}, {}, {}".format(_____, _____, _____))
編輯並執行程式碼