knn算法中关于k的取值

来源:互联网 发布:分屏软件下载 编辑:程序博客网 时间:2024/05/21 09:26
from __future__ import print_functionfrom sklearn.datasets import load_irisfrom sklearn.cross_validation import cross_val_scoreimport matplotlib.pyplot as pltfrom sklearn.neighbors import KNeighborsClassifieriris = load_iris()X = iris.datay = iris.targetk_range = range(1, 31)k_scores = []for k in k_range:    knn = KNeighborsClassifier(n_neighbors=k)##    loss = -cross_val_score(knn, X, y, cv=10, scoring='mean_squared_error') # for regression    scores = cross_val_score(knn, X, y, cv=10, scoring='accuracy') # for classification    k_scores.append(scores.mean())plt.plot(k_range, k_scores)plt.xlabel('Value of K for KNN')plt.ylabel('Cross-Validated Accuracy')

plt.show()

结果如下图所示:

1 0
原创粉丝点击