【发布时间】:2020-08-10 23:11:45
【问题描述】:
假设我有一组点(x、y 和大小)。我想使用sklearn.cluster.DBSCAN 及其中心在我的数据中查找集群。如果我对每一点都一视同仁,那就没问题了。但实际上我想要加权中心而不是几何中心(这意味着更大的点应该比更小的点计算更多)。
我遇到了sample_weight,但我不太明白这是否是我需要的。当我使用sample_weight(右侧)时,我得到的集群与我不使用它的情况(左侧)完全不同:
其次,我考虑使用np.repeat(x,w),其中 x 是我的数据,w 是每个点的大小,因此我得到了与它们的权重成正比的点的多个副本。但这可能不是一个聪明的解决方案,因为我得到了大量数据,对吧?
sample_weight 在我的情况下有用吗?或者有没有比使用np.repeat 更好的解决方案的建议?我知道已经有一些关于sample_weight 的问题,但我无法准确读出如何使用它。
谢谢!
【问题讨论】:
-
是
sklearn.cluster.DBSCAN的方法。我使用它:fit_predict(self, X[, y, sample_weight])
标签: python python-3.x scikit-learn cluster-analysis dbscan