def knn(data, predict=False, best_n=None):
if best_n:
# prediction
clf = KNeighborsClassifier(n_neighbors=best_n)
return clf
knn_scores = []
for n_neighbors in range(4, 51):
clf = KNeighborsClassifier(n_neighbors=n_neighbors)
scores = cross_val_score(clf, data.X_train, data.y_train, cv=5)
knn_scores.append((n_neighbors, scores.mean()))
knn_scores = sorted(knn_scores, key=lambda x: x[1], reverse=True)
print(knn_scores)
评论列表
文章目录