**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.0fit_intercept:decide whether to use intercept for calculations.normalize:used to normalize the regressors in the datamax_itr:number of maximum iteration. by default -1000selection:to determine how the updation of the coefficient will take place values – {‘cyclic’, ‘random’} by default cyclictol: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` `MTL.fit([[` `1` `, ` `0` `], [` `1` `, ` `3` `], [` `2` `, ` `2` `]], [[` `0` `, ` `2` `], [` `1` `, ` `4` `], [` `2` `, ` `4` `]])` ` ` `# perform prediction and print the result` `print` `(` `"Prediciton 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"` `)` |

**Output:**

Prediciton result: [[0.8245348 3.04089134]] Coefficients: [[0. 0.26319779] [0. 0.43866299]] Intercepts: [0.56133701 2.60222835] Number of Iterations: 2