python進(jìn)行KNN算法分析實(shí)戰(zhàn)(鳶尾花數(shù)據(jù)集)_第1頁(yè)
python進(jìn)行KNN算法分析實(shí)戰(zhàn)(鳶尾花數(shù)據(jù)集)_第2頁(yè)
python進(jìn)行KNN算法分析實(shí)戰(zhàn)(鳶尾花數(shù)據(jù)集)_第3頁(yè)
python進(jìn)行KNN算法分析實(shí)戰(zhàn)(鳶尾花數(shù)據(jù)集)_第4頁(yè)
python進(jìn)行KNN算法分析實(shí)戰(zhàn)(鳶尾花數(shù)據(jù)集)_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、python進(jìn)行KNN算法分析實(shí)戰(zhàn)(鳶尾花數(shù)據(jù)集)算法分析實(shí)戰(zhàn)(鳶尾花數(shù)據(jù)集)目錄代碼效果圖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.聲尾花種類(lèi)混淆邸a氷

2、:Figure1鶯尾花種類(lèi)熱力圖2500o25000251setosa1versicolorRealLablevirginicaxl丄C=叭o252015-10-5-0Run:knn#shiyant鶯尾花種類(lèi)混淆矩陣Speciessetosaversicolorvirginicarow_0setosa25001versicolor6250avirginica6D25rw顯示各類(lèi)預(yù)測(cè)準(zhǔn)確率1*1precisionrecallfl-scores叩portIsetosaL00UOL0D25versicolorL00uoL0D25virginicaL00uoL0D25提示:以下是本篇文章正文內(nèi)容,下厚

3、案例可供參考L0D75導(dǎo)入需要的包。世L00L00L0D75要是報(bào)錯(cuò)的話(huà)可以在占伸rm安裝包,要是不行就在命令窗口輸1入pipinstall+包名importmatplotlib.pyplotaspitfromsklearnimportneighborsimportnumpyasnpimportpandasaspdimportseabornassnsfromsklearnimportmodel_selectionfromsklearnimportmetrics1導(dǎo)入數(shù)據(jù)導(dǎo)入數(shù)據(jù)并查看前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建立訓(xùn)練集和測(cè)試集7L1zr小4嚴(yán)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設(shè)置K值#設(shè)置待測(cè)試的不同K值K=np.arange(1,np.ceil(np.log2(df1.shape0)print(np.arange(1,np.ceil(np.log2(df1.shape0)#設(shè)置空列表,用于儲(chǔ)存平均準(zhǔn)確率accuracy=4.十重交叉驗(yàn)證K值使用十重交叉驗(yàn)證K值,并做出最適合K值的折線圖#使用十重交叉驗(yàn)證的方法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()#從個(gè)平均準(zhǔn)確率中挑選出最大值做對(duì)應(yīng)的目標(biāo)arg_max=np.array(accuracy).argmax()#中文負(fù)號(hào)正常顯示plt.rcParamsfont.sans-serif=SimHeiplt.rcParamsaxes.unicode_minus=False#繪制不同k值與準(zhǔn)確率之間的折線圖plt.plot(K,accuracy)plt.scatter(K,accuracy)plt.text(Karg_max,a

7、ccuracyarg_max,最佳K值為%s%int(Karg_max)plt.show()進(jìn)行模型擬合knn_class=neighbors.KNeighborsClassifier(n_neighbors=7,weights=distance)#模型擬合knn_class.fit(x_train,y_train)#模型在測(cè)試集上的預(yù)測(cè)predict=knn_class.predict(x_test)數(shù).據(jù)可視化輸出#構(gòu)建混淆矩陣cm=pd.crosstab(predict,y_test)print(f鳶尾花種類(lèi)混淆矩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(鳶尾花種類(lèi)熱力圖)plt.show()#顯示各類(lèi)預(yù)測(cè)準(zhǔn)確率b=metrics.classification_report(y_test,predict)print(f顯示各類(lèi)預(yù)測(cè)準(zhǔn)確nb)1reU呵鶯尾花種類(lèi)熱力圖25-OESa)A切一qm-l4C一PTd25-5Run:knn#shiyanSpeciessetosaversicolorvirginicarow_0setosa250QversicolorQ25Qvi

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論