2021-03-09
阅读量:
531
乳腺癌数据集探索knn最优k值示例
问:
乳腺癌数据集探索knn最优k值示例
答:
超参数 的选定是 NN的头号问题 ,K值较⼩,则模型复杂度较⾼,容易发⽣过拟合,学习的估计误差会增⼤,预测结果对近邻的实例点⾮常敏感。K值较⼤可以减少学习的估计误差,但是学习的近似误差会增⼤,与输⼊实例较远的训练实例也会对预测起作⽤,使预测发⽣错误, k值增⼤模型的复杂度会下降。
在这⾥我们要使⽤机器学习中的神器: 参数学习曲线。参数学习曲线
是⼀条以不同的参数取值为横坐标,不同参数取值下的模型结果为纵坐标的曲线,我们往往选择模型表
现最佳点的参数取值作为这个参数的取值。⽐如我们的乳腺癌数据集:
import matplotlib.pyplot as plt
score = []
krange = range(1,20) # 为什么这⾥是从1开始?
for i in krange:
clf = KNeighborsClassifier(n_neighbors=i)
clf = clf.fit(Xtrain,Ytrain)
score.append(clf.score(Xtest,Ytest))
plt.plot(krange,score);
bestindex = krange[score.index(max(score))]-1
print(bestindex)
print(score[bestindex])
⽤这样的⽅式我们就找出了最佳的 值——这体现了机器学习当中,⼀切以 "模型效果" 为导向的性
质,我们可以使⽤模型效果来帮助我们选择参数。






评论(0)


暂无数据
推荐帖子
0条评论
0条评论
0条评论