? ? ? ? 學習機器學習的盆友建議首先使用這個算法來練習,因為KNN算法,即K-Nearest Neighbour,K近鄰算法,可能是最簡單的機器學習算法了。而用到的數據集就是機器學習中最著名的“鳶尾花”數據集,集成在sklearn.datasets中。上碼:
#-*- coding:utf-8 -*-
from sklearn.datasets import load_iris
iris=load_iris()
print(iris.data.shape)
print(iris.DESCR)
先導入數據,看看數據量的大小和數據集介紹。輸出如下:
有150株花的數據,有四個不同的特征量。繼續上碼:
#-------數據集分割
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)
性能分析如下: