crossvaldata {rminer} | R Documentation |
Computes k-fold cross validation for rminer models.
Description
Computes k-fold cross validation for rminer models.
Usage
crossvaldata(x, data, theta.fit, theta.predict, ngroup = 10,
mode = "stratified", seed = NULL, model, task, feature = "none",
...)
Arguments
x |
See |
data |
See |
theta.fit |
fitting function |
theta.predict |
prediction function |
ngroup |
number of folds |
mode |
Possibilities are: "stratified", "random" or "order" (see |
seed |
if |
model |
See |
task |
See |
feature |
See |
... |
Additional parameters sent to |
Details
Standard k-fold cross-validation adopted for rminer models.
By default, for classification tasks ("class" or "prob") a stratified sampling is used
(the class distributions are identical for each fold), unless mode
is set to random
or order
(see holdout
for details).
Value
Returns a list with:
$cv.fit – all predictions (factor if
task="class"
, matrix iftask="prob"
or numeric iftask="reg"
);$model – vector list with the model for each fold.
$mpar – vector list with the mpar for each fold;
$attributes – the selected attributes for each fold if a feature selection algorithm was adopted;
$ngroup – the number of folds;
$leave.out – the computed size for each fold (=
nrow(data)/ngroup
);$groups – vector list with the indexes of each group;
$call – the call of this function;
Note
A better control (e.g. use of several Runs) is achieved using the simpler mining
function.
Author(s)
This function was adapted by Paulo Cortez from the crossval
function of the bootstrap library (S original by R. Tibshirani and R port by F. Leisch).
References
Check the crossval
function of the bootstrap library.
See Also
holdout
, fit
, mining
and predict.fit
.
Examples
### dontrun is used when the execution of the example requires some computational effort.
## Not run:
data(iris)
# 3-fold cross validation using fit and predict
# the control argument is sent to rpart function
# rpart.control() is from the rpart package
M=crossvaldata(Species~.,iris,fit,predict,ngroup=3,seed=12345,model="rpart",
task="prob", control = rpart::rpart.control(cp=0.05))
print("cross validation object:")
print(M)
C=mmetric(iris$Species,M$cv.fit,metric="CONF")
print("confusion matrix:")
print(C)
## End(Not run)