Как создать обучающий файл для Spark MLlib Naive Bayes и рассчитать TF–IDF

Мне нужно классифицировать множество продуктов в дереве категорий, я тестирую 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

и т.д. и т.п.

Где первый столбец — это идентификатор категории, а остальные — слова, преобразованные в индекс.

это (псевдо) код, который я использую для обучения:

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 для файла трейнера?


person faster2b    schedule 08.07.2015    source источник
comment
возможный дубликат Как я могу создать TF-IDF для классификации текста с использованием Spark?   -  person eliasah    schedule 08.07.2015
comment
@eliasah да, вопрос похож, вы решили? ответы не решили проблему   -  person faster2b    schedule 08.07.2015
comment
Вы читали ответы? Данные ответы являются хорошим началом. Я действительно решил это, но у меня не было времени написать правильный ответ с объяснением   -  person eliasah    schedule 08.07.2015