資料探勘-K-近鄰分類器-Iris資料集分析-使用K-近鄰分類器進行分類預測(四)
阿新 • • 發佈:2019-01-09
# coding: utf-8 #使用 scikit-learn庫的K-近鄰分類器完成分類 #1. 首先將資料集中的資料進行打亂 #2. 將資料分為訓練集和測試集兩部分 #3. 使用 k-means分類器進行分類訓練,得到預測模型 #4. 使用模型對測試集進行測試,並與真實結果進行比較,計算錯誤率 import numpy as np from sklearn import datasets np.random.seed(0) iris=datasets.load_iris() x=iris.data y=iris.target #打亂資料集中的所有資料 # permutation函式: 隨機排列 https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.permutation.html i=np.random.permutation(len(iris.data)) #訓練集: 取出打亂後的前140條資料 x_train=x[i[:-40]] #前110條資料 y_train=y[i[:-40]] #前110條資料對應的花的型別 #輸出x_train, y_train #x_train #y_train #測試集 x_test=x[i[-40:]] #最後40條資料 y_test=y[i[-40:]] #最後40條資料對應的花的型別 #使用k-近鄰演算法 引入kneighborsClassifier分類器,再使用fit()來訓練 from sklearn.neighbors import KNeighborsClassifier # KneighborsClassifier引數詳解: http://blog.csdn.net/helloworld6746/article/details/50817427 # http://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsClassifier.html knn=KNeighborsClassifier() #使用建構函式建立分類器 knn.fit(x_train,y_train) #呼叫fit方法訓練分類器,得到預測模型 #下面使用這個模型進行預測 y_predicted=knn.predict( x_test ) #對比標準結果 y_test #計算正確率 accuracy=np.mean( y_predicted==y_test)*100 print(u"模型正確率為:{:.1f}%".format( accuracy)) # 95%