当前位置:   article > 正文

KNN回归:通过折叠交叉验证来寻找最佳的k值并绘制折线图_对knn回归寻找最优k

对knn回归寻找最优k
  1. from sklearn import datasets
  2. from sklearn.neighbors import KNeighborsClassifier
  3. from sklearn.model_selection import GridSearchCV
  4. # 导入鸢尾花数据集
  5. iris = datasets.load_iris()
  6. X = iris.data
  7. y = iris.target
  8. # 设置需要搜索的K值
  9. parameters = {'n_neighbors': [1, 3, 5, 7, 9, 11, 13, 15]}
  10. # 创建KNN分类器
  11. knn = KNeighborsClassifier()
  12. # 使用GridSearchCV来找到最佳的K值
  13. clf = GridSearchCV(knn, parameters, cv=5)
  14. clf.fit(X, y)
  15. # 输出最佳参数及相应的准确度
  16. print("最佳准确度:%.2f" % clf.best_score_, "最佳K值:", clf.best_params_)
  17. import matplotlib.pyplot as plt
  18. # 提取每个K值对应的准确度和K值
  19. k_values = [param['n_neighbors'] for param in clf.cv_results_['params']]
  20. accuracies = clf.cv_results_['mean_test_score']
  21. # 绘制折线图
  22. plt.plot(k_values, accuracies, marker='o')
  23. plt.title('Grid Search Results')
  24. plt.xlabel('K Value')
  25. plt.ylabel('Accuracy')
  26. plt.show()

参考:回归模型 第5篇:knn回归-CSDN博客

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/357197
推荐阅读
相关标签
  

闽ICP备14008679号