Open In App

Multi-task lasso regression

Last Updated : 23 Aug, 2021
Like Article

MultiTaskLasso  Regression is an enhanced version of  Lasso regression. MultiTaskLasso is a model provided by sklearn that is used for multiple regression problems to work together by estimating their sparse coefficients. There is the same feature for all the regression problems called tasks. This model is trained with a mixed l1/l2 norm for regularization. It is similar to the Lasso regression in many aspects. The major difference is of the alpha parameter where the alpha is a constant that multiplies the l1/l2 norms.

The MultiTaskLasso model has the following parameters:

alpha: a float value that multiplies l1/l2 norms. by default 1.0 
fit_intercept: decide whether to use intercept for calculations. 
normalize: used to normalize the regressors in the data 
max_itr: number of maximum iteration. by default -1000 
selection: to determine how the updation of the coefficient will take place values – {‘cyclic’, ‘random’} by default cyclic 
tol: tolerance for optimization. 
random_state: A random feature is selected to update.

Code : To illustrate the working of MultiTaskLasso Regression in python


# import linear model library
from sklearn import linear_model
# create MultiTaskLasso model
MTL = linear_model.MultiTaskLasso(alpha = 0.5)
# fit the model to a data[[1, 0], [1, 3], [2, 2]], [[0, 2], [1, 4], [2, 4]])
# perform prediction and print the result
print("Prediction result: \n", MTL.predict([[0, 1]]), "\n")
# print the coefficients
print("Coefficients: \n", MTL.coef_, "\n")
# print the intercepts
print("Intercepts: \n", MTL.intercept_, "\n")
# print the number of iterations performed
print("Number of Iterations: ", MTL.n_iter_, "\n")


Prediction result: 
[[0.8245348  3.04089134]] 

[[0.         0.26319779]
 [0.         0.43866299]] 

[0.56133701 2.60222835] 

Number of Iterations: 2


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads