2
from sklearn.manifold import TSNE
tsne = TSNE(n_components=2, init='pca', n_iter=5000)
print(tsne.fit_transform(np.array([[1,2,3],[3,4,3],[1,2,3],[3,3,3]])))
輸出:爲什麼sklearn.manifold中的TSNE對同樣的值給出不同的答案?
[[ 547.9452404 11.31943926]
[-152.33035505 -223.32060683]
[ 97.57201578 84.04839505]
[-407.18939464 124.50285141]]
對於矢量[1,2,3],其被重複兩次它給了不同的值/載體。
這是爲什麼?
EDIT1:
上面給出的例子僅僅是一個玩具爲例,說明這一事實。其實我的數據是形狀不規則的陣列(500,100)。仍然存在同樣的問題。
嘿Imanol,感謝您的解釋。這個問題給出的例子就是一個玩具的例子來說明這個事實。其實我的數據是形狀不規則的陣列(500,100)。仍然存在同樣的問題。問候 – Abhishek
是*問題*不是問題。 TSNE不保留數據的價值,它只是保留了距離。例如,在1D中,如果有兩個點'A = x'和'B = 0',則有兩個表示A(x和-x)的表示,它們保持與B相同的距離。TSNE不保證所有實例的表示都相同對於一個N維問題,不同的可能表示呈指數增長。 –