k_means和KNN

這裏寫圖片描述
(摘自參考鏈接1)

k_means算法流程:

(1)隨機選擇K個點作爲每個類的初始質心;
(2)在數據集中選擇一個樣本,計算其與每個類質心的距離,然後將該樣本歸到距離最短的那個中心所在的類。 重複此操作,直到所有樣本全部歸好類;
(3)利用均值等方法更新各個類的質心;
(4)重複(2)(3)步,直到某次的質心與上一次迭代的質心重合爲止。

python實現:

python sklearn:

from sklearn import datasets
from sklearn.cluster import KMeans

iris = datasets.load_iris()
print(dir(iris))
print(iris.target)

model = KMeans(n_clusters=3)
model.fit(iris.data)
all_preditions = model.predict(iris.data)
print(all_preditions)
#效果好差啊

KNN算法流程:

(1)計算測試數據與各個訓練數據之間的距離;

(2)按照距離的遞增關係進行排序;

(3)選取距離最小的K個點;

(4)確定前K個點所在類別的出現頻率;

(5)返回前K個點中出現頻率最高的類別作爲測試數據的預測分類。

python實現:

參考:
KNN算法理解與實現
機器學習之深入理解K-means、與KNN算法區別及其代碼實現

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章