如上圖所示,k-means 會將分數指派給最接近的群集。但用途 「最近」意思是什麼?
如要將 k-means 套用至功能資料,您需要定義 將所有特徵資料合併成單一數值 稱為手動相似度措施。
以鞋類資料集為例,如果資料集包含鞋子大小做為唯一的特徵 您可以根據之間的差異 大小兩個大小之間的數值差異越小, 找出不同鞋款的相似度
如果鞋類資料集包含兩個數值特徵、尺寸及價格 轉換為單一數字,代表相似度首先要調度資料 這兩項功能可以比較:
- 尺寸 (秒):鞋子尺寸可能形成高斯分佈。請確認。 接著,請將資料正規化。
- 價格 (p):資料可能為帕松分佈。請確認。如果發生以下情況: 累積足夠的資料,請將資料轉換為分位數,並將規模調整為 \([0,1]\)。
接下來,計算 均方根誤差 (RMSE)。 這種概略的相似度測量值是由 \(\sqrt{\frac{(s_i - s_j)^2+(p_i - p_j)^2}{2}}\)。
舉個簡單的例子,您可以計算兩鞋在美國尺寸的相似度 8 和 11,價格為 120 和 150。我們沒有足夠的資料可以解讀 分佈式資料,在不正規化或使用 分位數
動作 | 方法 |
---|---|
縮放大小。 | 假設鞋店的尺寸上限為 20。將 8 和 11 除以 因此上限為 20,可取得 0.4 和 0.55。 |
調整價格。 | 將 120 和 150 除以最高價格 150,即得到 0.8 和 1。 |
找出大小差異。 | \(0.55 - 0.4 = 0.15\) |
找出價差。 | \(1 - 0.8 = 0.2\) |
計算均方根誤差。 | \(\sqrt{\frac{0.2^2+0.15^2}{2}} = 0.17\) |
理論上,如果特徵資料越多,相似度量便會增加 反之,您的相似度測量 (RMSE) 實際上會下降。自訂 相似度度量 則是從 1 減去
\[\text{Similarity} = 1 - 0.17 = 0.83\]
一般來說,您可以準備數值資料 準備資料,然後 透過歐里德距離達成資料目標
如果資料集同時包含鞋子尺寸和鞋款顏色,該怎麼辦?顏色為 類別型資料、 使用類別型資料。 類別型資料較難與數值大小資料合併。可能的狀態包括:
- 單值 (單值),例如汽車顏色 (「白色」或「藍色」,但絕不會是零) 兩者皆是)
- 多值 (多重值),例如電影類型 (電影也可以同時包含) 「action」及「喜劇」或只含「action」)
如果單一資料相符,例如以兩雙藍色鞋子為例 兩個範例之間的相似度為 1否則相似度為 0。
同時處理多種資料 (例如電影類型) 會較難處理。如果有 固定的電影類型組合,可用來計算相似度 共同值稱為 Jaccard 相似性。範例 Jaccard 相似度的計算方式:
- [“comedy”,"action”] 和 [“comedy”,"action”] = 1
- [「喜劇」、動作] 和 [「動作」] = 1⁄2
- [「喜劇」、動作] 和 [「動作」、「劇情」] = 1⁄3
- [「喜劇」、「動作」] 和 [「非虛構」,簡介」] = 0
Jaccard 相似度並不是手動的相似度指標 分類型資料另外兩個例子:
- 您可將郵遞區號轉換成經緯度 計算歐數之間的距離。
- 可將顏色轉換成 RGB 值,但兩者的差異 加總的值
請參閱「使用類別型資料」一文。 瞭解詳情。
一般來說,手動相似度測量指標必須直接對應 達到實際的相似度如果所選指標沒有編碼,系統不會將 要編碼的資訊類型
計算相似度測量結果前,請謹慎預先處理資料。 本頁中的範例都經過簡化。現實生活中的資料集都很龐大 複雜的提示和複雜問題如先前所述,分位數是不錯的預設選擇 來處理數字資料
隨著資料複雜性增加,手動建立 相似度衡量在這種情況下,請切換為 監督式相似度測量 機器學習模型會計算相似度這稍後會詳細說明