KNN算法預(yù)測鳶尾花種類

? ? ? ? 學(xué)習(xí)機器學(xué)習(xí)的盆友建議首先使用這個算法來練習(xí),因為KNN算法,即K-Nearest Neighbour,K近鄰算法,可能是最簡單的機器學(xué)習(xí)算法了。而用到的數(shù)據(jù)集就是機器學(xué)習(xí)中最著名的“鳶尾花”數(shù)據(jù)集,集成在sklearn.datasets中。上碼:

#-*- coding:utf-8 -*-

from sklearn.datasets import load_iris

iris=load_iris()

print(iris.data.shape)

print(iris.DESCR)

先導(dǎo)入數(shù)據(jù),看看數(shù)據(jù)量的大小和數(shù)據(jù)集介紹。輸出如下:

有150株花的數(shù)據(jù),有四個不同的特征量。繼續(xù)上碼:

#-------數(shù)據(jù)集分割

from sklearn.cross_validation import train_test_split

X_train,X_test,y_train,y_test=train_test_split(iris.data,iris.target,test_size=0.25,random_state=33)

from sklearn.preprocessing import StandardScaler

ss=StandardScaler()

X_train=ss.fit_transform(X_train)

X_test=ss.transform(X_test)

from sklearn.neighbors import KNeighborsClassifier

KNN=KNeighborsClassifier()

KNN.fit(X_train,y_train)

y_predict=KNN.predict(X_test)

print('KNN算法的精確率為:',KNN.score(X_test,y_test))

from sklearn.metrics import classification_report

xnfx=classification_report(y_test,y_predict,target_names=iris.target_names)

print(xnfx)

性能分析如下:


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容