Вот почему str
- моя любимая функция R:
library(ROCR)
data(ROCR.simple)
pred <- prediction( ROCR.simple$predictions, ROCR.simple$labels)
perf <- performance(pred,"tpr","fpr")
plot(perf)
> str(perf)
Formal class 'performance' [package "ROCR"] with 6 slots
..@ x.name : chr "False positive rate"
..@ y.name : chr "True positive rate"
..@ alpha.name : chr "Cutoff"
..@ x.values :List of 1
.. ..$ : num [1:201] 0 0 0 0 0.00935 ...
..@ y.values :List of 1
.. ..$ : num [1:201] 0 0.0108 0.0215 0.0323 0.0323 ...
..@ alpha.values:List of 1
.. ..$ : num [1:201] Inf 0.991 0.985 0.985 0.983 ...
Аах! Это класс S4 , поэтому мы можем использовать @
для доступа к слотам. Вот как вы делаете data.frame
:
cutoffs <- data.frame(cut=perf@alpha.values[[1]], fpr=perf@x.values[[1]],
tpr=perf@y.values[[1]])
> head(cutoffs)
cut fpr tpr
1 Inf 0.000000000 0.00000000
2 0.9910964 0.000000000 0.01075269
3 0.9846673 0.000000000 0.02150538
4 0.9845992 0.000000000 0.03225806
5 0.9834944 0.009345794 0.03225806
6 0.9706413 0.009345794 0.04301075
Если у вас есть порог fpr, который вы хотите ударить, вы можете подмножить это data.frame
, чтобы найти максимальный tpr ниже этого порога fpr:
cutoffs <- cutoffs[order(cutoffs$tpr, decreasing=TRUE),]
> head(subset(cutoffs, fpr < 0.2))
cut fpr tpr
96 0.5014893 0.1495327 0.8494624
97 0.4997881 0.1588785 0.8494624
98 0.4965132 0.1682243 0.8494624
99 0.4925969 0.1775701 0.8494624
100 0.4917356 0.1869159 0.8494624
101 0.4901199 0.1962617 0.8494624
Ничто не означает никаких изменений.
Зеленый цвет означает сохраненные изменения. Они исчезнут, когда файл закроется и снова откроется.
Ярко-желтый означает несохраненные изменения. Они изменяются на зеленый при сохранении файла.
Темно-желтый означает несохраненные отмены (т.е. вы сделали и отредактировали, а затем нажали Ctrl + Z). Они исчезают при сохранении файла.
В строке указаны изменения кода с момента последнего сохранения.