당신은 ROC 곡선 작동 방법을 알고 매우 간단합니다. 모델에서 예측 한 값을 사용하여 아래에서 사용하는 0 또는 1의 이분법 적 결과로 사람들을 분류 할 수 있기를 원합니다.
예측값을 0.5로 할 경우,이 임계 값을 초과하는 사람은 양성/1/병에 걸린 사람/등으로 간주되며 그 이하는 0/영향을받지 않는 것으로 말합니다.
대단한데, 개선 될 수 있습니까? 따라서 여기에서 우리가 여러 가지 단서를 거치면 사람들을 우리의 이분법 적 결과로 분류하는 것이 가장 정확할 것입니다. 즉, 우리가 알고있는 실제 분류와 예측 된 값을 비교하는 것입니다.
# some data
dat <- data.frame(pred = rep(0:1, each = 50),
predict = c(runif(50), runif(50, .5, 1.5)))
# a matrix of the cutoffs, specificity, and sensitivity
p1 <- matrix(0, nrow = 19, ncol = 3)
i <- 1
# for each cutoff value, create a 2x2 table and calculate your sens/spec
for (p in seq(min(dat$predict), .95, 0.05)) {
t1 <- table(dat$predict > p, dat$pred)
p1[i, ] <- c(p, (t1[2, 2])/sum(t1[ , 2]), (t1[1, 1])/sum(t1[ , 1]))
i <- i + 1
}
# and plot
plot(1 - p1[ , 3], p1[ , 2], type = 'l',
xlab = '1 - spec', ylab = 'sens',
main = 'ROC', cex.main = .8)
는 ROCR
내가 사용했던 하나입니다, 거기에 몇 가지 패키지가 있지만이 프로그램에 나에게 몇 분 정도 소요 이해하기 매우 간단하고, 기본 R.에
ROC 곡선으로 시각화하는 기본 사항으로 돌아 가기위한 +1. –