mlpack_perceptron - perceptron
mlpack_perceptron [-h] [-v]
This program implements a perceptron, which is a single level neural network. The perceptron makes its predictions based on a linear predictor function combining a set of weights with the feature vector. The perceptron learning rule is able to converge, given enough iterations using the --max_iterations (-n) parameter, if the data supplied is linearly separable. The perceptron is parameterized by a matrix of weight vectors that denote the numerical weights of the neural network.
This program allows loading a perceptron from a model (-m) or training a perceptron given training data (-t), or both those things at once. In addition, this program allows classification on a test dataset (-T) and will save the classification results to the given output file (-o). The perceptron model itself may be saved with a file specified using the -M option.
The training data given with the -t option should have class labels as its last dimension (so, if the training data is in CSV format, labels should be the last column). Alternately, the -l (--labels_file) option may be used to specify a separate file of labels.
All these options make it easy to train a perceptron, and then re-use that perceptron for later classification. The invocation below trains a perceptron on ’training_data.csv’ (and ’training_labels.csv)’ and saves the model to ’perceptron.xml’.
$ perceptron -t training_data.csv -l training_labels.csv -m perceptron.csv
Then, this model can be re-used for classification on ’test_data.csv’. The example below does precisely that, saving the predicted classes to ’predictions.csv’.
$ perceptron -i perceptron.xml -T test_data.csv -o predictions.csv
Note that all of the options may be specified at once: predictions may be calculated right after training a model, and model training can occur even if an existing perceptron model is passed with -m (--input_model_file). However, note that the number of classes and the dimensionality of all data must match. So you cannot pass a perceptron model trained on 2 classes and then re-train with a 4-class dataset. Similarly, attempting classification on a 3-dimensional dataset with a perceptron that has been trained on 8 dimensions will cause an error.
Default help info.
Get help on a specific module or option. Default value ’’. --input_model_file (-m) [string] File containing input perceptron model. Default value ’’.
--labels_file (-l) [string]
A file containing labels for the training set. Default value ’’.
--max_iterations (-n) [int]
The maximum number of iterations the perceptron is to be run Default value 1000.
--test_file (-T) [string]
A file containing the test set. Default value ’’. --training_file (-t) [string] A file containing the training set. Default value ’’.
Display informational messages and the full list of parameters and timers at the end of execution.
Display the version of mlpack.
--output_file (-o) [string]
The file in which the predicted labels for the test set will be written. Default value ’’. --output_model_file (-M) [string] File to save trained perceptron model to. Default value ’’.
For further information, including relevant papers, citations, and theory, For further information, including relevant papers, citations, and theory, consult the documentation found at http://www.mlpack.org or included with your consult the documentation found at http://www.mlpack.org or included with your DISTRIBUTION OF MLPACK. DISTRIBUTION OF MLPACK.