跳到主要内容

多任务带交叉验证的弹性网络回归(MultiTaskElasticNetCV)使用文档

组件名称多任务带交叉验证的弹性网络回归(MultiTaskElasticNetCV)
工具集机器学习/回归/多任务带交叉验证的弹性网络回归(MultiTaskElasticNetCV)
组件作者雪浪云-燕青
文档版本1.0
功能多任务带交叉验证的弹性网络回归(MultiTaskElasticNetCV)算法
镜像名称ml_components:3
开发语言Python

组件原理

多任务学习(Multi-task learning)是和单任务学习(single-task learning)相对的一种机器学习方法。在机器学习领域,标准的算法理论是一次学习一个任务,也就是系统的输出为实数的情况。复杂的学习问题先被分解成理论上独立的子问题,然后分别对每个子问题进行学习,最后通过对子问题学习结果的组合建立复杂问题的数学模型。多任务学习是一种联合学习,多个任务并行学习,结果相互影响。所谓多任务学习,就是同时求解多个问题。个性化问题就是一种典型的多任务学习问题,它同时学习多个用户的兴趣偏好

交叉验证,有的时候也称作循环估计(Rotation Estimation),是一种统计学上将数据样本切割成较小子集的实用方法,该理论是由Seymour Geisser提出的。在给定的建模样本中,拿出大部分样本进行建模型,留小部分样本用刚建立的模型进行预报,并求这小部分样本的预报误差,记录它们的平方加和。这个过程一直进行,直到所有的样本都被预报了一次而且仅被预报一次。把每个样本的预报误差平方加和,称为PRESS(predicted Error Sum of Squares)。

交叉验证的基本思想是把在某种意义下将原始数据(dataset)进行分组,一部分做为训练集(train set),另一部分做为验证集(validation set or test set)。首先用训练集对分类器进行训练,再利用验证集来测试训练得到的模型(model),以此来做为评价分类器的性能指标。

在统计学中,特别是在线性或逻辑回归模型的拟合中,弹性网络是一种正则化的回归方法,它将L1和L2惩罚值线性组合起来。

弹性网最初是由于对lasso的批评而出现的,lasso的变量选择可能过于依赖于数据,因此不稳定。解决方案是结合岭回归和lasso的惩罚项,以得到最好的模型。弹性网络的目标是使以下损失函数最小化:

现在,有两个参数需要调优:λ和α。

输入桩

支持单个csv文件输入。

输入端子1

  • 端口名称:训练数据
  • 输入类型:Csv文件
  • 功能描述: 输入用于训练的数据

输出桩

支持sklearn模型输出。

输出端子1

  • 端口名称:输出模型
  • 输出类型:sklearn模型
  • 功能描述: 输出训练好的模型用于预测

参数配置

alphas

  • 功能描述:乘以惩罚项的常数列表,用于交叉验证选择参数
  • 必选参数:是
  • 默认值:1

L1 Ratio

  • 功能描述:弹性网混合参数,应该在0,1之间。
  • 必选参数:是
  • 默认值:0.5

eps

  • 功能描述:步长。
  • 必选参数:是
  • 默认值:0.001

n_alphas

  • 功能描述:alphas的长度
  • 必选参数:是
  • 默认值:100

Fit Intercept

  • 功能描述:是否应该计算截距。
  • 必选参数:是
  • 默认值:true

normalize

  • 功能描述:当fit_intercept设置为False时,将忽略该参数。若为真,则回归前对回归量X进行归一化处理,取均值减去后除以l2-范数。
  • 必选参数:是
  • 默认值:false

Max Iter

  • 功能描述:最大迭代次数。
  • 必选参数:是
  • 默认值:1000

tol

  • 功能描述:优化器的容忍度。
  • 必选参数:是
  • 默认值:0.0001

cv

  • 功能描述:确定交叉验证分割策略。
  • 必选参数:是
  • 默认值:3

Copy X

  • 功能描述:如果为真,则复制X;否则,它可能被覆盖。
  • 必选参数:是
  • 默认值:true

Random State

  • 功能描述:随机种子。
  • 必选参数:否
  • 默认值:(无)

selection

  • 功能描述:如果设置为“随机”,则每次迭代都会更新一个随机系数,而不是默认情况下按顺序遍历特性。
  • 必选参数:是
  • 默认值:cyclic

需要训练

  • 功能描述:该模型是否需要训练,默认为需要训练。
  • 必选参数:是
  • 默认值:true

特征字段

  • 功能描述:特征字段
  • 必选参数:是
  • 默认值:(无)

识别字段

  • 功能描述:识别字段
  • 必选参数:是
  • 默认值:(无)

使用方法

  • 将组件拖入到项目中
  • 与前一个组件输出的端口连接(必须是csv类型)
  • 点击运行该节点

测试用例

  • 模板

  • 右面板配置

  • 查看结果