我有一个 twitter 语料库,用于构建情绪分析应用程序。语料库有 5k 条推文,这些推文被手工标记为 - 负面、中性或正面
为了表示文本 - 我正在使用 gensim word2vec 预训练向量。每个词都映射到 300 个维度。对于推文,我将所有词向量相加得到一个 300 个暗向量。因此,每条推文都映射到一个 300 维的向量。
我正在使用 t-SNE(tsne python 包)可视化我的数据。见附图 1 - 红点 = 负面推文,蓝点 = 中性推文,绿点 = 正面推文
问题:
在图中,数据点之间没有明确的分离(边界)。我可以假设 300 Dimensions 中的原始点也是这种情况吗?
即如果点在 t-SNE 图中重叠,那么它们也在原始空间中重叠,反之亦然?
最佳答案
问题:在图中,数据点之间没有明确的分离(边界)。我可以假设 300 Dimensions 中的原始点也是这种情况吗?
在大多数情况下没有。通过减少维度,您可能会丢失一些信息。
您可以在不丢失信息的情况下减少维度的情况是某些维度中的数据为零(例如 3 维空间中的线)或某些维度线性依赖于其他维度。
很少有技巧可以测试某些降维技术的效果。例如:
您可以使用 PCA 将维度形式 300 减少到例如 10。您可以计算 300 个特征值的总和(原始空间)和 10 个最大特征值的总和(这 10 个特征值代表将用于降维的特征向量)并计算丢失的百分比信息 sum(top-10-eigenvalues)/sum(300-eigenvalues)
。这个值并不完全是“信息”丢失,但它接近于此。
关于python - t-SNE 高维数据可视化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34923628/