python进行KNN算法分析实战(鸢尾花数据集)

流氓是怎样炼成的python进⾏KNN算法分析实战(鸢尾花数据集)KNN算法分析实战(鸢尾花数据集)
⽬录
代码效果图
,废话不多说,先看看代码实验结果
小曾 军营民谣
河北大学成教学院
提⽰:以下是本篇⽂章正⽂内容,下⾯案例可供参考
⼀、导⼊需要的包
要是报错的话可以在pycharm安装包,要是不⾏就在命令窗⼝输⼊pip install +包名
import matplotlib.pyplot as plt
from sklearn import neighbors
import numpy as np
import pandas as pd
import seaborn as sns
from sklearn import model_selection
from sklearn import metrics
⼆、
1.导⼊数据
导⼊数据并查看前5⾏代码
df1 = pd.read_csv(r'D:\python\iris.csv')
一位父亲给梦鸽的信print(df1.head())#输出前五⾏
predictors = lumns[:-1]
2.建⽴训练集和测试
vp5
代码如下:
x_train,x_test,y_train,y_test=ain_test_split(
df1[predictors],df1.Species,
test_size=0.5,
random_state = 1234
)
il(np.log2(df1.shape[0])))
爱在钢琴上
3.设置K值
#设置待测试的不同K值
K = np.arange(il(np.log2(df1.shape[0])))
print(np.arange(il(np.log2(df1.shape[0]))))
#设置空列表,⽤于储存平均准确率
accuracy = []
4. ⼗重交叉验证K值
使⽤⼗重交叉验证K值,并做出最适合K值的折线图
#使⽤⼗重交叉验证的⽅法
for k in K:
cv_result = ss_val_score\
(neighbors.KNeighborsClassifier(n_neighbors=int(k),
weights='distance'),
x_train, y_train, cv=10, scoring='accuracy')
accuracy.append(an())
#从K个平均准确率中挑选出最⼤值做对应的⽬标
arg_max = np.array(accuracy).argmax()
#中⽂负号正常显⽰
#绘制不同k值与准确率之间的折线图
plt.plot(K,accuracy)
plt.scatter(K,accuracy)
<(K[arg_max],accuracy[arg_max],'最佳K值为%s'%int(K[arg_max])) plt.show()
5.模型拟合
代⼊K值,进⾏模型拟合
#重新构建模型,并将最佳邻近数个数设置为7
knn_class = neighbors.KNeighborsClassifier(n_neighbors=7,weights='distance') #模型拟合
knn_class.fit(x_train,y_train)
#模型在测试集上的预测
predict = knn_class.predict(x_test)
6.数据可视化输出

本文发布于:2024-09-21 15:33:26,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/326216.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:模型   数据   测试   代码   设置   鸢尾花   实战   分析
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议