将生成的TFIDF稀疏向量链接到Spark中的原始文档

时间:2016-02-29 10:34:56

标签: python apache-spark pyspark tf-idf apache-spark-mllib

我使用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稀疏向量链接到原始文档,因为我知道我并不关心将哈希密钥反转为原始条款。

1 个答案:

答案 0 :(得分:1)

由于documentstfidf具有相同的形状(分区数,每个分区的元素数),并且没有需要随机的操作,因此只需zip两个RDD:< / p>

documents.zip(tfidf)

反转HashingTF for an obvious reason是不可能的。