Learn R Programming

rminer (version 1.4.1)

crossvaldata: 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 fit for details.
data
See fit for details.
theta.fit
fitting function
theta.predict
prediction function
ngroup
number of folds
mode
Possibilities are: "stratified", "random" or "order" (see holdout for details).
seed
if NULL then a random seed is used; else a fixed seed is adopted (will return always the same result for the same seed).
model
See fit for details.
task
See fit for details.
feature
See fit for details.
...
Additional parameters sent to theta.fit or theta.predic (e.g. search)

Value

Returns a list with:
  • $cv.fit -- all predictions (factor if task="class", matrix if task="prob" or numeric if task="reg");
  • $mpar -- matrix 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;

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).

References

Check the crossval function of the bootstrap library.

See Also

holdout, fit, mining and predict.fit.

Examples

Run this code
 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)

Run the code above in your browser using DataLab