0

尝试在我自己的数据集(约一百万个样本)中运行以下示例以及来自 Scikit-learn 的示例时,出现以下错误:

    plt.scatter(data_.T[0][c_exemplars], data_.T[1][c_exemplars], c=palette[i], **plot_kwds)
IndexError: list index out of range

修改后的代码如下:

reducer = umap.UMAP()

data_ = reducer.fit_transform(data)

sns.set_context('poster')
sns.set_style('white')
sns.set_color_codes()

plot_kwds={'alpha':0.25, 's':60, 'linewidths':0}
palette = sns.color_palette('deep', 12)

clusterer = hdbscan.HDBSCAN(min_cluster_size=15, metric='manhattan').fit(data_)

tree = clusterer.condensed_tree_
plt.scatter(data_.T[0], data_.T[1], c='grey', **plot_kwds)
for i, c in enumerate(tree._select_clusters()):
            c_exemplars = self.exemplars(c, tree)
            plt.scatter(data_.T[0][c_exemplars], data_.T[1][c_exemplars], c=palette[i], **plot_kwds)

plt.plot()  

self.exemplars()功能与示例中实现的功能完全相同。显然,一旦集群数量约为 8k,我需要更多颜色。我怎么能管理它?

4

0 回答 0