一、介紹
1、k-means屬於無監督學習,主要解決聚類問題。
2、k-means需要提前設定引數k,這個值最終要生成k個簇,也就是聚類生成的類別的數量。使用k-means演算法將乙個資料歸入到k個集群中。
3、k-means演算法適用於數值型資料,在資料探勘領域中有廣泛的應用。
二、原理
隨機確定k個初始點作為質心,然後將資料集中的每個點分配到乙個簇中。具體來說:(1)為每個點找距其最近的質心,並將其分配給該質心所對應的簇。(2)然後,每個簇的質心更新為該簇所有點的平均值,按照:計算質心》分配》重新計算反覆迭代,直到所有資料點的簇分配結果不再改變為止。
三、求倆點之間的距離
常用的求向量間的距離的方法有
歐式距離(euclidean distance):
曼哈頓距離(manhattan distance):
余弦夾角:
余弦夾角範圍是[-1,1],
機器學習演算法之Kmeans演算法(K均值演算法)
kmeans演算法是典型的基於距離的聚類演算法,採用距離作為相似性的評價指標,即認為兩個物件的距離越近,其相似度就越大。該演算法認為簇是由距離靠近的物件組成的,因此把得到緊湊且獨立的簇作為最終目標。兩個樣本在歐式空間中的距離 引入新概念 cluster 表示乙個簇 centroid 表示當前簇的中心...
機器學習第六回 無監督學習 K 均值演算法
k 均值是最普及的聚類演算法,演算法接受乙個未標記的資料集,然後將資料聚類成不同的組。k 均值是乙個迭代演算法,假設我們想要將資料聚類成 n 個組,其流程為 選擇?個隨機的點,稱為聚類中心 cluster centroids 對於資料集中的每乙個資料,按照距離?個中心點的距離,將其與距離最近的中心點...
機器學習實戰 K 均值學習筆記
k 均值 因為可以發現k個不同的簇,且每個簇的中心採用簇中所含的均值計算而成。聚類和分類的區別 最大的區別在於,分類的目標事先已知,而聚類的不一樣,其產生的結果和分類相同,但是類別沒有預先定義,因此聚類有時候也被稱為無監督分類 如下 from numpy import def loaddataset...