mapRpart function
Map boost template patterns in code to their current values.
Implementation
String mapRpart(WidgetRef ref, String code) {
// Obtain the current values of the global variables.
int minSplit = ref.read(treeMinSplitProvider);
int maxDepth = ref.read(treeMaxDepthProvider);
int minBucket = ref.read(treeMinBucketProvider);
bool treeIncludeMissing = ref.read(treeIncludeMissingProvider);
double complexity = ref.read(treeComplexityProvider);
String lossMatrix = ref.read(treeLossMatrixProvider);
String priors = ref.read(treePriorsProvider);
// Perform the mapping.
code = code.replaceAll(
'<RPART_INCLUDE_MISSING>',
treeIncludeMissing
? ''
: 'usesurrogate = 0,\n maxsurrogate = 0,\n ',
);
code = code.replaceAll('<MINSPLIT>', 'minsplit = ${minSplit.toString()}');
code = code.replaceAll(
'<MINBUCKET>',
'minbucket = ${minBucket.toString()}',
);
code = code.replaceAll('<MAXDEPTH>', 'maxdepth = ${maxDepth.toString()}');
code = code.replaceAll('<CP>', 'cp = ${complexity.toString()}');
code = code.replaceAll(
'<PRIORS>',
priors.isNotEmpty ? ', prior = c($priors)' : '',
);
code = code.replaceAll(
'<LOSS>',
lossMatrix.isNotEmpty ? ', loss = matrix(c($lossMatrix))' : '',
);
return (code);
}