Pyspark术语文档矩阵->;用于术语聚类的行中术语和列中文档

Pyspark术语文档矩阵->;用于术语聚类的行中术语和列中文档,pyspark,k-means,tf-idf,Pyspark,K Means,Tf Idf,我是去年的一名法国学生,我是Pypark的新手。。。我对术语文档矩阵有问题(我在这方面工作了3天,但没有结果…) 我有很多句子(超过400万),我用pyspark做了术语文档矩阵 sentenceData = cleanTextRDDtw.map(lambda x: (x[2],x[0]).toDF(["sentence","id"]) tokenizer = Tokenizer().setInputCol("sentence").setOutputCol("words") wordsData

我是去年的一名法国学生,我是Pypark的新手。。。我对术语文档矩阵有问题(我在这方面工作了3天,但没有结果…) 我有很多句子(超过400万),我用pyspark做了术语文档矩阵

sentenceData = cleanTextRDDtw.map(lambda x: (x[2],x[0]).toDF(["sentence","id"]) 
tokenizer = Tokenizer().setInputCol("sentence").setOutputCol("words")
wordsData = tokenizer.transform(sentenceData)
hashingTF =HashingTF().setInputCol("words").setOutputCol("rawFeatures").setNumFeatures(20)
featurizedData = hashingTF.transform(wordsData)
idf = IDF().setInputCol("rawFeatures").setOutputCol("features")
idfModel = idf.fit(featurizedData)
rescaledData = idfModel.transform(featurizedData)
但使用这段代码,我获得了一行和一列(并且只有一列)中的文档。在列的每一行中都有一个固定长度的tf idf值特征向量。问题是:使用这种结构,我无法将数据帧转换为矩阵,因此我无法对矩阵进行转置,以使行中有术语,列中有文档

我试图用我自己的(使用循环)构造tf idf矩阵,但是用了400万句话,我的代码的性能真的很差

我想要一个tf idf矩阵,用术语表示行,以便(使用kmeans)聚集行,而不是文档

为了得到这个矩阵,你有什么想法吗?有好的表现吗


感谢您的回复,

您使用的spark版本是什么?我使用的是spark版本1.6.0和Python版本2.7.5