2014-11-11 6 views
1

Я сослался на эти две ссылки для запуска Mahout NB классификаторMahout 0,9: Используя собственный тестовый набор вместо того, чтобы использовать разделение команды

[1] http://tharindu-rusira.blogspot.com/2014/01/naive-bayes-classification-apache-mahout.html
[2] http://chimpler.wordpress.com/2013/03/13/using-the-mahout-naive-bayes-classifier-to-automatically-classify-twitter-messages/

Я хотел бы использовать мой собственный тестовый набор вместо того, чтобы mahout разбивал мои данные на тренировочные и тестовые наборы (80:20). Как я могу это достичь?

ответ

2

Возьмите два набора данных для обучения & один для тестирования.

Run ниже команды на обоих наборах:
1. seqdirectory
2. seq2sparse

Теперь вы будете иметь векторы, сгенерированные для обоих наборов данных.
- Запустить команду trainnb с использованием вывода векторов первого набора данных. Поэтому вместо обучения модели на 80% данных мы используем весь набор данных.
- Запустить команду testnb с использованием вывода векторов второго набора данных. Это не 20% данных, это совершенно новый набор данных, предназначенный исключительно для тестирования.

Таким образом, вместо использования mahout split мы указали наш собственный набор данных для тестирования вашей модели.

+0

Это звучит разумно, и это то, что я сделал. Но у меня были результаты, которые сильно отличались от того, что я получил, когда Маху разделил результаты в аналогичном проценте - у меня есть четыре категории, и он решил, что все было от одного из них, а не деления их правильно (поскольку это более или менее когда он разделил вход) – Eyal

+0

Я предполагаю, что это связано с tagindex - что существует несоответствие между метками теста и набора тренировок. Это звучит правдоподобно? – Eyal

+0

Да, эти метки должны быть одинаковыми. Мы должны проверить модель с тем же набором меток, который мы использовали для обучения. – Rajkumar

 Смежные вопросы

  • Нет связанных вопросов^_^