【问题标题】:'numpy.ndarray' or 'DataFrame' object has no attribute 'cluster_centers_'“numpy.ndarray”或“DataFrame”对象没有属性“cluster_centers_”
【发布时间】:2020-01-11 00:45:54
【问题描述】:

我有一个数据框X

               A       B
        1226   11      22
    0   1227   33      44
        1228   55      66
        ...    ...     ...
        1338   12      13
   15   1338   14      15
        1339   16      17

A 试图找到簇的中心:

clustering = AffinityPropagation().fit(X)
aa = X.loc[0]   
aa.cluster_centers_

它给了我以下错误:

'DataFrame' object has no attribute 'cluster_centers_'

即使在 aa.values 之后它也给了我:

'numpy.ndarray' object has no attribute 'cluster_centers_'

Sourse

【问题讨论】:

  • clustering.cluster_centers_ 怎么样?

标签: python pandas numpy scikit-learn cluster-analysis


【解决方案1】:

您尝试在数据框的第一个元素上调用 cluster_centers_,而您当然应该在您定义的 clustering 变量上调用它,如下所示:clustering.cluster_centers_ 您不能调用 cluster_centers_对数据框元素的函数。

【讨论】:

  • 感谢。但有一件事。我根据distance matrix 进行了聚类。然后我计算了包含在这个距离矩阵中的元素(在我的例子中,距离矩阵 a 得到了我的“出租车车 id”)。那么,我应该根据这个矩阵计算聚类中心还是应该找到出租车中心(经纬度)?
  • 完全取决于您要如何定义集群。你想找到出租车的中心,还是组合在一起的出租车车的集群?顺便说一句,请不要在 cmets 中提出新问题,否则帖子会变得非常混乱。如果您仍然卡住,请提出一个新问题。
  • 我提出了新问题。但你是对的,我需要明白我想要什么。谢谢。应该删除这些 cmets 吗?
  • 如果以下答案之一解决了您的问题,您应该接受它(单击相应答案旁边的复选标记)。这有两件事。它让每个人都知道您的问题已得到您满意的解决,并为帮助您的人提供帮助。 See here 以获得完整的解释。
猜你喜欢
  • 1970-01-01
  • 2023-03-24
  • 2023-02-23
  • 2020-09-22
  • 2020-02-21
  • 2020-12-08
  • 2019-12-10
  • 2017-07-10
  • 2020-05-10
相关资源
最近更新 更多