1
votes

I Have these data as training set and attribute PlayTennise as target.

@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

Also i give weka the data for the supplied test set, but just convert the target [Yes, No] to '?'. such that:

@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,?

Click start but the result said this:

=== 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

It Said that there is "Ignored Class Unknown Instances = 14" and "Total Number of Instances = 0"

I don't understand what must i Do?

Please Help me?

1

1 Answers

1
votes

The test dataset should remain with the target variable labeled as either "yes" or "no".

This will allow Weka to evaluate the quality of it's prediction. Without the target label Weka does not know if the prediction is correct or not, and therefore it ignores those cases in the evaluation.

If you are simply interested in the prediction you can still use your unlabeled data.

For example if using the GUI:

  1. Load your training data and select the Classify tab.
  2. Push the "More options" button in the Test options box.
  3. Now put a check mark next to "Output predictions".
  4. Supply your unlabled test data and push the Start button

This produces an ouptut with predictions for the seemingly ignored instances (below is a sample of the relevant output).

=== 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