什麼是k均值聚類?

用k-means算法進行數據挖掘

k-均值聚類算法是一種數據挖掘和機器學習工具,用於將觀測聚類為相關觀測組,而無需事先了解這些關係。 通過採樣,算法試圖顯示數據屬於哪個類別或簇,其中簇的數量由值k定義

k-均值算法是最簡單的聚類技術之一,它通常用於醫學成像,生物識別和相關領域。 k-均值聚類的優勢在於它能夠告訴你的數據(使用它的無監督形式),而不必在開始時指示算法關於數據(使用監督形式的算法)。

它有時被稱為Lloyd算法,特別是在計算機科學界,因為標準算法是由Stuart Lloyd於1957年首先提出的。術語“k-means”是由James McQueen於1967年創造的。

k-means算法的功能如何

k-均值算法是一種演化算法,從其操作方法中得名。 該算法將觀測聚類為k個組,其中k作為輸入參數提供。 然後根據觀測值與簇的平均值的接近度將每個觀測值分配給簇。 然後重新計算群集的意思,並重新開始該過程。 算法的工作原理如下:

  1. 該算法任意選擇k個點作為初始聚類中心(手段)。
  2. 根據每個點與每個聚類中心之間的歐幾里德距離,將數據集中的每個點分配給封閉聚類。
  3. 每個聚類中心重新計算為該聚類中點的平均值。
  4. 重複步驟2和步驟3,直到聚類收斂。 根據實現的不同,收斂的定義可能會有所不同,但通常意味著在重複步驟2和3時沒有觀察結果會改變聚類,或者這些改變不會對聚類的定義產生重大影響。

選擇群集數量

k- means聚類的一個主要缺點是必須指定聚類數作為算法的輸入。 按照設計,該算法無法確定合適的聚類數量,並取決於用戶提前識別此數量。

例如,如果你有一群根據二進制性別認同為男性或女性的人群,那麼使用輸入k = 3調用k- means算法將會迫使人們在只有兩個或三個k = 2的輸入將提供更自然的適配。

同樣,如果一組個體很容易根據歸屬狀態進行聚類,並將輸入k = 20稱為k-均值算法則結果可能過於普遍而無法有效。

出於這個原因,嘗試使用不同的k值來確定最適合您數據的值通常是一個好主意。 您也可能希望在探索機器學習知識時探索使用其他數據挖掘算法