python運(yùn)用sklearn實(shí)現(xiàn)KNN分類(lèi)算法
KNN(K-Nearest-Neighbours Classiflication)分類(lèi)算法,供大家參考,具體內(nèi)容如下
最簡(jiǎn)單的分類(lèi)算法,易于理解和實(shí)現(xiàn)
實(shí)現(xiàn)步驟:通過(guò)選取與該點(diǎn)距離最近的k個(gè)樣本,在這k個(gè)樣本中哪一個(gè)類(lèi)別的數(shù)量多,就把k歸為哪一類(lèi)。
注意
- 該算法需要保存訓(xùn)練集的觀察值,以此判定待分類(lèi)數(shù)據(jù)屬于哪一類(lèi)
- k需要進(jìn)行自定義,一般選取k<30
- 距離一般用歐氏距離,即
通過(guò)sklearn對(duì)數(shù)據(jù)使用KNN算法進(jìn)行分類(lèi)
代碼如下:
## 導(dǎo)入鳶尾花數(shù)據(jù)集 iris = datasets.load_iris() data = iris.data[:, :2] target = iris.target ## 區(qū)分訓(xùn)練集和測(cè)試集,75%的訓(xùn)練集和25%的測(cè)試集 train_data, test_data = train_test_split(np.c_[data, target]) ## 訓(xùn)練并預(yù)測(cè),其中選取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é)果如下:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用python-pptx創(chuàng)建PPT演示文檔功能實(shí)踐
這篇文章主要介紹了使用python-pptx創(chuàng)建PPT演示文檔功能實(shí)踐,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06python畫(huà)蝴蝶曲線(xiàn)圖的實(shí)例
今天小編就為大家分享一篇python畫(huà)蝴蝶曲線(xiàn)圖的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11Windows10下Tensorflow2.0 安裝及環(huán)境配置教程(圖文)
這篇文章主要介紹了Windows10下Tensorflow2.0 安裝及環(huán)境配置教程(圖文),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11關(guān)于python類(lèi)SortedList詳解
這篇文章主要介紹了關(guān)于python類(lèi)SortedList詳解,可以幫大家鞏固一下python類(lèi)的基礎(chǔ)知識(shí),有需要的朋友可以借鑒參考下,希望可以對(duì)廣大讀者有所幫助2021-09-09Python使用sigthief簽發(fā)證書(shū)的實(shí)現(xiàn)步驟
Windows 系統(tǒng)中的一些非常重要文件通常會(huì)被添加數(shù)字簽名,其目的是用來(lái)防止被篡改,能確保用戶(hù)通過(guò)互聯(lián)網(wǎng)下載時(shí)能確信此代碼沒(méi)有被非法篡改和來(lái)源可信,從而保護(hù)了代碼的完整性、保護(hù)了用戶(hù)不會(huì)被病毒、惡意代碼和間諜軟件所侵害,本章將演示證書(shū)的簽發(fā)與偽造2021-06-06