best_score=0.0#设置当前我们已经找到的准确率最好的值,初始化为0
bestk_k=-1#我们找到的最好的k,初始化为-1
for k in range(1,11):#我们传入10个k,看哪个k最适合鸢尾花
knn_clf=KNeighborsClassifier(n_neighbors=k) #每一次都创建一个knn_clf来调用构造函数,在构造函数里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)
在K近邻中,要寻找最好的k,还有距离因素: