J'utilise la fonction twoClassSummary de caret pour déterminer les hyper-paramètres optimaux du modèle afin de maximiser Spécificité. Cependant, comment la fonction détermine-t-elle le seuil de probabilité qui maximise la spécificité?Comment caret train détermine le seuil de probabilité pour maximiser Spécificité
Est-ce que le caret essentiellement pour chaque hyper-paramètre/pli de modèle évalue chaque seuil entre 0 et 1 et renvoie la Spécificité maximale? Dans l'exemple ci-dessous, vous pouvez voir que le modèle a atterri sur cp = 0.01492537.
# load libraries
library(caret)
library(mlbench)
# load the dataset
data(PimaIndiansDiabetes)
# prepare resampling method
control <- trainControl(method="cv",
number=5,
classProbs=TRUE,
summaryFunction=twoClassSummary)
set.seed(7)
fit <- train(diabetes~.,
data=PimaIndiansDiabetes,
method="rpart",
tuneLength= 5,
metric="Spec",
trControl=control)
print(fit)
CART
768 samples
8 predictor
2 classes: 'neg', 'pos'
No pre-processing
Resampling: Cross-Validated (5 fold)
Summary of sample sizes: 614, 614, 615, 615, 614
Resampling results across tuning parameters:
cp ROC Sens Spec
0.01305970 0.7615943 0.824 0.5937806
0.01492537 0.7712055 0.824 0.6016073
0.01741294 0.7544469 0.830 0.5976939
0.10447761 0.6915783 0.866 0.5035639
0.24253731 0.6437820 0.884 0.4035639
Spec was used to select the optimal model using the largest value.
The final value used for the model was cp = 0.01492537.