我有3类词,分别对应不同类型的心理驱动力(对权力的需求、对成就的需求和对亲情的需求)。目前,对于我样本中的每一份文档(n=100,000),我正在使用一个工具来统计每一类别的词数,并根据文本中使用的总词数,将原始词数转换为百分比,计算出每一类别的比例得分。
n-power n-achieve n-affiliation
Document1 0.010 0.025 0.100
Document2 0.045 0.010 0.050
: : : :
: : : :
Document100000 0.100 0.020 0.010
对于每篇文档,我想得到一个独特性的衡量标准,它表示一篇文档在三个心理类别上的内容与所有文档(即我的样本中的原型文档)的平均内容的不同程度。有什么方法可以做到这一点吗?
本质上你有的是一个聚类问题。目前,你用3个数字对你的每一个文档做了一个表示,让我们称它们为一个向量(本质上你做了一些嵌入)。要做到你想要的,你可以1)计算整个集合的平均向量。基本上是把每一列中的所有数字相加,然后除以文档的数量.2)选择一个你喜欢的度量,它将反映你的文档向量与平均数的对齐。你可以直接使用(欧几里得)。sklearn.metrics.pairwise.euclidean_distances(对数)。或余弦sklearn.metrics.pairwise.cosine_distancesX是你的文档向量列表,Y是列表中的一个平均向量。这是个不错的开始。
如果我会这样做,我会忽略平均向量的方法,因为你实际上是在处理聚类问题。所以我会使用 KMeans查看更多 指南
希望对大家有所帮助!