如剛才所示,k 均值會將點指派給最近的中心點。但「最接近」是什麼意思?
如要將 k 均值套用至特徵資料,您必須定義相似度評估方式,將所有特徵資料合併為單一數值,稱為手動相似度評估方式。
請考慮鞋子資料集。如果該資料集的唯一特徵是鞋碼,您可以根據兩雙鞋子的尺寸差異,定義兩者之間的相似程度。尺碼差異的數值越小,鞋子之間的相似度就越高。
如果鞋子資料集包含兩個數值特徵 (尺寸和價格),您可以將這兩個特徵組合成一個代表相似度的數字。首先請將資料進行調整,以便比較兩個地圖項目:
- 尺寸 (s):鞋子尺寸可能會形成高斯分布。請確認這項資訊。然後將資料正規化。
- Price (p):資料可能是卜瓦松分佈。請確認這項資訊。如果您有足夠的資料,請將資料轉換為分位數,並將比例縮放至 。
接著,計算均方根誤差 (RMSE),將這兩項特徵結合。會提供這個粗略的相似度評估值。
舉例來說,假設有兩雙鞋子,分別是美國尺寸 8 和 11,價格分別是 120 和 150,由於我們沒有足夠的資料來瞭解分布情形,因此我們會在不進行標準化或使用分位數的情況下,縮放資料。
動作 | 方法 |
---|---|
調整大小。 | 假設鞋子尺寸上限為 20。將 8 和 11 除以最大大小 20,即可得到 0.4 和 0.55。 |
調整價格。 | 將 120 和 150 除以最高價格 150,即可得到 0.8 和 1。 |
找出大小差異。 | |
找出價格差異。 | |
計算 RMSE。 |
直覺來說,當特徵資料越相似,相似度評估值就會越高。相反地,相似度評估值 (RMSE) 實際上會降低。將相似度評估結果從 1 中減去,讓結果符合您的直覺。
一般來說,您可以按照「準備資料」一節的說明準備數值資料,然後使用歐幾里德距離結合資料。
如果資料集同時包含鞋子尺寸和鞋子顏色,顏色是分類資料,請參閱機器學習速成課程中的「使用分類資料」一節。類別資料較難與數值大小資料結合。可能包括:
- 單一值 (單值),例如汽車顏色 (「白色」或「藍色」,但不會同時是兩者)
- 多值 (多價),例如電影類型 (電影可以同時是「動作」和「喜劇」,或僅為「動作」)
如果單值資料相符,例如兩雙藍色鞋子的情況,範例之間的相似度為 1。否則相似度為 0。
電影類型等多值資料則較難處理。如果有固定的電影類型組合,可以使用共同值的比率計算相似度,稱為 Jaccard 相似度。Jaccard 相似度計算範例:
- [“comedy”,”action”] 和 [“comedy”,”action”] = 1
- [“comedy”,”action”] 和 [“action”] = ½
- [“comedy”,”action”] 和 [“action”, "drama"] = ⅓
- [“comedy”,”action”] 和 [“non-fiction”,”biographical”] = 0
除了雅卡德相似度,您也可以使用其他手動相似度評估方式來評估類別資料。以下提供其他兩個範例:
- 您可以先將郵遞區號轉換為經緯度,再計算兩者之間的歐氏距離。
- 顏色可轉換為數值 RGB 值,並將值差異合併為歐幾里德距離。
詳情請參閱「處理分類資料」。
一般來說,手動相似度評估必須直接對應實際相似度。如果所選指標沒有,就表示該指標並未編碼您要編碼的資訊。
請務必先仔細預先處理資料,再計算相似度評估值。本頁的範例已簡化。大多數實際資料集都龐大且複雜。如前所述,分位數是處理數值資料的理想預設選擇。
隨著資料複雜度增加,手動建立相似度評估方式的難度也會隨之提高。在這種情況下,請改用監督相似度評估方法,讓監督機器學習模型計算相似度。我們稍後會進一步討論這項功能。