講人話就是從所有資料當中亂數選擇K個中心點,把個別資料依照最近的中心點分成K群,將每群的平均值當成新K個中心點,再分成K群,最終資料會收斂成K個彼此接近的群體。
"物以類聚,人以群分",K平均演算法是屬於非監督學習的一種,主要用於分群,要如何知道K值的起始值(隨機給予的中心點)?使用K-means++,會讓起始值盡量保持較遠的距離,加快收斂的速度。要如何選擇K值?假如能很明確知道要分成幾類,K值就很容易選擇了,假如不明確的話,網路上應該有方法(我沒查)。要如何選擇合適的距離計算方式?只要你覺得合理幾乎都可以用(好像有講跟沒講一樣)。
優點:
速度快且易解釋。
資料已排除極端值,結果較不易受到影響。
資料皆為數值型。
樣本規模差異不大。