2016-12-19 17 views
1

У меня есть данные в формате
blah sentence one --> label1, label2
blah sentence two --> label2, label4
blah sentence three --> label3Multilabel Классификация по NaiveBayes Классификатор в Спарк

Как я могу использовать OneVsRestClassifier с NaiveBayesClassifier в Спарк? (т. Е. Как должны быть структурированы мои данные?). Для классификации с несколькими классами с NaiveBayes класс LabeledPoint содержит label и Feature Vector. Но для вышеупомянутого случая, как должны быть структурированы данные?

ответ

0

Просто структурируйте данные как обычно (LabeledPoint), но используйте несколько классификаторов (например, OneVsRest) и переключите данные, переданные в каждый (на основе ваших нескольких помеченных векторов). Другим решением является, чтобы получить вероятности для всех классов, вместо того, чтобы наиболее вероятные (предсказывающие (p.features()))

Vector prediction = model.predictProbabilities(p.features()); 

, а затем принять TopK наиболее вероятные предсказания с использованием пороговой фильтрации.