【发布时间】:2016-08-20 01:20:08
【问题描述】:
我在 python 中使用t-SNE 有一个小问题。
我拿了一个小数据集:
A = np.matrix([[0.2, 0.3, 0.6, 0.8],
[0.2, 0.25, 0.55, 0.85],
[0.2, 0.3, 0.6, 0.8],
[0.64, 0.8, 0.2, 0.2],
[0.65, 0.8, 0.2, 0.2],
[0.65, 0.75, 0.2, 0.15],
[0.7, 0.8, 0.2, 0.2]])
然后,我使用以下命令在其上运行 t-SNE:
tsne = manifold.TSNE(n_components=2,random_state=0, metric=Distance)
这里,Distance 是一个函数,它以两个数组作为输入,计算它们之间的距离并返回距离。
此功能有效。如果我改变我的值,我可以看到输出发生变化。
def Distance(X,Y):
Result = spatial.distance.euclidean(X,Y)
return Result
但是使用 t-sne 的可视化并没有改变......并且可视化不尊重我的点之间的距离。
如果我删除指标:
tsne = manifold.TSNE(n_components=2,random_state=0)
它仍然给我同样的结果......
你有什么解决办法吗?
【问题讨论】:
标签: python scikit-learn