2015-12-14 4 views
0

Я пытаюсь сделать классификацию текста в Weka, но у меня много проблем с тем, чтобы тестовый набор работал. Вот мой обучающее множество (это коротко, как я только начинаю учиться WEKA!):Поезд и тестовые комплекты несовместимы с ошибкой в ​​weka

@relation sentiment 
@attribute phrase string 
@attribute value {pos, neg} 
@data 
'That was really unlucky', neg 
'The car crashed horribly', neg 
'The culpirit got away',neg 
'Fortunally everyone made it out', pos 
'She was glad noone was hurt',pos 
'And the sun was at least shining',pos 

Затем я использую StringToWordVector на съемочной площадке, а затем применить NumericToBinary. Это конечный результат обучающей выборки:

@relation 'sentiment-weka.filters.unsupervised.attribute.StringToWordVector-R1-W1000-prune-rate-1.0-N0-stemmerweka.core.stemmers.NullStemmer-M1-tokenizerweka.core.tokenizers.WordTokenizer -delimiters \" \\r\\n\\t.,;:\\\'\\\"()?!\"-weka.filters.unsupervised.attribute.NumericToBinary' 

@attribute value {pos,neg} 
@attribute And_binarized {0,1} 
@attribute Fortunally_binarized {0,1} 
@attribute She_binarized {0,1} 
@attribute at_binarized {0,1} 
@attribute everyone_binarized {0,1} 
@attribute glad_binarized {0,1} 
@attribute hurt_binarized {0,1} 
@attribute it_binarized {0,1} 
@attribute least_binarized {0,1} 
@attribute made_binarized {0,1} 
@attribute noone_binarized {0,1} 
@attribute out_binarized {0,1} 
@attribute shining_binarized {0,1} 
@attribute sun_binarized {0,1} 
@attribute the_binarized {0,1} 
@attribute was_binarized {0,1} 
@attribute That_binarized {0,1} 
@attribute The_binarized {0,1} 
@attribute away_binarized {0,1} 
@attribute car_binarized {0,1} 
@attribute crashed_binarized {0,1} 
@attribute culpirit_binarized {0,1} 
@attribute got_binarized {0,1} 
@attribute horribly_binarized {0,1} 
@attribute really_binarized {0,1} 
@attribute unlucky numeric 

@data 
{0 neg,16 1,17 1,25 1,26 1} 
{0 neg,18 1,20 1,21 1,24 1} 
{0 neg,18 1,19 1,22 1,23 1} 
{2 1,5 1,8 1,10 1,12 1} 
{3 1,6 1,7 1,11 1,16 1} 
{1 1,4 1,9 1,13 1,14 1,15 1,16 1} 

Теперь я начинаю работать на множестве испытаний, а именно:

@relation sentiment 
@attribute phrase string 
@data 
'That was really unlucky' 
'The car crashed horribly' 
'The culpirit got away' 

Моя надежда состоит в том, что ВЕКА можно классифицировать этот текст как «нег». Чтобы сделать их совместимыми, я использую те же фильтры, что и в обучающем наборе (StringToWordVector и NumericToBinary). Это конечный результат тест-набор:

@relation 'sentiment-weka.filters.unsupervised.attribute.StringToWordVector-R1-W1000-prune-rate-1.0-N0-stemmerweka.core.stemmers.NullStemmer-M1-O-tokenizerweka.core.tokenizers.WordTokenizer -delimiters \" \\r\\n\\t.,;:\\\'\\\"()?!\"-weka.filters.unsupervised.attribute.NumericToBinary' 

@attribute That_binarized {0,1} 
@attribute The_binarized {0,1} 
@attribute away_binarized {0,1} 
@attribute car_binarized {0,1} 
@attribute crashed_binarized {0,1} 
@attribute culpirit_binarized {0,1} 
@attribute got_binarized {0,1} 
@attribute horribly_binarized {0,1} 
@attribute really_binarized {0,1} 
@attribute unlucky_binarized {0,1} 
@attribute was numeric 

@data 
{0 1,8 1,9 1,10 1} 
{1 1,3 1,4 1,7 1} 
{1 1,2 1,5 1,6 1} 

Однако, это дает мне ошибку, что обучение и набор тест-набор не совместимы, и я не могу понять, почему. Это интуитивно похоже на то, что мы должны понять.

Спасибо за помощь!

ответ

1

Ваш тренировочный и испытательный тест должен иметь одинаковый заголовок. Сейчас они разные.

Прочтите следующую ссылку for an example for text classification.. Это еще один link, который показывает другие способы решения этой проблемы.

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