2017-08-01 113 views
0

在下面的代碼中,spark是否必須在計算IDF和TF-IDF向量時洗牌數據?Spark MLlib 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

它不洗牌:

  • 兩種transform方法是使用RDD.map
  • IDF.fit使用RDD.treeAggregate實現的實現。

miDocFreq很低時,fit方法仍然相當昂貴。