Python t-SNE高维数据可视化

Python t-SNE高维数据可视化,python,machine-learning,nlp,scikit-learn,data-analysis,Python,Machine Learning,Nlp,Scikit Learn,Data Analysis,我有一个twitter语料库,我用它来构建情感分析应用程序。语料库中有5k条推文,这些推文被手工标注为负面、中性或正面 为了表示文本,我使用gensim word2vec预训练向量。每个单词映射到300个维度。对于tweet,我将所有单词向量相加,得到一个300维向量。因此,每个tweet都映射到一个300维的向量 我正在使用t-SNE(tsne python包)可视化我的数据。见附图-红点=负面推文,蓝点=中性推文,绿点=正面推文 问题: 在绘图中,数据点之间没有明确的分隔(边界)。我能假设

我有一个twitter语料库,我用它来构建情感分析应用程序。语料库中有5k条推文,这些推文被手工标注为负面、中性或正面

为了表示文本,我使用gensim word2vec预训练向量。每个单词映射到300个维度。对于tweet,我将所有单词向量相加,得到一个300维向量。因此,每个tweet都映射到一个300维的向量

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

问题: 在绘图中,数据点之间没有明确的分隔(边界)。我能假设300维的原始点也是如此吗


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

问题:在绘图中,数据点之间没有明确的分隔(边界)。我能假设300维的原始点也是如此吗

大多数情况下不会。通过减少维度,您可能会丢失一些信息。 当某些标注中的或数据为零(例如三维空间中的直线)或某些标注与其他标注线性相关时,可以在不丢失信息的情况下减少标注

很少有技巧可以测试某些降维技术的效果。例如:


您可以使用PCA将维度表300减少到例如10。您可以计算300个特征值之和(原始空间)和10个最大特征值之和(这10个特征值表示将用于降维的特征向量),并计算丢失信息的百分比
sum(前10个特征值)/sum(300个特征值)
。该值不完全是“信息”丢失,但这很接近。

我完全同意你的看法。但我总是在大多数关于单词向量的博客/文章末尾看到t-SNE可视化,以“显示”这些向量的优点。这促使我问t-SNE的问题,在高D中什么是接近的将保持接近,但在可视化中什么是遥远的,你什么都不知道。