python进行KNN算法分析实战(鸢尾花数据集)_第1页
python进行KNN算法分析实战(鸢尾花数据集)_第2页
python进行KNN算法分析实战(鸢尾花数据集)_第3页
python进行KNN算法分析实战(鸢尾花数据集)_第4页
python进行KNN算法分析实战(鸢尾花数据集)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、python进行KNN算法分析实战(鸢尾花数据集)算法分析实战(鸢尾花数据集)目录代码效果图Run:knnffshiyanC:Users72796AppDataLocalProgpamsPythonPython38python.exeD:/pythoi=50Sepal.Length5.1Sepaljidth3.5Petal-Length1.4PetaljidthSpecies0.2setosa14.93.01.40.2setosa24.73.21.30.2setosa34.63.11.50.2setosa45.03.61.40.2setosa8.01.2.3.45.6.7.聲尾花种类混淆邸a氷

2、:Figure1莺尾花种类热力图2500o25000251setosa1versicolorRealLablevirginicaxl丄C=叭o252015-10-5-0Run:knn#shiyant莺尾花种类混淆矩阵Speciessetosaversicolorvirginicarow_0setosa25001versicolor6250avirginica6D25rw显示各类预测准确率1*1precisionrecallfl-scores叩portIsetosaL00UOL0D25versicolorL00uoL0D25virginicaL00uoL0D25提示:以下是本篇文章正文内容,下厚

3、案例可供参考L0D75导入需要的包。世L00L00L0D75要是报错的话可以在占伸rm安装包,要是不行就在命令窗口输1入pipinstall+包名importmatplotlib.pyplotaspitfromsklearnimportneighborsimportnumpyasnpimportpandasaspdimportseabornassnsfromsklearnimportmodel_selectionfromsklearnimportmetrics1导入数据导入数据并查看前5行代码df1=pd.read_csv(rD:pythoniris.csv)print(df1.head输出前

4、五行predictors=df1.columns:-1Sipal_LEngthSepal_WidthPetal_LengthPetal_WidthSpecies05.13*5IM0.2setcsa193+0IM0.2setcsa24J3*21.30.2setcsa33+l1.50.2setcsa2建立训练集和测试集7L1zr小4严rc代码如下:x_train,x_test,y_train,y_test=model_selection.train_test_split(df1predictors,df1.Species,test_size=0.5,random_state=1234)print(

5、np.ceil(npog2(df1.shapeO)3设置K值#设置待测试的不同K值K=np.arange(1,np.ceil(np.log2(df1.shape0)print(np.arange(1,np.ceil(np.log2(df1.shape0)#设置空列表,用于储存平均准确率accuracy=4.十重交叉验证K值使用十重交叉验证K值,并做出最适合K值的折线图#使用十重交叉验证的方法forkinK:cv_result=model_selection.cross_val_score(neighbors.KNeighborsClassifier(n_neighbors=int(k),wei

6、ghts=distance),x_train,y_train,cv=10,scoring=accuracy)accuracy.append(cv_result.mean()#从个平均准确率中挑选出最大值做对应的目标arg_max=np.array(accuracy).argmax()#中文负号正常显示plt.rcParamsfont.sans-serif=SimHeiplt.rcParamsaxes.unicode_minus=False#绘制不同k值与准确率之间的折线图plt.plot(K,accuracy)plt.scatter(K,accuracy)plt.text(Karg_max,a

7、ccuracyarg_max,最佳K值为%s%int(Karg_max)plt.show()进行模型拟合knn_class=neighbors.KNeighborsClassifier(n_neighbors=7,weights=distance)#模型拟合knn_class.fit(x_train,y_train)#模型在测试集上的预测predict=knn_class.predict(x_test)数.据可视化输出#构建混淆矩阵cm=pd.crosstab(predict,y_test)print(f鸢尾花种类混淆矩P$ncm)#热力图输出cm=pd.DataFrame(cm,column

8、s=setosa,versicolor,virginica,index=setosa,versicolor,virginica)sns.heatmap(cm,annot=True,cmap=GnBu)plt.xlabel(RealLable)plt.ylabel(PredictLable)plt.title(鸢尾花种类热力图)plt.show()#显示各类预测准确率b=metrics.classification_report(y_test,predict)print(f显示各类预测准确nb)1reU呵莺尾花种类热力图25-OESa)A切一qm-l4C一PTd25-5Run:knn#shiyanSpeciessetosaversicolorvirginicarow_0setosa250QversicolorQ25Qvi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论