将生成的 TFIDF 稀疏向量链接到 Spark 中的原始文档
Linking the resulting TFIDF sparse vectors to the original documents in Spark
我正在使用 Spark 和 Python 使用以下代码计算 TFIDF:
hashingTF = HashingTF()
tf = hashingTF.transform(documents)
idf = IDF().fit(tf)
tfidf = idf.transform(tf)
for k in tfidf.collect():
print(k)
我得到了三个文档的以下结果:
(1048576,[558379],[1.43841036226])
(1048576,[181911,558379,959994], [0.287682072452,0.287682072452,0.287682072452])
(1048576,[181911,959994],[0.287682072452,0.287682072452])
假设我有数千个文档,如何将生成的 TFIDF 稀疏向量 link 到原始文档,知道我不关心将哈希键反转为原始术语。
由于 documents
和 tfidf
具有相同的形状(分区数,每个分区的元素数)并且没有需要洗牌的操作你可以简单地 zip
两个 RDDs :
documents.zip(tfidf)
反向 HashingTF 不可能。
我正在使用 Spark 和 Python 使用以下代码计算 TFIDF:
hashingTF = HashingTF()
tf = hashingTF.transform(documents)
idf = IDF().fit(tf)
tfidf = idf.transform(tf)
for k in tfidf.collect():
print(k)
我得到了三个文档的以下结果:
(1048576,[558379],[1.43841036226])
(1048576,[181911,558379,959994], [0.287682072452,0.287682072452,0.287682072452])
(1048576,[181911,959994],[0.287682072452,0.287682072452])
假设我有数千个文档,如何将生成的 TFIDF 稀疏向量 link 到原始文档,知道我不关心将哈希键反转为原始术语。
由于 documents
和 tfidf
具有相同的形状(分区数,每个分区的元素数)并且没有需要洗牌的操作你可以简单地 zip
两个 RDDs :
documents.zip(tfidf)
反向 HashingTF