2017-03-02 2 views
0

J'utilise R package caret pour comparer les performances de différents classificateurs sur mes données.Interprétation des résultats de chronométrage à partir de l'option timingSamps dans le paquet R caret

Une façon dont je veux quantifier la performance est d'être en mesure de dire quelque chose sur le temps de classer pris une observation par chaque classificateur par rapport aux autres classificateurs.

Je pense que les informations données en définissant l'option timingSamps dans trainControl me permettront d'obtenir les informations dont j'ai besoin. Je ne sais pas comment l'interpréter et la documentation est assez opaque quant à ce qui est réellement mesuré.

bits de code correspondant:

control <- trainControl(..., timingSamps=20) 
model <- train(..., trControl=control) 
model$timings 

La sortie est:

> model$times 
$everything 
    user system elapsed 
800.774 2.713 804.273 

$final 
    user system elapsed 
3.323 0.007 3.335 

$prediction 
    user system elapsed 
0.017 0.000 0.016 

Comment interpréter le temps de prédiction? a) Il est temps de prévoir une seule observation b) Il est temps de prévoir un ensemble d'observations c) tout autre chose

La documentation a ceci à dire:

timingSamps le nombre d'échantillons d'ensembles de formation qui sera utilisé pour mesurer le temps pour prédire échantillons (zéro indique que le temps de prédiction ne doit pas être estimée.

Mais cela ne me dit pas comment interpréter la sortie

Répondre

0

Vérification du code source de la fonction train suggère qu'il est le temps nécessaire pour prédire le nombre d'échantillons que vous avez spécifié dans trainControl

code source pertinente (à partir de: https://github.com/topepo/caret/blob/master/pkg/caret/R/train.default.R)

if(trControl$timingSamps > 0) { 
pData <- x[sample(1:nrow(x), trControl$timingSamps, replace = TRUE),,drop = FALSE] 
out$times$prediction <- system.time(predict(out, pData)) 
} else out$times$prediction <- rep(NA, 3) 
out