python使用欧氏距离knn_python运用sklearn实现KNN分类算法
KNN(K-Nearest-Neighbours Classiflication)分類算法,供大家參考,具體內容如下
最簡單的分類算法,易于理解和實現
實現步驟:通過選取與該點距離最近的k個樣本,在這k個樣本中哪一個類別的數量多,就把k歸為哪一類。
注意
該算法需要保存訓練集的觀察值,以此判定待分類數據屬于哪一類
k需要進行自定義,一般選取k<30
距離一般用歐氏距離,即?
通過sklearn對數據使用KNN算法進行分類
代碼如下:
## 導入鳶尾花數據集
iris = datasets.load_iris()
data = iris.data[:, :2]
target = iris.target
## 區分訓練集和測試集,75%的訓練集和25%的測試集
train_data, test_data = train_test_split(np.c_[data, target])
## 訓練并預測,其中選取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()
結果如下:
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持愛蒂網。
總結
以上是生活随笔為你收集整理的python使用欧氏距离knn_python运用sklearn实现KNN分类算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 股票账户里没有钱可以申购新股吗?
- 下一篇: 电脑待机是什么意思(电脑待机,休眠等模式