交叉验证配合学习曲线(以鸢尾花数据为例)

import sklearn.datasets as datasets
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import train_test_split
from matplotlib import pyplot as plt
iris  = datasets.load_iris()
feature = iris["data"]
target= iris["target"]
x_train,x_test,y_train,y_test = train_test_split(feature,target,
                                                 test_size=0.2,random_state=2020)
scores = []
ks = []
for k in range(3,20):
    knn = KNeighborsClassifier(n_neighbors=k)
    score = cross_val_score(knn,x_train,y_train,cv=6).mean()
    scores.append(score)
    ks.append(k)
plt.plot(ks,scores)
plt.show()

 

posted @ 2021-06-30 09:33  邓居旺  阅读(196)  评论(0)    收藏  举报