Reputation: 75
Suppose I have the following train-set:
f1,f2,f3, label
1,2,3, 0
1.2,2.3,3.3, 0
1.25,2.25,3.25, 0
and I want to get the classification for the following test-set:
f1,f2,f3, label
6,7,8, ?
1.1,2.1,3.1, ?
9,10,11, ?
When I'm using Weka and 'One class classifier', first I load the train-set and classify using use training set option in the test options, after that I choose the supplied test set option and load the above test set.The problem is that I get the same classification for all the test-set instances and I get a warning that the train and test set are not compatible, do you want to wrap with inputMappedClassifier?. The above are just a simple examples, I got these problems also with a huge anomaly injected dataset.
What do I do wrong?
Upvotes: 0
Views: 817
Reputation: 19
I think, Since you are performing oneClassClassification, your test data should be (assumption here is all the test data rows are not outliers):
f1,f2,f3, label
6,7,8, 0
1.1,2.1,3.1, 0
9,10,11, 0
and if you enable predictions on test data, you may get:
=== Predictions on test set ===
inst# actual predicted error prediction
1 1:true 1:true 1
2 1:true ? ?
3 1:true 1:true 1:true
which means in test data: a) Instance 1 is not outlier b) Instance 2 is outlier c) Instance 3 is not outlier
Upvotes: 0