免责声明:我是机器学习的初学者。
我正在努力将高维数据(文本作为tdidf矢量)可视化到2D空间中。我的目标是标记/修改这些数据点,并在修改和更新2D图后重新计算它们的位置。该逻辑已经可以使用,但是即使在1个数据点中的28.000个功能中只有1个发生了变化,每次迭代的可视化也都与上一个有很大不同。
有关该项目的一些详细信息:
这里有2张图片来说明问题:
我尝试了几种降维算法,包括MDS,PCA,tsne,UMAP,LSI和Autoencoder。使用UMAP获得的关于计算时间和视觉表示的最佳结果,因此我在很大程度上坚持了下来。
跳过一些研究论文,我发现这有一个类似的问题(高尺寸的小变化导致2D的大变化): https://ieeexplore.ieee.org/document/7539329 总而言之,他们使用t-sne来初始化第一步的结果。
首先:我将如何在实际代码中实现这一目标?这与tsne的random_state
有关吗?
第二:是否可以将该策略应用于UMAP等其他算法? tsne花费的时间更长,并且根本不适合交互式用例。
还是针对这个问题,我没有想到过更好的解决方案?