1. 程式人生 > >Python機器學習(基礎篇---監督學習(k近鄰))

Python機器學習(基礎篇---監督學習(k近鄰))

print 隨機 targe n) sta 數據集 訓練 說明 決策

K近鄰

假設我們有一些攜帶分類標記的訓練樣本,分布於特征空間中,對於一個待分類的測試樣本點,未知其類別,按照‘近朱者赤近墨者黑’,我們需要尋找與這個待分類的樣本在特征空間中距離最近的k個已標記樣本作為參考,幫助我們最初分類決策。

#從sklearn.datasets導入iris數據加載器

from sklearn.datasets import load_iris

iris=load_iris()

print(iris.data.shape)#(150, 4)

#查看數據說明

print(iris.DESCR)

#對iris數據集進行分割

from sklearn.cross_validation import train_test_split

#隨機采樣25%的數據用於測試,剩下的75%用於構建訓練集合

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

#使用k近鄰分類器對iris數據進行類別預測

#從sklearn.preprocessing裏導入StandardScaler數據標準化模塊

from sklearn.preprocessing import StandardScaler

from sklearn.neighbors import KNeighborsClassifier

ss=StandardScaler()

X_train=ss.fit_transform(X_train)

X_test=ss.fit_transform(X_test)

knc=KNeighborsClassifier()

knc.fit(X_train,y_train)

y_predict=knc.predict(X_test)

print(‘The Accuracy of K-Nearest Neighbor Classifier is‘,knc.score(X_test,y_test))

#從sklearn.metrics裏導入classification_report模塊

from sklearn.metrics import classification_report

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

Python機器學習(基礎篇---監督學習(k近鄰))