Modèle linéaire : LASSO multi tâche

20 min Niveau 5

Il permet d'ajuster conjointement des problèmes de régression multiple en imposant que les caractéristiques sélectionnées soient les mêmes pour tous les problèmes de régression, également appelés tâches. Sklearn fournit un modèle linéaire nommé MultiTaskLasso, entraîné avec une norme mixte L1, L2 pour la régularisation, qui estime les coefficients épars pour les problèmes de régression multiple conjointement. Dans ce modèle, la réponse y est un tableau 2D de forme (n_échantillons, n_tâches).

Les paramètres et les attributs de MultiTaskLasso sont similaires à ceux 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, alors que dans Multi-task Lasso, c'est une constante qui multiplie les termes L1/L2.

Et, contrairement à Lasso, MultiTaskLasso n'a pas d'attribut de précalcul.

Exemple d'implémentation

Le script Python suivant utilise le modèle linéaire MultiTaskLasso qui utilise ensuite 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]])

Sortie

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

logo discord

Besoin d'aide ?

Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !

En savoir plus