在下面的代码中,spark计算IDF和TF-IDF向量时是否需要重排数据?
val hashingTF = new HashingTF()
val tf: RDD[Vector] = hashingTF.transform(documents)
tf.cache()
val idf = new IDF().fit(tf)
val tfidf: RDD[Vector] = idf.transform(tf)
答案 0 :(得分:0)
它没有洗牌:
transform
方法均使用RDD.map
IDF.fit
是使用RDD.treeAggregate
实现的。当fit
较低时,miDocFreq
方法仍然非常昂贵。