Scikit Learn - LASSO multi-tâches

Il permet d'ajuster plusieurs problèmes de régression en imposant conjointement les caractéristiques sélectionnées pour être identiques pour tous les problèmes de régression, également appelés tâches. Sklearn fournit un modèle linéaire nomméMultiTaskLasso, formé avec une norme mixte L1, L2 pour la régularisation, qui estime conjointement les coefficients clairsemés pour les problèmes de régression multiple. En cela, la réponse y est un tableau 2D de formes (n_samples, n_tasks).

le parameters et le attributes pour MultiTaskLasso sont comme celui de Lasso. La seule différence réside dans le paramètre alpha. Dans Lasso, le paramètre alpha est une constante qui multiplie la norme L1, tandis que dans Multi-task Lasso, c'est une constante qui multiplie les termes L1 / L2.

Et, contrairement à Lasso, MultiTaskLasso n'a pas precompute attribut.

Exemple d'implémentation

Suivre les utilisations du script Python MultiTaskLasso modèle linéaire qui utilise en outre la descente de coordonnées comme algorithme pour ajuster les coefficients.

from sklearn import linear_model
MTLReg = linear_model.MultiTaskLasso(alpha=0.5)
MTLReg.fit([[0,0], [1, 1], [2, 2]], [[0, 0],[1,1],[2,2]])

Production

MultiTaskLasso(alpha = 0.5, copy_X = True, fit_intercept = True, max_iter = 1000,
   normalize = False, random_state = None, selection = 'cyclic', tol = 0.0001,
   warm_start = False)

Exemple

Maintenant, une fois ajusté, le modèle peut prédire de nouvelles valeurs comme suit -

MTLReg.predict([[0,1]])

Production

array([[0.53033009, 0.53033009]])

Exemple

Pour l'exemple ci-dessus, nous pouvons obtenir le vecteur de poids à l'aide du script python suivant -

MTLReg.coef_

Production

array([[0.46966991, 0. ],
[0.46966991, 0. ]])

Exemple

De même, nous pouvons obtenir la valeur de l'interception à l'aide du script python suivant -

MTLReg.intercept_

Production

array([0.53033009, 0.53033009])

Exemple

Nous pouvons obtenir le nombre total d'itérations pour obtenir la tolérance spécifiée à l'aide du script python suivant -

MTLReg.n_iter_

Production

2

Nous pouvons modifier les valeurs des paramètres pour obtenir la sortie souhaitée du modèle.