0

在Python中實現我自己的K-means算法還是在Python庫中使用預先實現的K均值算法比如Scikit-Learn更好?Python中的K-Means實現

+7

取決於你如何定義「更好」。圖書館版本幾乎肯定會更有效率,但你可以自己學習很多東西。 – River

回答

1

應答,這是更好之前,這裏是算法的快速提醒:

  1. 「選擇」集羣的數量ķ
  2. 啓動您的第一重心
  3. 對於每個點,根據距離函數D
  4. 當所有點都歸結爲一個集羣,計算重心這成爲其新的重心集羣
  5. 重複步驟3和步驟4,直到收斂

如前所述,在強調算法取決於各種參數:

  • 集羣的數量
  • 您最初的重心位置
  • 的距離函數來計算任意點和重心
  • 之間距離的函數來計算每個新集羣
  • 甲收斂度量
  • 的重心...

如果以上的對你來說是熟悉的,你想了解每個參數的作用,我會建議在低維數據集上重新實現它。而且,實現的Python庫可能不符合您的特定要求 - 即使它們提供了良好的調整可能性。

如果您的觀點是快速使用它,並可以使用現有的實現 - scikit-learn將是一個不錯的選擇。