機器學習進階 第二節 第八課

我是小白呀發表於2020-12-18

k-means 案例分析

概述

手寫數字資料上 K-means 聚類的演示.

程式碼

from sklearn.datasets import load_digits
from sklearn.metrics import silhouette_score
from sklearn.cluster import KMeans


def kmeans():
    """
    手寫數字聚類過程
    :return: None
    """

    # 載入資料
    ld = load_digits()
    print(ld.target[:20])

    # 聚類
    km = KMeans(n_clusters=810)
    km.fit_transform(ld.data)
    print(km.labels_[:20])
    print(silhouette_score(ld.data, km.labels_))

    return None


if __name__ == "__main__":
    kmeans()

輸出結果:
[0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9]
[ 86 560 289 515 168 682  42 413 514 400 767 398 759  40 781 784 485 686
  65 161]
0.0943724480183965

相關文章