View source: R/softmax_regression.R
softmax_regression | R Documentation |
An implementation of softmax regression for classification, which is a multiclass generalization of logistic regression. Given labeled data, a softmax regression model can be trained and saved for future use, or, a pre-trained softmax regression model can be used for classification of new points.
softmax_regression(
input_model = NA,
labels = NA,
lambda = NA,
max_iterations = NA,
no_intercept = FALSE,
number_of_classes = NA,
test = NA,
test_labels = NA,
training = NA,
verbose = getOption("mlpack.verbose", FALSE)
)
input_model |
File containing existing model (parameters) (SoftmaxRegression). |
labels |
A matrix containing labels (0 or 1) for the points in the training set (y). The labels must order as a row (integer row). |
lambda |
L2-regularization constan. Default value "0.0001" (numeric). |
max_iterations |
Maximum number of iterations before termination. Default value "400" (integer). |
no_intercept |
Do not add the intercept term to the model. Default value "FALSE" (logical). |
number_of_classes |
Number of classes for classification; if unspecified (or 0), the number of classes found in the labels will be used. Default value "0" (integer). |
test |
Matrix containing test dataset (numeric matrix). |
test_labels |
Matrix containing test labels (integer row). |
training |
A matrix containing the training set (the matrix of predictors, X) (numeric matrix). |
verbose |
Display informational messages and the full list of parameters and timers at the end of execution. Default value "getOption("mlpack.verbose", FALSE)" (logical). |
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" parameter and their corresponding labels with the "labels" parameter. The number of classes can be manually specified with the "number_of_classes" parameter, and the maximum number of iterations of the L-BFGS optimizer can be specified with the "max_iterations" parameter. The L2 regularization constant can be specified with the "lambda" parameter and if an intercept term is not desired in the model, the "no_intercept" parameter can be specified.
The trained model can be saved with the "output_model" output parameter. If training is not desired, but only testing is, a model can be loaded with the "input_model" parameter. At the current time, a loaded model cannot be trained further, so specifying both "input_model" and "training" is not allowed.
The program is also able to evaluate a model on test data. A test dataset can be specified with the "test" parameter. Class predictions can be saved with the "predictions" output parameter. If labels are specified for the test data with the "test_labels" parameter, then the program will print the accuracy of the predictions on the given test set and its corresponding labels.
A list with several components:
output_model |
File to save trained softmax regression model to (SoftmaxRegression). |
predictions |
Matrix to save predictions for test dataset into (integer row). |
probabilities |
Matrix to save class probabilities for test dataset into (numeric matrix). |
mlpack developers
# For example, to train a softmax regression model on the data "dataset" with
# labels "labels" with a maximum of 1000 iterations for training, saving the
# trained model to "sr_model", the following command can be used:
## Not run:
output <- softmax_regression(training=dataset, labels=labels)
sr_model <- output$output_model
## End(Not run)
# Then, to use "sr_model" to classify the test points in "test_points",
# saving the output predictions to "predictions", the following command can
# be used:
## Not run:
output <- softmax_regression(input_model=sr_model, test=test_points)
predictions <- output$predictions
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.