2013-10-24 5 views
1

У меня есть эти данные как набор для обучения и атрибут PlayTennise как цель.сделать классификацию с помощью j48 на weka

@relation Weka 

@attribute Day {D1,D2,D3,D4,D5,D6,D7,D8,D9,D10,D11,D12,D13,D14} 
@attribute Outlook {Sunny,Overcast,Rain} 
@attribute Temperature {Hot,Mild,Cool} 
@attribute Humidity {High,Normal} 
@attribute Wind {Weak,Strong} 
@attribute PlayTennis {No,Yes} 

@data 
D1,Sunny,Hot,High,Weak,No 
D2,Sunny,Hot,High,Strong,No 
D3,Overcast,Hot,High,Weak,Yes 
D4,Rain,Mild,High,Weak,Yes 
D5,Rain,Cool,Normal,Weak,Yes 
D6,Rain,Cool,Normal,Strong,No 
D7,Overcast,Cool,Normal,Strong,Yes 
D8,Sunny,Mild,High,Weak,No 
D9,Sunny,Cool,Normal,Weak,Yes 
D10,Rain,Mild,Normal,Weak,Yes 
D11,Sunny,Mild,Normal,Strong,Yes 
D12,Overcast,Mild,High,Strong,Yes 
D13,Overcast,Hot,Normal,Weak,Yes 
D14,Rain,Mild,High,Strong,No 

Также я дать Weka данные для прилагаемого тестового набора, но только преобразовать цель [Да Нет] для «?». таким образом, что:

@relation Weka2 

@attribute Day {D1,D2,D3,D4,D5,D6,D7,D8,D9,D10,D11,D12,D13,D14} 
@attribute Outlook {Sunny,Overcast,Rain} 
@attribute Temperature {Hot,Mild,Cool} 
@attribute Humidity {High,Normal} 
@attribute Wind {Weak,Strong} 
@attribute PlayTennis {No,Yes} 

@data 
D1,Sunny,Hot,High,Weak,? 
D2,Sunny,Hot,High,Strong,? 
D3,Overcast,Hot,High,Weak,? 
D4,Rain,Mild,High,Weak,? 
D5,Rain,Cool,Normal,Weak,? 
D6,Rain,Cool,Normal,Strong,? 
D7,Overcast,Cool,Normal,Strong,? 
D8,Sunny,Mild,High,Weak,? 
D9,Sunny,Cool,Normal,Weak,? 
D10,Rain,Mild,Normal,Weak,? 
D11,Sunny,Mild,Normal,Strong,? 
D12,Overcast,Mild,High,Strong,? 
D13,Overcast,Hot,Normal,Weak,? 
D14,Rain,Mild,High,Strong,? 

Нажмите старт, но результат сказал следующее:

=== Run information === 

Scheme:  weka.classifiers.trees.J48 -C 0.25 -M 2 
Relation:  Weka 
Instances: 14 
Attributes: 6 
       Day 
       Outlook 
       Temperature 
       Humidity 
       Wind 
       PlayTennis 
Test mode: user supplied test set: size unknown  (reading incrementally) 

=== Classifier model (full training set) === 

J48 pruned tree 
------------------ 

Outlook = Sunny 
| Humidity = High: No (3.0) 
| Humidity = Normal: Yes (2.0) 
Outlook = Overcast: Yes (4.0) 
Outlook = Rain 
| Wind = Weak: Yes (3.0) 
| Wind = Strong: No (2.0) 

Number of Leaves :  5 

Size of the tree : 8 


Time taken to build model: 0 seconds 

=== Evaluation on test set === 

Time taken to test model on supplied test set: 0 seconds 

=== Summary === 

Total Number of Instances    0  
Ignored Class Unknown Instances     7  

=== Detailed Accuracy By Class === 

       TP Rate FP Rate Precision Recall F-Measure MCC  ROC Area PRC Area Class 
       0.000 0.000 0.000  0.000 0.000  0.000 ?   ?   No 
       0.000 0.000 0.000  0.000 0.000  0.000 ?   ?   Yes 
Weighted Avg. NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  

=== Confusion Matrix === 

a b <-- classified as 
0 0 | a = No 
0 0 | b = Yes 

Он сказал, что есть «игнорируемый класс неизвестны экземпляры = 14» и «Общее количество экземпляров = 0»

Я не понимаю, что я должен делать?

Пожалуйста, помогите мне?

ответ

1

Испытательный набор данных должен оставаться с целевой переменной, обозначенной как «да» или «нет».

Это позволит Weka оценить качество его прогноза. Без целевой метки Weka не знает правильности прогноза или нет, и поэтому игнорирует эти случаи в оценке.

Если вас просто интересует предсказание, вы все равно можете использовать свои немеченые данные.

Например, если с помощью графического интерфейса:

  1. загрузить данные обучения и выберите вкладку Классифицировать.
  2. Нажмите кнопку «Дополнительные параметры» в окне «Параметры тестирования».
  3. Теперь поставьте галочку рядом с надписью «Выходные предсказания».
  4. Поставка ваши unlabled тестовые данные и нажать кнопку Start

Это дает ouptut с предсказаниями для кажущихся игнорируемых экземпляров (ниже приведен пример соответствующего выхода).

=== Predictions on test split === 
inst#, actual, predicted, error, probability distribution 
    1   ?  2:no  + 0  *1  
    2   ?  2:no  + 0  *1  
    3   ?  1:yes  + *1  0  
    4   ?  1:yes  + *1  0  
    5   ?  1:yes  + *1  0  
    6   ?  2:no  + 0  *1  
    7   ?  1:yes  + *1  0  

+0

Танки, я сделал, и я установил «Выходное предсказание», но существуют «Неизвестные экземпляры = [Все экземпляры]». Ошибка предсказания для каждого экземпляра равна 1 –

+0

Вы помещаете целевые значения в свой тестовый набор данных, но оценка по-прежнему не имеет смысла? – Walter

+0

Я копирую точный файл данных обучения в новый файл. Просто измените атрибут цели да или нет на «?». но он сказал, что все экземпляры принадлежат к классу неизвестного экземпляра. –

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