Pyspark术语文档矩阵 - >术语聚类中的术语和术语聚类中的文档

时间:2017-04-01 09:46:56

标签: pyspark k-means tf-idf

我是去年的法国学生,我是pyspark的新人...我对术语 - 文档矩阵有问题(我在这工作了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)线而不是文档...

你有什么想法才能获得这个矩阵吗?表现好吗?

感谢您的回复,

0 个答案:

没有答案