When calling xgb.cv, analysts
may wish to manually specify folds
rather than nfolds
.
This function generates an object that can be given as
an input for folds
and additionally lets the analyst
specify stratifying variables to create balanced folds.
xgb_folds(data, nfolds, strata = NULL)
data | a data.frame or tibble that will be used to generate folds. |
---|---|
nfolds | (integer) the number of folds |
strata | A variable that is used to conduct stratified sampling
to create the folds. This could be a single character value or a
variable name that corresponds to a variable in |
#> $`1` #> [1] 4 50 57 60 62 68 76 82 84 99 #> #> $`2` #> [1] 5 17 18 24 37 66 73 75 88 98 #> #> $`3` #> [1] 2 7 21 33 53 56 59 64 90 95 #> #> $`4` #> [1] 3 6 22 28 35 44 45 55 69 94 #> #> $`5` #> [1] 10 25 32 36 41 63 78 79 83 85 #> #> $`6` #> [1] 11 16 19 20 31 46 54 77 80 96 #> #> $`7` #> [1] 1 13 39 40 42 65 74 86 91 97 #> #> $`8` #> [1] 12 14 23 27 29 49 70 72 92 93 #> #> $`9` #> [1] 8 26 30 47 48 52 61 81 87 100 #> #> $`10` #> [1] 9 15 34 38 43 51 58 67 71 89 #>xgb_folds(data = df, nfolds = 100)#> $`1` #> [1] 26 #> #> $`2` #> [1] 6 #> #> $`3` #> [1] 4 #> #> $`4` #> [1] 40 #> #> $`5` #> [1] 72 #> #> $`6` #> [1] 98 #> #> $`7` #> [1] 42 #> #> $`8` #> [1] 92 #> #> $`9` #> [1] 61 #> #> $`10` #> [1] 82 #> #> $`11` #> [1] 63 #> #> $`12` #> [1] 33 #> #> $`13` #> [1] 2 #> #> $`14` #> [1] 56 #> #> $`15` #> [1] 32 #> #> $`16` #> [1] 94 #> #> $`17` #> [1] 29 #> #> $`18` #> [1] 76 #> #> $`19` #> [1] 84 #> #> $`20` #> [1] 46 #> #> $`21` #> [1] 48 #> #> $`22` #> [1] 57 #> #> $`23` #> [1] 85 #> #> $`24` #> [1] 16 #> #> $`25` #> [1] 28 #> #> $`26` #> [1] 9 #> #> $`27` #> [1] 77 #> #> $`28` #> [1] 97 #> #> $`29` #> [1] 99 #> #> $`30` #> [1] 39 #> #> $`31` #> [1] 51 #> #> $`32` #> [1] 25 #> #> $`33` #> [1] 58 #> #> $`34` #> [1] 27 #> #> $`35` #> [1] 93 #> #> $`36` #> [1] 30 #> #> $`37` #> [1] 36 #> #> $`38` #> [1] 75 #> #> $`39` #> [1] 14 #> #> $`40` #> [1] 65 #> #> $`41` #> [1] 69 #> #> $`42` #> [1] 41 #> #> $`43` #> [1] 10 #> #> $`44` #> [1] 1 #> #> $`45` #> [1] 74 #> #> $`46` #> [1] 67 #> #> $`47` #> [1] 11 #> #> $`48` #> [1] 70 #> #> $`49` #> [1] 95 #> #> $`50` #> [1] 52 #> #> $`51` #> [1] 34 #> #> $`52` #> [1] 60 #> #> $`53` #> [1] 13 #> #> $`54` #> [1] 17 #> #> $`55` #> [1] 7 #> #> $`56` #> [1] 22 #> #> $`57` #> [1] 49 #> #> $`58` #> [1] 24 #> #> $`59` #> [1] 47 #> #> $`60` #> [1] 19 #> #> $`61` #> [1] 73 #> #> $`62` #> [1] 96 #> #> $`63` #> [1] 45 #> #> $`64` #> [1] 100 #> #> $`65` #> [1] 88 #> #> $`66` #> [1] 66 #> #> $`67` #> [1] 43 #> #> $`68` #> [1] 23 #> #> $`69` #> [1] 68 #> #> $`70` #> [1] 50 #> #> $`71` #> [1] 55 #> #> $`72` #> [1] 91 #> #> $`73` #> [1] 64 #> #> $`74` #> [1] 59 #> #> $`75` #> [1] 86 #> #> $`76` #> [1] 44 #> #> $`77` #> [1] 54 #> #> $`78` #> [1] 21 #> #> $`79` #> [1] 89 #> #> $`80` #> [1] 83 #> #> $`81` #> [1] 80 #> #> $`82` #> [1] 8 #> #> $`83` #> [1] 12 #> #> $`84` #> [1] 18 #> #> $`85` #> [1] 90 #> #> $`86` #> [1] 79 #> #> $`87` #> [1] 37 #> #> $`88` #> [1] 31 #> #> $`89` #> [1] 87 #> #> $`90` #> [1] 78 #> #> $`91` #> [1] 81 #> #> $`92` #> [1] 20 #> #> $`93` #> [1] 71 #> #> $`94` #> [1] 5 #> #> $`95` #> [1] 62 #> #> $`96` #> [1] 35 #> #> $`97` #> [1] 38 #> #> $`98` #> [1] 15 #> #> $`99` #> [1] 3 #> #> $`100` #> [1] 53 #>xgb_folds(data = df, nfolds = 10, strata = c)#> $`1` #> [1] 11 16 19 21 26 69 71 80 86 94 #> #> $`2` #> [1] 3 25 27 34 41 45 58 64 82 92 #> #> $`3` #> [1] 2 4 24 35 44 55 81 87 88 99 #> #> $`4` #> [1] 17 22 60 61 62 65 77 90 97 100 #> #> $`5` #> [1] 1 7 20 38 40 49 50 51 72 73 #> #> $`6` #> [1] 12 31 39 42 53 54 63 67 70 76 #> #> $`7` #> [1] 10 13 15 28 47 56 68 75 78 93 #> #> $`8` #> [1] 8 33 36 52 59 84 89 91 95 98 #> #> $`9` #> [1] 5 6 14 23 29 32 43 66 83 96 #> #> $`10` #> [1] 9 18 30 37 46 48 57 74 79 85 #>