R mlr-从训练数据子集和整个测试数据(不是整个训练数据)创建学习曲线?

R mlr-从训练数据子集和整个测试数据(不是整个训练数据)创建学习曲线?,r,machine-learning,mlr,R,Machine Learning,Mlr,假设我正在创建这样的学习曲线(代码中可能有一些小错误,这只是一个示例)。我想要的是一个经典的学习曲线,在这里你可以放大训练集,保持验证/测试集的大小不变 learningCurve <- generateLearningCurveData("regr.glmnet", bh.task, makeResampleDesc(

假设我正在创建这样的学习曲线(代码中可能有一些小错误,这只是一个示例)。我想要的是一个经典的学习曲线,在这里你可以放大训练集,保持验证/测试集的大小不变

learningCurve <- generateLearningCurveData("regr.glmnet",
                                           bh.task,
                                           makeResampleDesc(method = "cv", iters = 5, predict = "both"),
                                           seq(0.1, 1, by = 0.1),
                                           list(setAggregation(auc, train.mean), setAggregation(auc, test.mean))
)

learningCurve作为未来读者的参考,这将是固定的,下面是github的问题


此问题的修复程序已存在,应尽快合并

修复到位后,我在评论中获得了完整示例的以下学习曲线:


train.mean
应该为您提供所需培训数据的性能,请参阅。你得到的是没有意义的数字吗?是的,我看过那个页面,我正在广泛使用它。我不是说结果没有意义——它们确实有意义,但它们不是我想要的。问题是,当你在10%的训练数据上训练数据时,
train.mean
仍然在100%的训练数据上测量性能(我检查过)。结果是,“训练误差”曲线和“测试误差”曲线都会随着样本的增加而下降,在经典的“学习曲线”中,训练误差通常会增加,就像我提供的scikit中的链接一样。不确定这是否清楚。我对代码的理解是,它按照您描述的方式发生。你对mlr和scikit learn进行了直接比较,结果表明情况并非如此吗?评论太长了。如果可以,请检查这两个代码。结果可以说是相似的,但我相信这一点是显而易见的。Mlr对整个训练数据进行训练,而scikit对训练数据子集进行训练(这正是我试图实现的)。谢谢,那很有帮助。我现在没有时间研究这个问题,但我已经提出了一个问题: