当前位置: 首页 > news >正文

机器学习sklearn入门:使用KNN模型分类鸢尾花和简单调参

bg:scikit--learn是不错的机器学习库,里面精简了很多东西,新手学习起来也是比较舒服的

#%%
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifieriris = datasets.load_iris()
iris_X = iris.data
iris_y = iris.target     # 选择第0行和第一行
#%%
Xtrain, Xtest, Ytrain, Ytest = train_test_split(iris_X, iris_y, test_size=0.3)knn = KNeighborsClassifier()
knn.fit(Xtrain, Ytrain)     # 将训练集的特征和标签训练knn模型
knn.predict(Xtest)      # 对测试集进行分类标签
#%%
Ytest       # 原本Xtest数据集对应的标签
#%%

结果:

测试集准确率:

5次交叉验证准确率:

还算是比较准的

调参

knn创建对象的时候是可以添加参数的,下面就以n_neighbors参数为例,挑选出最优的参数

# 轮询找到更好的KNN参数
score_all = []
num_neighbors = np.arange(1, 10)
for num_neighbor in num_neighbors:knn = KNeighborsClassifier(n_neighbors=num_neighbor)score = cross_val_score(knn, Xtrain, Ytrain, cv=10, scoring='accuracy')score_all.append(score.mean())

思路就是遍历一遍

-- 通过matplotlib可以画出参数和准确率的关系

http://www.lryc.cn/news/587061.html

相关文章:

  • Matplotlib(一)- 数据可视化与Matplotlib
  • 前端性能优化利器:懒加载技术原理与最佳实践
  • ADRC自抗扰控制—深度解析与实战指南2
  • 适配器模式:兼容不兼容接口
  • 《[系统底层攻坚] 张冬〈大话存储终极版〉精读计划启动——存储架构原理深度拆解之旅》-系统性学习笔记(适合小白与IT工作人员)
  • Redis数据类型之zset
  • 补:《每日AI-人工智能-编程日报》--2025年7月12日
  • Vue单文件组件与脚手架工程化开发
  • 小白学Python,操作文件和文件夹
  • 【王树森推荐系统】重排04:DPP 多样性算法(上)
  • leetGPU解题笔记(2)
  • CSAPP_第一章:计算机系统漫游读书笔记
  • 从文本中 “提取” 商业洞察“DatawhaleAI夏令营”
  • 通信子网 V
  • Java 内部类详解:从基础到实战,掌握嵌套类、匿名类与局部类的使用技巧
  • 一天速通TypeScript入门基础知识
  • Java反射机制深度解析
  • VsCode的LivePreview插件应用
  • 20250713-day14
  • UNet改进(22):融合CNN与Transformer的医学图像分割新架构
  • 板凳-------Mysql cookbook学习 (十一--------9)
  • ALB、NLB、CLB 负载均衡深度剖析
  • spring cloud负载均衡分析之FeignBlockingLoadBalancerClient、BlockingLoadBalancerClient
  • 【Complete Search】-基础完全搜索-Basic Complete Search
  • 小车避障功能的实现(第八天)
  • 【hivesql 已知维度父子关系加工层级表】
  • SpringBoot3-Flowable7初体验
  • libusb的同步和异步
  • JDBC相关知识点
  • Spring高级特性——反射和动态代理的性能优化