OneClassClassifier
Package
weka.classifiers.meta
Synopsis
Performs one-class classification on a dataset.
Classifier reduces the class being classified to just a single class, and learns the data without using any information from other classes. The testing stage will classify as 'target' or 'outlier' - so in order to calculate the outlier pass rate the dataset must contain information from more than one class.
Also, the output varies depending on whether the label 'outlier' exists in the instances usedto build the classifier. If so, then 'outlier' will be predicted, if not, then the label will be considered missing when the prediction does not favour the target class. The 'outlier' class will not be used to build the model if there are instances of this class in the dataset. It can simply be used as a flag, you do not need to relabel any classes.
For more information, see:
Kathryn Hempstalk, Eibe Frank, Ian H. Witten: One-Class Classification by Combining Density and Class Probability Estimation. In: Proceedings of the 12th European Conference on Principles and Practice of Knowledge Discovery in Databases and 19th European Conference on Machine Learning, ECMLPKDD2008, Berlin, 505--519, 2008.
Options
The table below describes the options available for OneClassClassifier.
Option |
Description |
---|---|
classifier |
The base classifier to be used. |
debug |
If set to true, classifier may output additional info to the console. |
densityOnly |
If true, the density estimate will be used by itself. |
nominalGenerator |
The nominal data generator to use. |
numRepeats |
The number of repeats for (internal) cross-validation. |
numericGenerator |
The numeric data generator to use. |
percentageHeldout |
The percentage of data that will be heldout in each iteration of (internal) cross-validation. |
proportionGenerated |
The proportion of data that will be generated compared to the target class label. |
seed |
The random number seed to be used. |
targetClassLabel |
The class label to perform one-class classification on. |
targetRejectionRate |
The target rejection rate, ie, the proportion of target class samples that will be rejected in order to build a threshold. |
useInstanceWeights |
If true, the weighting on instances is based on their prevalence in the data. |
useLaplaceCorrection |
If true, then Laplace correction will be used (reduces the number of class labels to two, target and outlier class, regardless of how many class labels actually exist) - useful for classifiers that use the number of class labels to make use of a Laplace value based on the unseen class. |
Capabilities
The table below describes the capabilites of OneClassClassifier.
Capability |
Supported |
---|---|
Class |
Nominal class, Binary class, Missing class values |
Attributes |
Missing values, Binary attributes, Date attributes, Numeric attributes, Empty nominal attributes, Nominal attributes, Unary attributes |
Min # of instances |
1 |