2014-07-17 8 views
2

사전 지정된 컷오프 값 (임계 값)을 사용하여 pROC 패키지로 ROC 곡선을 그릴 수 있습니까? 예를 들어 컨트롤/케이스 값과 해당 임계 값을 입력하여 해당 감도 및 특이점을 계산할 수 있습니까?사용자 정의 된 컷오프 값을 갖는 pROC R 패키지?

+0

내 답변에 남긴 의견에서 ROC 곡선이 아닌 질문을하는 것처럼 보입니다. ROC 곡선이 모든 임계 값을 초과합니다. 임계 값을 제한하면 곡선이 더 이상 ROC가 아닙니다. 그러니 질문을 다시 말해주십시오. – Calimo

+0

또한, 그것은 왜 나에게 당신이하고 싶지 않은지, 아마 beacuse 귀하의 질문에 너무 특정 의미가되지 않습니다. 이렇게하기 위해 선택한 이유에 대해 조금 더 알려 주시면 더 나은 대답이 표시 될 수 있습니다. – Calimo

답변

1

?plot.roc을 살펴보십시오.

다음
my.cutoff <- 0.6 

당신은 할 수 있습니다 :

library(pROC) 
data(aSAH) 
plot.roc(aSAH$outcome, aSAH$s100b, print.thres = my.cutoff) 
+0

답장을 보내 주셔서 감사합니다. 그러나 나는 이것과 다른 것을 원한다. 민감도와 특이성을 계산하기 위해 pROC가 임계 값을 선택하는 방법을 모르겠습니다. 그러나, 나는 스스로 지정된 임계 값으로 계산하려고합니다. 예를 들어, roc (case = mycases, control = mycontrols, ...); 여기에 내 자신의 임계 값을 지정하는 방법이 있습니까? – Vish

+0

@Vish 0.6을 사용했지만'my.cutoff'에 원하는 컷오프를 지정할 수 있습니다. 컷오프의 벡터를 전달할 수도 있습니다. – Calimo

+0

@Vish에는 제가 도와 드릴 수있는 것이 있습니까? – Calimo

1

는 다음과 같이 대답 할 수없는 질문, 답변을 내 다른 대답에 귀하의 의견을 주소 (그러나려면

의 당신이 있다고 가정 해 봅시다 나는 위에 논평했다), 나는 당신에게 당신이 원하는 것처럼 보이는 것을 할 길을 줄 수있다. 어떠한 상황에서도 ROC 곡선으로 언급하지 마십시오 : 그렇지 않습니다! 이 연습의 목적에 따라 설명적인 이름을 직접 제시해주십시오 (결코 설명하지 않은).

pROC으로 간접적으로 원하는 것으로 할 수 있습니다. 모든 임계 값에서 ROC를 계산하고 원하는 좌표를 추출하고 사다리꼴 함수를 사용하여 마무리합니다. 패키지 caToolstrapz 기능을 예를 들어,

plot(like.coordinates["specificity",], like.coordinates["sensitivity",], xlim=c(1, 0), type="l") 

그리고 AUC을 계산 :

library(pROC) 
data(aSAH) 
my.cutoff <- c(0.6, 1, 1.5, 1.8) 
roc.obj <- roc(aSAH$outcome, aSAH$s100b) 
like.coordinates <- coords(roc.obj, c(-Inf, sort(my.cutoff), Inf), input="threshold", ret=c("specificity", "sensitivity")) 

이제이 같은 결과를 플롯 할 수 있습니다

library(caTools) 
trapz(like.coordinates["specificity",], like.coordinates["sensitivity",]) 

을 다시 한번, 당신은하지 않았다 ROC 커브를 플롯하고 계산 한 AUC는 ROC 커브가 아닙니다.