R/outOfSample.R
makekWayCrossValidationGroupedByColumn.Rd
Build a k-fold cross validation splitter, respecting (never splitting) groupingColumn.
makekWayCrossValidationGroupedByColumn(groupingColumnName)
groupingColumnName | name of column to group by. |
---|
splitting function in the sense of vtreat::buildEvalSets.
d <- data.frame(y=sin(1:100)) d$group <- floor(seq_len(nrow(d))/5) splitter <- makekWayCrossValidationGroupedByColumn('group') split <- splitter(nrow(d),5,d,d$y) d$splitLabel <- vtreat::getSplitPlanAppLabels(nrow(d),split) rowSums(table(d$group,d$splitLabel)>0)#> 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #> 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1