predict.ranger |
Intervalle de prédiction |
|---|---|
| ranger | C++/R |
Syntaxe
|
## Méthode S3 pour la classe «ranger» predict( object, data = NULL, predict.all = FALSE, num.trees = object$num.trees, type = "response", se.method = "infjack", quantiles = c(0.1, 0.5, 0.9), what = NULL, seed = NULL, num.threads = NULL, verbose = TRUE, ... ) |
Paramètres
| Nom | Description |
|---|---|
| object | Ranger objet ranger. |
| data | Nouvelles données de test de classe data.frame ou gwaa.data (GenABEL). |
| predict.all | Renvoie des prédictions individuelles pour chaque arbre plutôt que des prédictions agrégées pour tous les arbres. Renvoie une matrice (échantillon x arbre) pour la classification et la régression, un tableau 3D pour l'estimation des probabilités (échantillon x classe x arbre) et la survie (échantillon × temps × arbre). |
| num.trees | Nombre d'arbres utilisés pour la prédiction. Les premiers arbres de la forêt sont utilisés. |
| type | Type de prédiction : «réponse», «à», «noeuds terminaux», «quantiles», avec «réponse» par défaut. |
| se.method | Méthode de calcul des erreurs standard. L'une des options suivantes : «jack» et «infjack» avec la valeur par défaut «inf-jack». Applicable uniquement si type = «se». |
| quantiles | Vecteur de quantiles pour la prédiction des quantiles. Définissez le type «quantiles» à utiliser. |
| what | Fonction spécifiée par l'utilisateur pour la prédiction de quantile utilisée à la place du quantile. Doit renvoyer un vecteur numérique ; voir exemples. |
| seed | Graine aléatoire. La valeur par défaut est NULL, ce qui génère la graine à partir de R. Définissez-la sur 0 pour ignorer la graine R. La graine est utilisée en cas d'égalité en mode classification. |
| num.threads | Nombre de processus légers. Utilisez 0 pour tous les coeurs disponibles. La valeur par défaut est 2 si elle n'est pas définie par les options/variables d'environnement. |
| verbose | Sortie verbeuse activée ou désactivée. |
| ... | Ce sont d'autres paramètres passés vers ou depuis d'autres méthodes. |
Description
Cette méthode permet de calculer l'importance des variables explicatives dans un modèle entraîné avec ranger. Analysez la formule et obtenez un ensemble de données contenant les colonnes sélectionnées. Les interactions ne sont prises en charge que pour les colonnes numériques. Une colonne d'interaction est le produit de toutes les colonnes en interaction.
Remarques
- Pour type = 'response' (valeur par défaut), les classes prédites (classification), les valeurs numériques prédites (régression), les probabilités prédites (estimation des probabilités) ou les probabilités de survie (survie) sont renvoyées. Pour type = 'se', l'erreur type des prédictions est renvoyée (régression uniquement). Le jackknife après bootstrap ou jackknife infinitésimal pour le bagging est utilisé pour estimer les erreurs types à partir des prédictions out-of-bag. Voir Wager et al. (2014) pour plus de détails. Pour type = 'terminalNodes', les identifiants du noeud terminal de chaque arbre pour chaque observation de l'ensemble de données donné sont renvoyés. Pour type = 'quantiles', les quantiles sélectionnés pour chaque observation sont estimés. Voir Meinshausen (2006) pour plus de détails.
- Si type = 'se' est sélectionné, la méthode d'estimation des variances peut être choisie avec se.method. Définissez se.method = 'jack' pour le jackknife après amorçage et se.method = 'infjack' pour le jackknife infinitésimal pour le bagging.
- Pour la classification et predict.all = TRUE, les niveaux de facteurs sont renvoyés sous forme numérique. Pour récupérer les niveaux de facteurs correspondants, utilisez rf$forest$levels, si rf est l'objet ranger.
- Par défaut, ranger utilise deux threads. La valeur par défaut peut être modifiée avec : (1) num.threads dans l'appel ranger/predict, (2) la variable d'environnement R_RANGER_NUM_THREADS, (3) options(ranger.num.threads = N), (4) options(Ncpus = N), avec priorité dans cet ordre.
Valeur
Objet de la classe ranger.prediction avec les éléments suivants :
| Valeur | Description |
|---|---|
| predictions | Classes/valeurs prédites (uniquement pour la classification et la régression) |
| unique.death.times | Heures de décès uniques (uniquement pour la survie). |
| chf | Fonction de risque cumulé estimée pour chaque échantillon (uniquement pour la survie). |
| survival | Fonction de survie estimée pour chaque échantillon (uniquement pour la survie). |
| num.trees | Nombre d'arbres. |
| num.independent.variables | Nombre de variables indépendantes. |
| treetype | Type de forêt/arbre. Classification, régression ou survie. |
| num.samples | Nombre d'échantillons. |
Références
- Wright, M. N. et Ziegler, A. (2017). ranger : Une implémentation rapide de forêts aléatoires pour les données de grande dimension en C++ et R. J Stat Softw 77:1-17. doi:10.18637/jss.v077.i01.
- Wager, S., Hastie T. et Efron, B. (2014). Intervalles de confiance pour les forêts aléatoires : le Jackknife et le Jackknife infinitésimal. J Mach Learn Res 15:1625-1651..
- Meinshausen (2006). Forêts de régression quantile. J Mach Learn Res 7:983-999.
Exemples
- ## Forêt de classification
- ranger(Species ~ ., data = iris)
- train.idx <- sample(nrow(iris), 2/3 * nrow(iris))
- iris.train <- iris[train.idx, ]
- iris.test <- iris[-train.idx, ]
- rg.iris <- ranger(Species ~ ., data = iris.train)
- pred.iris <- predict(rg.iris, data = iris.test)
- table(iris.test$Species, pred.iris$predictions)
- ## Forêt de régression quantile
- rf <- ranger(mpg ~ ., mtcars[1:26, ], quantreg = TRUE)
- pred <- predict(rf, mtcars[27:32, ], type = "quantiles", quantiles = c(0.1, 0.5, 0.9))
- pred$predictions
- ## Forêt de régression quantile avec fonction spécifiée par l'utilisateur
- rf <- ranger(mpg ~ ., mtcars[1:26, ], quantreg = TRUE)
- pred <- predict(rf, mtcars[27:32, ], type = "quantiles",
- what = function(x) sample(x, 10, replace = TRUE))
- pred$predictions
Dernière mise à jour : Vendredi, le 1er août 2025