python運用sklearn實現(xiàn)KNN分類算法
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 '準確率:' ,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-pptx創(chuàng)建PPT演示文檔功能實踐
這篇文章主要介紹了使用python-pptx創(chuàng)建PPT演示文檔功能實踐,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06Windows10下Tensorflow2.0 安裝及環(huán)境配置教程(圖文)
這篇文章主要介紹了Windows10下Tensorflow2.0 安裝及環(huán)境配置教程(圖文),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11Python使用sigthief簽發(fā)證書的實現(xiàn)步驟
Windows 系統(tǒng)中的一些非常重要文件通常會被添加數(shù)字簽名,其目的是用來防止被篡改,能確保用戶通過互聯(lián)網(wǎng)下載時能確信此代碼沒有被非法篡改和來源可信,從而保護了代碼的完整性、保護了用戶不會被病毒、惡意代碼和間諜軟件所侵害,本章將演示證書的簽發(fā)與偽造2021-06-06