Regression estimator. Linear Model trained with L1 regularization technique (Lasso).
Syntax
parameters = lassofit(X,y)
parameters = lassofit(X,y,options)
Inputs
 X
 Training data.
 Type: double
 Dimension: vector  matrix
 y
 Target values.
 Type: double
 Dimension: vector  matrix
 options
 Type: struct

 alpha
 Constant that multiplies the L1 term (default: 1). Defaults to 1.0. If alpha=0, it’s equivalent to Ordinary Least Square. Instead of setting alpha=0, linearFit can be used.
 Type: double
 Dimension: scalar
 normalize
 If true, input data X will be normalized before performing regression (default: false). It’s done by subtracting mean and dividing by the standard deviation.
 Type: Boolean
 Dimension: logical
 max_iter
 Maximum number of iterations.
 Type: integer
 Dimension: scalar
 tol
 Tolerance for the optimization. If the updates are smaller than tol the optimization code checks the dual gap for optimality and continues until it is smaller than the tolerance.
 Type: double
 Dimension: scalar
 positive
 If set to true, forces the coefficients to be positive (default: false).
 Type: Boolean
 Dimension: logical
 random_state
 Selects a random feature to update. random_state is the seed used by the random number generator.
 Type: integer
 Dimension: scalar
 selection
 If set to 'random', a random coefficient is updated every iteration rather than looping over features sequentially. This ('random') often leads to significantly faster convergence especially when tol is higher than 1e4. Default: 'cyclic'
 Type: char
 Dimension: string
Outputs
 parameters
 Contains all the values passed to lassofit method as options. Additionally it has below keyvalue pairs.
 Type: struct

 scorer
 Function handle pointing to r2 function (R2 Coefficient of Determination).
 Type: function handle
 intercept
 Constants in decision function.
 Type: integer
 Dimension: scalar
 coef
 Parameter vector.
 Type: double
 Dimension: n_features
 params
 Parameter vector with intercept.
 Type: double
 Dimension: n_features + 1
 n_iter
 Number of iterations run by the coordinate descent solver to reach the specified tolerance.
 Type: integer
 Dimension: scalar
 n_samples
 Number of rows in the training data.
 Type: integer
 Dimension: scalar
 n_features
 Number of columns in the training data.
 Type: integer
 Dimension: scalar
Example
Usage of lassofit with options
X = [1 2 3; 4 5 6; 7 8 9; 10 11 12; 13 14 15; 16 17 18; 19 20 21];
y = [1, 2, 3, 4, 5, 6, 7];
options = struct;
options.normalize = true;
parameters = lassofit(X, y, options)
parameters = struct [
alpha: 1
coef: [Matrix] 1 x 3
0 0 0
intercept: 4
n_features: 3
n_iter: 1
n_samples: 7
normalize: 1
params: [Matrix] 1 x 4
4 0 0 0
positive: 0
scorer: @r2
selection: cyclic
]
Comments
Coordinate descent is used to fit the model. Coordinate descent is an algorithm that considers each column of data at a time. Output 'parameters' can be passed to lassopredict function.