Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R glmnet批处理超大数据集_R_Matlab_Glmnet - Fatal编程技术网

R glmnet批处理超大数据集

R glmnet批处理超大数据集,r,matlab,glmnet,R,Matlab,Glmnet,我正在用matlab中的glmnet进行多项式回归,数据集大约为6-10GB,这取决于我的测试集有多大。我可以将其加载到内存中,但glmnetmex似乎无法处理整个数据集,以获得更大的训练大小(例如遗漏一个)。我怀疑应该有一种方法可以批量输入到glmnetmex,但我似乎在文档中找不到它。它是否存在,或者您对如何进行其他操作有何建议?如果R版本能够解决这个问题,那么我可以使用它来代替它能够向方法提供批处理需要两件事: 使用先前拟合初始化学习算法的能力 能够在有限的迭代次数内运行学习算法 gl

我正在用matlab中的glmnet进行多项式回归,数据集大约为6-10GB,这取决于我的测试集有多大。我可以将其加载到内存中,但glmnetmex似乎无法处理整个数据集,以获得更大的训练大小(例如遗漏一个)。我怀疑应该有一种方法可以批量输入到glmnetmex,但我似乎在文档中找不到它。它是否存在,或者您对如何进行其他操作有何建议?如果R版本能够解决这个问题,那么我可以使用它来代替它

能够向方法提供批处理需要两件事:

  • 使用先前拟合初始化学习算法的能力
  • 能够在有限的迭代次数内运行学习算法
glmnet
有后者,但不幸的是,没有前者。我认为你有几种解决问题的方法:

  • 找一台更好的机器。如果你的财务资源允许的话,你可以考虑使用一个云服务。
  • 深入查看
    glmnet
    代码。MATLAB和R包都是用FORTRAN编写的实际优化器的包装。在将模型变量传递给FORTRAN解算器之前,这两个包装器都对模型变量进行了新的初始化。您可以尝试修改它以使用预先计算的模型
  • <> LI>您可以考虑构建一个集合预测器,在每个批次上训练一个单独的<代码> GLMNET < /C>模型,并使用加权投票方案(其中每个预测器通过其交叉验证性能加权)进行最终预测。
  • 我有一个提供了更通用的正则化框架,但它也可以用于训练标准的弹性网络模型,如
    glmnet
    。我的软件包允许您使用预先计算的模型初始化训练,以及为固定的迭代次数运行训练。缺点是我只有一个二项式解算器,而不是多项式解算器。因此,您必须使用一对一或一对rest方案来破解它
  • 最后,如果您不喜欢线性模型,那么还有很多其他的学习方法可以方便地批量输入。深度学习和神经网络框架是目前比较流行的框架

能够将批次添加到方法需要两件事:

  • 使用先前拟合初始化学习算法的能力
  • 能够在有限的迭代次数内运行学习算法
glmnet
有后者,但不幸的是,没有前者。我认为你有几种解决问题的方法:

  • 找一台更好的机器。如果你的财务资源允许的话,你可以考虑使用一个云服务。
  • 深入查看
    glmnet
    代码。MATLAB和R包都是用FORTRAN编写的实际优化器的包装。在将模型变量传递给FORTRAN解算器之前,这两个包装器都对模型变量进行了新的初始化。您可以尝试修改它以使用预先计算的模型
  • <> LI>您可以考虑构建一个集合预测器,在每个批次上训练一个单独的<代码> GLMNET < /C>模型,并使用加权投票方案(其中每个预测器通过其交叉验证性能加权)进行最终预测。
  • 我有一个提供了更通用的正则化框架,但它也可以用于训练标准的弹性网络模型,如
    glmnet
    。我的软件包允许您使用预先计算的模型初始化训练,以及为固定的迭代次数运行训练。缺点是我只有一个二项式解算器,而不是多项式解算器。因此,您必须使用一对一或一对rest方案来破解它
  • 最后,如果您不喜欢线性模型,那么还有很多其他的学习方法可以方便地批量输入。深度学习和神经网络框架是目前比较流行的框架

等等,你用的是R还是Matlab?我用的是Matlab,但在引擎盖下,glmnetmex是Fortran。如果glmnet的matlab或R版本可以处理这个问题,我可以使用任何一种实现(最好是matlab)。我会在问题中说得更清楚。等等,你用的是R还是Matlab?我用的是Matlab,但在幕后,glmnetmex是Fortran。如果glmnet的matlab或R版本可以处理这个问题,我可以使用任何一种实现(最好是matlab)。我会在问题中说得更清楚。