- Scikit Learn 教程
- Scikit Learn - 首页
- Scikit Learn - 简介
- Scikit Learn - 建模过程
- Scikit Learn - 数据表示
- Scikit Learn - 估计器API
- Scikit Learn - 约定
- Scikit Learn - 线性模型
- Scikit Learn - 扩展线性模型
- 随机梯度下降
- Scikit Learn - 支持向量机
- Scikit Learn - 异常检测
- Scikit Learn - K近邻算法
- Scikit Learn - KNN学习
- 朴素贝叶斯分类
- Scikit Learn - 决策树
- 随机决策树
- Scikit Learn - 集成方法
- Scikit Learn - 聚类方法
- 聚类性能评估
- 使用PCA进行降维
- Scikit Learn 有用资源
- Scikit Learn - 快速指南
- Scikit Learn - 有用资源
- Scikit Learn - 讨论
Scikit Learn - 多任务LASSO
它允许联合拟合多个回归问题,强制所有回归问题(也称为任务)选择的特征相同。Sklearn 提供了一个名为MultiTaskLasso的线性模型,该模型使用混合 L1、L2 范数进行正则化训练,可以联合估计多个回归问题的稀疏系数。其中响应 y 是形状为 (n_samples, n_tasks) 的二维数组。
MultiTaskLasso 的参数和属性与Lasso类似。唯一的区别在于 alpha 参数。在 Lasso 中,alpha 参数是一个乘以 L1 范数的常数,而在多任务 Lasso 中,它是一个乘以 L1/L2 项的常数。
并且,与 Lasso 相反,MultiTaskLasso 没有precompute属性。
实现示例
下面的 Python 脚本使用MultiTaskLasso线性模型,该模型进一步使用坐标下降作为算法来拟合系数。
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]])
输出
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)
示例
现在,一旦拟合,模型就可以预测新的值,如下所示:
MTLReg.predict([[0,1]])
输出
array([[0.53033009, 0.53033009]])
示例
对于上面的示例,我们可以使用以下 Python 脚本来获取权重向量:
MTLReg.coef_
输出
array([[0.46966991, 0. ], [0.46966991, 0. ]])
示例
类似地,我们可以使用以下 Python 脚本来获取截距值:
MTLReg.intercept_
输出
array([0.53033009, 0.53033009])
示例
我们可以使用以下 Python 脚本来获取达到指定容差的总迭代次数:
MTLReg.n_iter_
输出
2
我们可以更改参数的值以从模型中获得所需的输出。
广告