2
ROCRパッケージのperformance()関数が返すものを理解することができません。再現可能な例を私に具体的に教えてください。私はmpgデータセットを使用します。私のコードは以下の通りです:ROCRのperformance()関数によって返される内容を理解する - R分類のR
library(ROCR)
library(ggplot2)
library(data.table)
library(caTools)
data(mpg)
setDT(mpg)
mpg[year == 1999, Year99 := 1]
mpg[year == 2008, Year99 := 0]
table(mpg$Year99)
# 0 1
# 117 117
split <- sample.split(mpg$Year99, SplitRatio = 0.75)
mpg_train <- mpg[split, ]
mpg_test <- mpg[!split, ]
model <- glm(Year99 ~ displ, mpg_train, family = "binomial")
summary(model)
predict_mpg_test <- predict(model, type = "response", newdata = mpg_test)
ROCR_mpg_test <- prediction(predict_mpg_test, mpg_test$Year99)
performance(ROCR_mpg_test, "acc")
#An object of class "performance"
#Slot "x.name":
# [1] "Cutoff"
#Slot "y.name":
# [1] "Accuracy"
#Slot "alpha.name":
# [1] "none"
#Slot "x.values":
# [[1]]
#49 55 56 45 47 53 51 57 46 13 39 37 58
#Inf 0.5983963 0.5926422 0.5868625 0.5752326 0.5635187 0.5576343 0.5458183 0.5398901 0.5280013 0.5220441 0.5101127 0.4981697 0.4921981
#17 44 31 32 33 50 34 40 24 21 12
#0.4802634 0.4683511 0.4564748 0.4446478 0.4328831 0.4270282 0.4095919 0.3923800 0.3866994 0.3698468 0.3265163
#Slot "y.values":
# [[1]]
#[1] 0.5000000 0.5172414 0.5344828 0.5344828 0.5517241 0.5344828 0.4827586 0.5000000 0.5862069 0.6206897 0.6034483 0.6206897 0.5862069
#[14] 0.5689655 0.5517241 0.5689655 0.5517241 0.5344828 0.5517241 0.5172414 0.5344828 0.4655172 0.4827586 0.4827586 0.5000000
#Slot "alpha.values":
# list()
私の質問は以下のとおりです。
- スロット "x.values" の下にリストされている数字の4行は何ですか?
- Slot "y.values"に記載されている2行の数字は何ですか?
- ROCR関数にカットオフのシーケンスを渡すことは可能でしょうか。 cutoff = seq(0.05、0.95、0.05) - 定義されたメトリックの値を私に返します。精度---カットオフレベルごとに?
あなたのアドバイスは高く評価されます。
私は非常に私の質問に優れた答えを提供するあなたの努力に感謝します。ありがとうございました! – rf7