*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]. |