聚類的核心是相似度或距離,聚類分析中有多種計算距離和相似度的定義;
閔可夫斯基距離:
d = [ σ(xi - xj)^p ] ^(1/p) p為大於1的數
python實現為:
import numpy as np
dt = np.random.rand(10)
.reshape(2,
5)minkow_len =
0p =
10#可自行定義
for j in
range
(len
(dt[0]
)): minkow_len += np.power(
(dt[0]
[j]- dt[1]
[j])
,p)minkow_len = np.power(minkow_len,
1/p)
當p = 2時即為歐式距離;
當p=1時,為曼哈頓距離
當p趨向無窮時,即為切比雪夫距離
馬哈拉諾比斯距離簡稱馬氏距離:
d = (xi - xj)^t * σ ^-1 * (xi - xj)
python實現:
import numpy as np
dt = np.random.rand(10)
.reshape(2,
5)a =(dt.t[0]
-dt.t[1]
)b = np.linalg.inv(np.cov(dt)
)c = a.t
maha_len = np.dot(np.dot(a,b)
,c)
k均值聚類:
k均值聚類是將所有樣本點劃分到k個子集中去,有k個中心,每個樣本點到所屬的類的中心距離最小;
k均值聚類是乙個迭代的過程,
第一步是選擇k個中心,計算每個樣本點到每個中心的距離,將每個樣本點劃分到最近的類中;
第二是更新每個類的中心,重複第一步,直至聚類點不再發生變化
k均值的優點是:演算法可以快速實現,聚類速度較快;
缺點是:k個數的確定,可以先通過業務需求確認,如無可通過肘部函式大致確定
初始聚類中心的選擇,初始點的選擇會對聚類結果有較大影響;
python sklearn簡單實現:
機器學習 K means聚類分析
1.k means聚類演算法原理 1 先丟擲乙個情景問題 航空公司怎麼樣對客戶分群,區分 值客戶 無價值客戶等,對不同的客戶群體實施個性化的營銷策略,實現利潤最大化?對於該類情景題,可使用聚類分析方法。2 聚類分析相關概念 在沒有給定劃分類別的情況下,根據資料的相似度進行分組的一種方法,分組的原則是...
資料科學之機器學習10 聚類分析1
note 聚類的劃分 根據分類物件的不同,可以分為 q型聚類分析和r型聚類分析。q型是指對樣品物件進行聚類 而r型則是對變數 屬性 進行聚類。一 相似性的度量 除了使用有序尺度變數 將屬性劃分為一級 二級等等的有次序關係的量來表示 和名義尺度變數 使用既沒有等級關係,又不存在數量關係的量來表示。比如...
聚類分析學習
聚類是非監督學習的一種形式,它將乙個觀測集 即資料點 按相似度的大小進行分類,將最相似的資料點劃分在一類。1 聚類分析含義 聚類分析是將個體或物件分類,使得同一類中的物件之間的相似性比與其他類的物件的相似性更強。其目的在於使類間物件的同質性最大化和類與類間物件的異質性最大化。簡單說來,聚類分析就是把...