t-SNE高维数据可视化

时间:2016-01-21 12:18:16

标签: python machine-learning nlp scikit-learn data-analysis

我有一个twitter语料库,我用它来构建情绪分析应用程序。该语料库有5k条推文,手动标记为 - 否定,中立或正面

表示文本 - 我正在使用gensim word2vec预训练矢量。每个单词都映射到300个维度。对于推文,我添加所有单词向量以获得单个300暗淡向量。因此,每条推文都映射到300维的单个向量。

我使用t-SNE(tsne python包)可视化我的数据。见附图1 - 红点=负推文,蓝点=中性推文和绿点=正推文

tweets represented using word2vec

问题: 在图中,数据点之间没有明显的分离(边界)。我可以假设300尺寸中的原始点也是如此吗?

即如果点在t-SNE图中重叠,那么它们在原始空间中也会重叠,反之亦然?

1 个答案:

答案 0 :(得分:5)

问题:在图中,数据点之间没有明确的分离(边界)。我可以假设300尺寸中的原始点也是如此吗?

在大多数情况下,没有。通过减少尺寸,您可能会丢失一些信息。 您可以在不丢失信息的情况下减小维度的情况是某些维度中的数据或数据为零(例如三维空间中的行)或某些维度线性依赖于其他维度。

有一些技巧可以测试一些维数减少技术的效果。例如:

您可以使用PCA将尺寸形式300缩小为例如10.您可以计算300个特征值(原始空间)的总和和10个最大特征值的总和(这10个特征值表示将用于降维的特征向量)并计算丢失信息的百分比sum(top-10-eigenvalues)/sum(300-eigenvalues)。这个值并不完全是"信息"失去了,但它接近了。