K-Means在Python中的实现

时间:2016-06-10 15:00:17

标签: python machine-learning scikit-learn computer-science k-means

在Python中实现我自己的K-means算法或在Python库中使用预先实现的K-mean算法更好,例如Scikit-Learn?

1 个答案:

答案 0 :(得分:1)

在回答哪个更好之前,这里有一个快速提醒算法:

  1. "选择"群集的数量 K
  2. 发起第一个质心
  3. 对于每个点,找到最近的质心 根据距离函数 D
  4. 当所有点都归属于群集时,计算成为其新质心的群集的重心
  5. 重复步骤3.和步骤4.直到收敛
  6. 如前所述,算法取决于各种参数:

    • 群集数量
    • 您的初始质心位置
    • 计算任意点与质心之间距离的距离函数
    • 计算每个新集群的重心的函​​数
    • 收敛指标
    • ...

    如果您不熟悉上述任何一项,并且您想了解每个参数的作用,我建议在低维数据集上重新实现它。此外,实现的Python库可能不符合您的特定要求 - 即使它们提供了良好的调整可能性。

    如果你的观点是快速使用它,并且能够全面了解,你可以使用现有的实现 - scikit-learn将是一个不错的选择。