机器学习sklearn入门:使用KNN模型分类鸢尾花和使用交叉验证进行简单调参

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

python 复制代码
#%%
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier

iris = 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参数为例,挑选出最优的参数

python 复制代码
# 轮询找到更好的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可以画出参数和准确率的关系

相关推荐
平和男人杨争争20 分钟前
SNN(TTFS)论文阅读——LC-TTFS
论文阅读·人工智能·神经网络·机器学习
算家计算3 小时前
AI也能像人一样拥有长时记忆了!谷歌最新研究攻克AI核心难题
人工智能·机器学习·资讯
thorn_r6 小时前
MCP驱动的AI角色扮演游戏
人工智能·游戏·机器学习·ai·自然语言处理·agent·mcp
青云交6 小时前
Java 大视界 -- Java 大数据机器学习模型在电商用户流失预测与留存策略制定中的应用
随机森林·机器学习·特征工程·java 大数据·spark mllib·电商用户流失·留存策略
phoenix@Capricornus7 小时前
多项分布 (Multinomial Distribution)
线性代数·机器学习·概率论
不当菜鸡的程序媛7 小时前
Flow Matching|什么是“预测速度场 vt=ε−x”?
人工智能·算法·机器学习
AI街潜水的八角8 小时前
深度学习十种食物分类系统1:数据集说明(含下载链接)
人工智能·深度学习·分类
小锅巴1238 小时前
百度测开面经(分类版)
数据库·分类·数据挖掘
B站_计算机毕业设计之家9 小时前
深度学习:python人脸表情识别系统 情绪识别系统 深度学习 神经网络CNN算法 ✅
python·深度学习·神经网络·算法·yolo·机器学习·cnn