Ich habe 200 Datenpunkte, die für alle Funktionen die gleichen Werte haben.
Nach der Reduzierung der t-SNE-Dimension sehen sie nicht mehr so gleich aus:
Warum befinden sie sich nicht an derselben Stelle in der Visualisierung und scheinen sogar in zwei verschiedenen Clustern verteilt zu sein?
visualization
dimensionality-reduction
tsne
ScientiaEtVeritas
quelle
quelle
Antworten:
Sie haben Recht, dass dieselben Werte in T-SNE auf verschiedene Punkte verteilt werden können. Der Grund dafür ist klar, wenn Sie sich den Algorithmus ansehen, über den T-SNE ausgeführt wird.
Um Ihre erste Besorgnis darüber auszuräumen, dass die Punkte tatsächlich nicht gleich sind, nachdem der Algorithmus auf den Datensatz angewendet wurde. Ich werde Ihnen eine Übung überlassen, um sie selbst zu überprüfen, ein einfaches Array und x 2 = [ 0 , 1 ] zu betrachten und einen tatsächlichen Algorithmus dagegen auszuführen und selbst zu sehen, dass die resultierenden Punkte dies nicht sind Sie können Ihre Antwort darauf verweisen.x1=[0,1] x2=[0,1]
import numpy as np from sklearn.manifold import TSNE m = TSNE(n_components=2, random_state=0) m.fit_transform(np.array([[0,1],[0,1]]))
Sie würden auch feststellen, dass durch Ändern der
random_state
tatsächlich die Ausgabekoordinaten des Modells geändert werden. Es gibt keine wirkliche Korrelation zwischen den tatsächlichen Koordinaten und ihrer Ausgabe. Seit dem ersten Schritt berechnet TSNE die bedingte Wahrscheinlichkeit.Die Wahrheit ist also, anstatt die beiden Cluster zu betrachten, die Abstände zwischen ihnen zu betrachten, da dies mehr Informationen vermittelt als die Koordinaten selbst.
Hoffe das hat deine Frage beantwortet :)
quelle