【发布时间】:2019-10-10 20:47:40
【问题描述】:
我正在构建一个自动编码器,以将燃烧数据集的维度从 17 降低到 2。
如上图所示,有一定的趋势——你可以看到大约三行。我想将数据(无监督)分成线簇,以便将来的测试数据与之关联,并且正在努力寻找一种方法来做到这一点。
我已经将 DBSCAN 视为一种层次聚类方法(例如 here)。我不确定它是否合适,但我的代码此时失败:
palette = sns.color_palette()
cluster_colors = [sns.desaturate(palette[col], sat)
if col >= 0 else (0.5, 0.5, 0.5) for col, sat in
zip(clusterer.labels_, clusterer.probabilities_)]
plt.scatter(z[0], z[1], c=cluster_colors, **plot_kwds)
其中z[0] 和z[1] 是聚类数据的两个维度。错误是:
'ValueError: 'c' argument has 100 elements, which is not acceptable for use with 'x' with size 2, 'y' with size 2.'
如果您有建议的替代方案,请告诉我。此外,我的数据很大(> 100 万个点)。
【问题讨论】:
标签: python cluster-analysis hierarchical-clustering autoencoder dbscan