python運用sklearn實現(xiàn)KNN分類算法
更新時間:2019年10月16日 11:58:18 作者:Sarah Huang
這篇文章主要為大家詳細(xì)介紹了python運用sklearn實現(xiàn)KNN分類算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
KNN(K-Nearest-Neighbours Classiflication)分類算法,供大家參考,具體內(nèi)容如下
最簡單的分類算法,易于理解和實現(xiàn)
實現(xiàn)步驟:通過選取與該點距離最近的k個樣本,在這k個樣本中哪一個類別的數(shù)量多,就把k歸為哪一類。
注意
- 該算法需要保存訓(xùn)練集的觀察值,以此判定待分類數(shù)據(jù)屬于哪一類
- k需要進行自定義,一般選取k<30
- 距離一般用歐氏距離,即

通過sklearn對數(shù)據(jù)使用KNN算法進行分類
代碼如下:
## 導(dǎo)入鳶尾花數(shù)據(jù)集 iris = datasets.load_iris() data = iris.data[:, :2] target = iris.target ## 區(qū)分訓(xùn)練集和測試集,75%的訓(xùn)練集和25%的測試集 train_data, test_data = train_test_split(np.c_[data, target]) ## 訓(xùn)練并預(yù)測,其中選取k=15 clf = neighbors.KNeighborsClassifier(15, 'distance') clf.fit(train_data[:, :2], train_data[:, 2]) Z = clf.predict(test_data[:, :2]) print '準(zhǔn)確率:' ,clf.score(test_data[:, :2], test_data[:, 2]) colormap = dict(zip(np.unique(target), sns.color_palette()[:3])) plt.scatter(train_data[:, 0], train_data[:, 1], edgecolors=[colormap[x] for x in train_data[:, 2]],c='', s=80, label='all_data') plt.scatter(test_data[:, 0], test_data[:, 1], marker='^', color=[colormap[x] for x in Z], s=20, label='test_data') plt.legend() plt.show()
結(jié)果如下:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python將xml和xsl轉(zhuǎn)換為html的方法
這篇文章主要介紹了Python將xml和xsl轉(zhuǎn)換為html的方法,實例分析了使用libxml2模塊操作xml和xsl轉(zhuǎn)換為html的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03
Python運維之獲取系統(tǒng)CPU信息的實現(xiàn)方法
今天小編就為大家分享一篇Python運維之獲取系統(tǒng)CPU信息的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06
python中的內(nèi)置函數(shù)getattr()介紹及示例
其實getattr()這個方法最主要的作用是實現(xiàn)反射機制。也就是說可以通過字符串獲取方法實例。這樣,你就可以把一個類可能要調(diào)用的方法放在配置文件里,在需要的時候動態(tài)加載。2014-07-07

