Scikit Learn - LASSO multitarea
Permite ajustar múltiples problemas de regresión haciendo que las características seleccionadas sean las mismas para todos los problemas de regresión, también llamados tareas. Sklearn proporciona un modelo lineal llamadoMultiTaskLasso, entrenado con una norma mixta L1, L2 para regularización, que estima coeficientes escasos para problemas de regresión múltiple de manera conjunta. En esto, la respuesta y es una matriz 2D de formas (n_samples, n_tasks).
los parameters y el attributes para MultiTaskLasso son como los de Lasso. La única diferencia está en el parámetro alfa. En Lasso, el parámetro alfa es una constante que multiplica la norma L1, mientras que en Multi-task Lasso es una constante que multiplica los términos L1 / L2.
Y, a diferencia de Lasso, MultiTaskLasso no tiene precompute atributo.
Ejemplo de implementación
Siguiendo los usos del script de Python MultiTaskLasso modelo lineal que utiliza además el descenso de coordenadas como algoritmo para ajustar los coeficientes.
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]])
Salida
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)
Ejemplo
Ahora, una vez ajustado, el modelo puede predecir nuevos valores de la siguiente manera:
MTLReg.predict([[0,1]])
Salida
array([[0.53033009, 0.53033009]])
Ejemplo
Para el ejemplo anterior, podemos obtener el vector de peso con la ayuda del siguiente script de Python:
MTLReg.coef_
Salida
array([[0.46966991, 0. ],
[0.46966991, 0. ]])
Ejemplo
Del mismo modo, podemos obtener el valor de la intercepción con la ayuda de la siguiente secuencia de comandos de Python:
MTLReg.intercept_
Salida
array([0.53033009, 0.53033009])
Ejemplo
Podemos obtener el número total de iteraciones para obtener la tolerancia especificada con la ayuda del siguiente script de Python:
MTLReg.n_iter_
Salida
2
Podemos cambiar los valores de los parámetros para obtener el resultado deseado del modelo.