KNN 的超参数
为了运用上个练习所学的概念,最好在一种新算法上练手。k-近邻(k-nearest neighbors, KNN)算法如今不如过去流行,但当数据中存在行为相近的分组时,仍然可能是不错的选择。我们的信用卡用户会是这种情况吗?
本练习中,您将为 KNN 算法的一个核心超参数尝试多个不同的取值,并比较性能。
您将可以使用:
X_train、X_test、y_train、y_test数据框
本练习是课程的一部分
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(_____, _____, _____))