0

我需要在类别树中对很多产品进行分类,我正在使用 Spark 和 Mlib Naive Bayes 进行测试。但我不明白如何计算 TF-IDF。

我有一个这样的培训师文件:

#filenameTrainer:
103,355 4 50 60 71 72 66 73 57 53
103,35 45 55 65 75 85 66 73 57 53
104,355 41 51 61 71 72 67 73 58 54

等等等等

其中第一列是类别 id,其他是转换为索引的单词。

这是我用于训练的(伪)代码:

val conf = new SparkConf()
  .setAppName("SparseNaiveBayes test")
  .setMaster("local[1]")
  .set("spark.executor.memory", "2g")

val sc = new SparkContext(conf)
val trainData = MLUtils.loadLabeledPoints(sc, filenameTrainer);
val trained:NaiveBayesModel = NaiveBayes.train(trainData);

好吧,如果我尝试搜索一个类别:

val testData:Vector =  Vectors.dense(Array[Double](3, 35,45,55,65,75,85,66,73,92 ))
val result:Double = trained.predict(testData)
println("Result = " + result)

结果是正确的,它返回一个类别 103: Result = 103.0

现在的问题是,如何计算训练文件的 TF-IDF?

4

0 回答 0