【问题标题】:Clustering performance evaluation(Davies-Bouldin Index) error聚类性能评估(Davies-Bouldin Index)错误
【发布时间】:2022-08-19 23:24:39
【问题描述】:

我正在尝试使用各种聚类性能评估方法找出最佳聚类数。我将我的数据循环并运行 DBA k-means。我得到了肘部和轮廓结果,但邓恩指数显示错误。下面是代码:

inertias = []
silhouette = []
davies_bouldin = []
clusters_range = range(1, 10)
    
for K in clusters_range:
        dba_km = TimeSeriesKMeans(n_clusters=K,
                          n_init=2,
                          metric=\"dtw\",
                          verbose=True,
                          max_iter_barycenter=10,
                          random_state=seed)
        y_pred = dba_km.fit_predict(scaled_ts)
        
        
        
        inertias.append(dba_km.inertia_)
        
        if K > 1:
            silhouette.append(silhouette_score(scaled_ts, dba_km.labels_))
            
            davies_bouldin.append(davies_bouldin_score(scaled_ts, dba_km.labels_))

错误显示在davies_bouldin.append 行:

TypeError: \'list\' object is not callable.
  • 无法重现。你确定这正是你的代码吗?没有进一步的变化?
  • 抱歉,发生了一些变化。把这两行放在最上面@Roim seed = 0 np.random.seed(seed)

标签: python scikit-learn cluster-analysis k-means


【解决方案1】:

这是我在这里的第一篇文章:我仍然是 python 的业余爱好者,所以我自己来这里寻找一些答案并找到了你的帖子。事实证明,我已经使用您的代码来实现类似的效果,只需进行一些小的调整,它就可以完美运行!让我告诉你我的适应:

wcss = []
sil_score = []
db_score = []
clusters_range = range(2, 16)

for K in clusters_range:
    kmeans = KMeans(n_clusters = K, max_iter = 300)
    kmeans.fit_predict(X2_pca_df)
    wcss.append(kmeans.inertia_)
    sil_score.append(silhouette_score(X2_pca_df, kmeans.labels_))
    db_score.append(davies_bouldin_score(X2_pca_df, kmeans.labels_))

附言。不知道你什么时候发布的,但希望现在提供帮助还为时不晚。干杯!

【讨论】:

    猜你喜欢
    • 2013-01-01
    • 1970-01-01
    • 2018-06-10
    • 2011-06-22
    • 2014-09-08
    • 2021-06-10
    • 2018-09-10
    • 2017-06-08
    • 2012-02-24
    相关资源
    最近更新 更多