best_score = 0.0 best_k = -1 for k in range(1,11): knn_clf = KNeighborsClassifier(n_neighbors=k) knn_clf.fit(X_train,y_train) score = knn_clf.score(X_test,y_test) if score > best_score: best_k = k best_score = score print('best_k =>',best_k) print('best_score =>',best_score)
是否考虑距离这个参数
best_method='' best_score = 0.0 best_k = -1 for method in ['uniform','distance']: for k in range(1,11): knn_clf = KNeighborsClassifier(n_neighbors=k,weights = method) knn_clf.fit(X_train,y_train) score = knn_clf.score(X_test,y_test) if score > best_score: best_k = k best_score = score best_method=method print('best_method =>',best_method) print('best_k =>',best_k) print('best_score =>',best_score)