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 が返されます: 結果 = 103.0

問題は、トレーナー ファイルの TF-IDF をどのように計算できるかということです。

4

0 に答える 0