좋아, 사이의 관계를 기억 (위양성률), T P R (진정한 긍정적 비율) 및 C C (정확도) :에프피아르 자형티피아르 자형C씨
티피R = ∑ 양의Σ 긍정적 인 경우
에프피R = ∑ 거짓 긍정∑ 부정적인 경우
C씨= T피R ⋅ ∑ 긍정적 인 경우 + ( 1 − F피R ) ⋅ ∑ 부정적인 경우∑ 긍정적 인 사례 + ∑ 부정적인 사례
C씨티피아르 자형에프피아르 자형
C씨= T피R + 1 - F피아르 자형2
엔−≫ N+
C씨( N−≫ N+) ≈ 1 - F피아르 자형
C씨에프피아르 자형
이 예에서 음수는 양수보다 1000 : 1입니다.
data = c(rnorm(10L), rnorm(10000L)+1)
lab = c(rep(1, 10L), rep(-1, 10000L))
plot(data, lab, col = lab + 3)
tresh = c(-10, data[lab == 1], 10)
do.call(function(x) abline(v = x, col = "gray"), list(tresh))
pred = lapply(tresh, function (x) ifelse(data <= x, 1, -1))
res = data.frame(
acc = sapply(pred, function(x) sum(x == lab)/length(lab)),
tpr = sapply(pred, function(x) sum(lab == x & x == 1)/sum(lab == 1)),
fpr = sapply(pred, function(x) sum(lab != x & x == 1)/sum(lab != 1))
)
res[order(res$acc),]
#> res[order(res$acc),]
# acc tpr fpr
#12 0.000999001 1.0 1.0000
#11 0.189110889 1.0 0.8117
#9 0.500099900 0.9 0.5003
#2 0.757742258 0.8 0.2423
#5 0.763136863 0.7 0.2368
#4 0.792007992 0.6 0.2078
#10 0.807292707 0.5 0.1924
#3 0.884215784 0.4 0.1153
#7 0.890709291 0.3 0.1087
#6 0.903096903 0.2 0.0962
#8 0.971428571 0.1 0.0277
#1 0.999000999 0.0 0.0000
언제 fpr
0인가acc
이 최대 .
그리고 여기에는 정확한 주석이 달린 ROC가 있습니다.
plot(sort(res$fpr), sort(res$tpr), type = "S", ylab = "TPR", xlab = "FPR")
text(sort(res$fpr), sort(res$tpr), pos = 4L, lab = round(res$acc[order(res$fpr)], 3L))
abline(a = 0, b = 1)
abline(a = 1, b = -1)
U씨
1-sum(res$fpr[-12]*0.1)
#[1] 0.74608
결론은 가짜 모델을 만드는 방식으로 정확도를 최적화 할 수 있다는 것입니다 (이 tpr
예제에서는 = 0). 정확도가 좋은 척도가 아니기 때문에 결과의 이분법을 의사 결정자에게 맡겨야합니다.
티피R = 1 - F피아르 자형
균형이 잡힌 수업이있는 경우 정확도를 최적화하는 것이 쉽지 않을 수 있습니다 (예 : 모든 사람을 대다수 수업으로 예측).
U씨
그리고 가장 중요한 것은 : AUC가 더 정확한 분류기보다 정확도가 낮은 분류기에서 왜 더 높은가?