开始使用免费开始使用

KNN 的超参数

为了运用上个练习所学的概念,最好在一种新算法上练手。k-近邻(k-nearest neighbors, KNN)算法如今不如过去流行,但当数据中存在行为相近的分组时,仍然可能是不错的选择。我们的信用卡用户会是这种情况吗?

本练习中,您将为 KNN 算法的一个核心超参数尝试多个不同的取值,并比较性能。

您将可以使用:

  • X_trainX_testy_trainy_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(_____, _____, _____))
编辑并运行代码