mlpack_softmax_regression - softmax regression


mlpack_softmax_regression [-m unknown] [-l string] [-r double] [-n int] [-N bool] [-c int] [-T string] [-L string] [-t string] [-V bool] [-M unknown] [-p string] [-h -v]


This program performs softmax regression, a generalization of logistic regression to the multiclass case, and has support for L2 regularization. The program is able to train a model, load an existing model, and give predictions (and optionally their accuracy) for test data.

Training a softmax regression model is done by giving a file of training points with the ’--training_file (-t)’ parameter and their corresponding labels with the ’--labels_file (-l)’ parameter. The number of classes can be manually specified with the ’--number_of_classes (-c)’ parameter, and the maximum number of iterations of the L-BFGS optimizer can be specified with the ’--max_iterations (-n)’ parameter. The L2 regularization constant can be specified with the ’--lambda (-r)’ parameter and if an intercept term is not desired in the model, the ’--no_intercept (-N)’ parameter can be specified.

The trained model can be saved with the ’--output_model_file (-M)’ output parameter. If training is not desired, but only testing is, a model can be loaded with the ’--input_model_file (-m)’ parameter. At the current time, a loaded model cannot be trained further, so specifying both ’--input_model_file (-m)’ and ’--training_file (-t)’ is not allowed.

The program is also able to evaluate a model on test data. A test dataset can be specified with the ’--test_file (-T)’ parameter. Class predictions can be saved with the ’--predictions_file (-p)’ output parameter. If labels are specified for the test data with the ’--test_labels_file (-L)’ parameter, then the program will print the accuracy of the predictions on the given test set and its corresponding labels.

For example, to train a softmax regression model on the data ’dataset.csv’ with labels ’labels.csv’ with a maximum of 1000 iterations for training, saving the trained model to ’sr_model.bin’, the following command can be used:

$ softmax_regression --training_file dataset.csv --labels_file labels.csv --output_model_file sr_model.bin

Then, to use ’sr_model.bin’ to classify the test points in ’test_points.csv’, saving the output predictions to ’predictions.csv’, the following command can be used:

$ softmax_regression --input_model_file sr_model.bin --test_file test_points.csv --predictions_file predictions.csv


--help (-h) [bool]

Default help info.

--info [string]

Get help on a specific module or option. Default value ’’.

--input_model_file (-m) [unknown]

File containing existing model (parameters). Default value ’’.

--labels_file (-l) [string]

A matrix containing labels (0 or 1) for the points in the training set (y). The labels must order as a row. Default value ’’.

--lambda (-r) [double]

L2-regularization constant Default value 0.0001.

--max_iterations (-n) [int]

Maximum number of iterations before termination. Default value 400.

--no_intercept (-N) [bool]

Do not add the intercept term to the model.

--number_of_classes (-c) [int]

Number of classes for classification; if unspecified (or 0), the number of classes found in the labels will be used. Default value 0.

--test_file (-T) [string]

Matrix containing test dataset. Default value ’’.

--test_labels_file (-L) [string]

Matrix containing test labels. Default value ’’.

--training_file (-t) [string]

A matrix containing the training set (the matrix of predictors, X). Default value ’’.

--verbose (-v) [bool]

Display informational messages and the full list of parameters and timers at the end of execution.

--version (-V) [bool]

Display the version of mlpack.


--output_model_file (-M) [unknown]

File to save trained softmax regression model to. Default value ’’.

--predictions_file (-p) [string]

Matrix to save predictions for test dataset into. Default value ’’.


For further information, including relevant papers, citations, and theory, consult the documentation found at or included with your distribution of mlpack.