【问题标题】:K Means Cluster Update AssignmentK 表示集群更新分配
【发布时间】:2020-11-29 07:29:52
【问题描述】:

我正在运行 python 3 并正在实现一个 K 均值集群文件。我已经为欧几里德距离编写了函数,并分配了数据。现在我想更新分配并编写一个函数,该函数返回一个新字典,其值是质心键名,值是属于质心的点列表。

def update_assignment(data, centroids):

我知道我需要重用之前创建的 assign_data 函数。我想在不使用 numpy 的情况下做到这一点,但我完全被卡住了。寻找建议。我是否需要再次遍历数据并有一个比较先前距离的if 语句?似乎我不需要调用以前的距离,因为我已经为它创建了一个函数。任何帮助将不胜感激。

【问题讨论】:

    标签: python k-means


    【解决方案1】:

    是的,您需要遍历数据。初始化一个字典,其中每个质心都映射到一个空列表。然后对于每个数据点x,您可以使用列表推导来查找到每个质心的距离,例如:

    [euclidean_distance(x, c) for c in centroids]

    此列表中最小元素的索引标识新质心。然后您可以将x 附加到该字典中的相应列表中。

    【讨论】:

      猜你喜欢
      • 2018-09-26
      • 2017-06-09
      • 1970-01-01
      • 2015-06-01
      • 1970-01-01
      • 2012-11-12
      • 1970-01-01
      • 2012-05-17
      • 2012-07-22
      相关资源
      最近更新 更多