Observe how the performance changes with an increasing number of observations.

generateLearningCurveData(learners, task, resampling = NULL,
percs = seq(0.1, 1, by = 0.1), measures, stratify = FALSE,
show.info = getMlrOption("show.info"))

## Arguments

learners [(list of) [Learner]) Learning algorithms which should be compared. (Task) The task. ([ResampleDesc] | [ResampleInstance]) Resampling strategy to evaluate the performance measure. If no strategy is given a default "Holdout" will be performed. ([numeric]) Vector of percentages to be drawn from the training split. These values represent the x-axis. Internally [makeDownsampleWrapper] is used in combination with [benchmark]. Thus for each percentage a different set of observations is drawn resulting in noisy performance measures as the quality of the sample can differ. [(list of) [Measure]) Performance measures to generate learning curves for, representing the y-axis. (logical(1)) Only for classification: Should the downsampled data be stratified according to the target classes? (logical(1)) Print verbose output on console? Default is set via configureMlr.

## Value

([LearningCurveData]). A list containing:

measures

[(list of) [Measure])
Performance measures.

data

([data.frame]) with columns:

• learner Names of learners.

• percentage Percentages drawn from the training split.

• One column for each [Measure] passed to [generateLearningCurveData].

Other generate_plot_data: generateCalibrationData, generateCritDifferencesData, generateFeatureImportanceData, generateFilterValuesData, generatePartialDependenceData, generateThreshVsPerfData, plotFilterValues
Other learning_curve: plotLearningCurve
r = generateLearningCurveData(list("classif.rpart", "classif.knn"),
plotLearningCurve(r)