2014-10-10 4 views
2

У меня очень хорошо обученный набор для машинного обучения (только атрибуты строки).Почему WEKA-TestSets должен иметь атрибут класса?

например.

@relation training_rel 

@attribute class {politics,sports} 
@attribute text string 

@data 
politics,'some text about politics over here' 
... // a lot of other training instances of class politics 
sports,'and now some sports over here' 
... // a lot of other training instances of class sports 

Хорошо это мое обучающее множество, конечно, только пример ... Теперь я хотел бы построить классификатор (NaiveBayes). Это работает отлично. Я знаю, что большинство классификаторов не могут обрабатывать текст, поэтому я должен фильтровать свои данные. Для этого я использую StringToWordVector.

Все примеры в Интернете, которые я нашел, определяют там тестовые экземпляры также со значением класса (http://www.cs.ubc.ca/labs/beta/Projects/autoweka/datasets/) Но почему? Я имею в виду, что я не знаю, принадлежит ли мой текст политике или спорту, поэтому я использую классификатор, чтобы узнать это ... Я понимаю что-то неправильно?

ответ

1

Этикетки в тестовом наборе данных предназначены для оценки классификатора. Вы тренируете свою модель против набора учебных данных и оцениваете производительность модели в наборе данных тестирования. Без меток вы не можете оценить данные тестирования.

В реальное время использования вы не будете знать фактические метки. Поэтому важно, чтобы ваши тестовые данные отображали реальный набор данных. В противном случае результат оценки не имеет значения.

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