如何使用 tSNE 和 kmeans 质心找到质心对应的原始数据点?

Posted

技术标签:

【中文标题】如何使用 tSNE 和 kmeans 质心找到质心对应的原始数据点?【英文标题】:How to use tSNE and kmeans centroids to find the original data points the centroids correspond to? 【发布时间】:2021-10-01 08:17:36 【问题描述】:

我使用 t-SNE 将我的数据集的维度从 18 降低到 2,然后我使用 kmeans 对 2D 数据点进行聚类。

使用这个,print(kmeans.cluster_centers_) 我现在有一个簇的 2D 质心数组,但我想获得这些质心对应的 18D 原始数据点。

有没有办法让 t-SNE 反向工作?谢谢!

【问题讨论】:

【参考方案1】:

很遗憾,答案是否定的,没有。

t-SNE 根据概率论分别计算每个点的非线性映射。它既不提供连续定义的函数,也不提供逆函数。

您可以尝试根据集群成员插入 18D 坐标。

一般而言,您可能会重新审视在 t-SNE 结果上运行 k-means 的真正意义。

【讨论】:

以上是关于如何使用 tSNE 和 kmeans 质心找到质心对应的原始数据点?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 skleans 的 KMeans 查看 n_init 每次迭代的集群质心

Python质心中的KMeans位置不正确,我如何“取消缩放”它们?

kmeans集群中节点和质心之间的距离?

按升序生成 Kmeans 的质心

在单个特征数据框中查找质心和点之间的距离 - KMeans

使用 KMeans 时为每个质心获取超过 2 个坐标