kmeans演算法的缺陷:
1.聚類中心的數量k需要事先給定,但在實際中這個k值的選定是非常難以進行估計的,很多時候,事先並不知道給定的資料集應該分成多少個類別才更合適。
2.kmeans需要初始化聚類中心,不同的初始聚類中心可能導致完全不同的聚類效果。
針對第2個缺陷,可以使用kmeans++演算法來解決。
knn
knn本質上是基於一種資料統計的方法!其實很多機器學習演算法也是基於資料統計的。
kmeans++
kmeans選取初始聚類中心的基本思想就是:初始的聚類中心之間的相互距離要盡可能遠。
1.從輸入的資料點集合中隨機選擇乙個點作為第乙個聚類中心;
2.對於資料集中的每乙個點x,計算它與最近聚類中心(指已選擇的聚類中心)的距離d(x);
3.選擇乙個新的資料點作為新的聚類中心,選擇的原則是:d(x)較大的點,被選取作為聚類中心的概率較大;
4.重複2和3直到k個聚類中心被選出來;
5.利用這k個初始的聚類中心來執行標準的k-means演算法;
knn常見距離計算方法:
Kmeans演算法與KNN演算法的區別
首先明確一點knn與kmeans的演算法的區別 1.knn演算法是分類演算法,分類演算法肯定是需要有學習語料,然後通過學習語料的學習之後的模板來匹配我們的測試語料集,將測試語料集合進行按照預先學習的語料模板來分類 2kmeans演算法是聚類演算法,聚類演算法與分類演算法最大的區別是聚類演算法沒有學習...
Kmeans演算法與KNN演算法的區別
最近研究資料探勘的相關知識,總是搞混一些演算法之間的關聯,俗話說好記性不如爛筆頭,還是記下了以備不時之需。首先明確一點knn與kmeans的演算法的區別 1.knn演算法是分類演算法,分類演算法肯定是需要有學習語料,然後通過學習語料的學習之後的模板來匹配我們的測試語料集,將測試語料集合進行按照預先學...
KNN 與 K Means 演算法比較
knn k means 1.分類演算法 聚類演算法 2.監督學習 非監督學習 3.資料型別 餵給它的資料集是帶label的資料,已經是完全正確的資料 餵給它的資料集是無label的資料,是雜亂無章的,經過聚類後才變得有點順序,先無序,後有序 4.訓練過程 沒有明顯的前期訓練過程,屬於memory b...