我有300个数据样本,每个数据样本都有大约4000个尺寸。每个输入都有5个暗淡。输出在-2到2的范围内。我正在尝试将套索模型适合它。我经历了几篇文章,这些帖子谈到了这样的跨验证策略:在Matlab

中留出一个横跨验证算法

但我看到套索不支持Matlab释放! http://www.mathworks.com/help/stats/lasso.html

如何使用留出一个交叉验证并使用我的数据集上使用套索培训模型来培训模型?我想在Matlab中这样做。我想获得一组权重,我将能够用于其他数据的未来预测。

我尝试使用glmnet: http://www.stanford.edu/~ hastie / glmnet_matlab / intro.html ,但由于缺少适当的MEX编译器,我无法在我的机器上编译它。

我的问题的任何解决方案?谢谢:)

编辑

我也试图使用matlab使用内置的套索函数。它有一个选择交叉验证。它输出B且拟合统计信息,其中B是拟合系数,p-by-l矩阵,其中p是x中的预测器(列)的数量,l是lambda值的数量。

现在给出了一个新的测试样本,如何使用此模型计算输出?

有帮助吗?

解决方案

您可以使用休假方法,无论您的培训方法如何。如解释为这里,你可以使用<一个href=“http://www.mathworks.com/help/bioinfo/ref/crossvalind.html”rel=“nofollow noreferrer”> crossvalind 将数据拆分为训练和测试集。

[Train, Test] = crossvalind('LeaveMOut', N, M)
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top