NEW: Bugfix. Version 1.0 contained a bug in the calculation of the Beta-pdf. Please upgrade to version 1.1!
The Uschificator is a method for scaling membership values of an argmax-classifier. A classifier is called argmax-classifier, if for ever class c ∈ C it computes a membership value m(x,c) which represents the classifiers certainty of the example x belonging to class c. The final classification rule is given by
The Uschificator scales the membership values such that they can be interpreted as the class probability
The Uschificator has two modes. In learning mode, it uses the membership values of a argmax-classifier on a training set together with the true class values to construct a scaling function. In scaling mode, this scaling function is applied to membership values of new examples.
Learning of the scaling function is invoked by
The scaling function is learned from the data in the file input_file and written to model_file. Scaling is invoked by
where input_file contains the unscaled membership values, model_file is the learned model and the scaled values are written to output_file.
For a d-class classification problem, the input file contains for the predicted membership values of the classifier for each class in one line per example. To learn the scaling function, the true class, which is an interger number from 1 to d, must be given in the last row of the file. The values are space-separated. That is, each line of the input file has the form
Lines starting with a # are treated as comments and ignored. Input files for scaling may contain a true class label, but don't have to.
The scaling algorithm requires that the membership values are already positive and sum up to 1. If this does not apply to your data, Uschificator contains some simple scaling functions you can use prior to the actual scaling algorithm. These are invoked by the following parameters:
scaling:none | (default) Do not perform any prior scaling. |
scaling:minmax | Scale the values linearly with respect to the minimum and maximum membership values in the training data. |
scaling:softmax | Scale the values by the softmax rule. |
binary_threshold:value | With a binary classification problem, you can supply only the membership values of the first class and let the membership values of the second class be computed by value-m[1]. |
precision:value | Minimum numerical precision (default 1e-3). Decrease, if you suspect erroneous results. |
n_max:value | Maximum N for optimization (default 100). Increase, if you suspect erroneous results. |
[Garczarek/2002a] | Garczarek, Ursula, Classification Rules in Standardized Partition Spaces. Ph.D. thesis at the University of Dortmund, Germany [Online]. |