在計算了幾個迴歸模型之後,我想計算靈敏度值和預先確定的特異性值(即0.99,0.90,0.85等)的截止值以找到最佳模型。我已經創建了代碼來計算截止值的給定值(從0.1到0.9)的靈敏度和特異性,但是現在我想要使用特異性的特定值(即計算相應的截止值和靈敏度值),在這裏我卡住了。計算特定值的截止值和靈敏度?
假設我有以下回歸模型(使用例如數據集「mtcars」):
data(mtcars)
model <- glm(formula= vs ~ wt + disp, data=mtcars, family=binomial)
這裏是我已經用於SENS的計算和規格爲cut-的給定值的代碼關:
predvalues <- model$fitted.values
getMisclass <- function(cutoff, p, labels){
d <- cut(predvalues, breaks=c(-Inf, cutoff, Inf), labels=c("0", "1"))
print(confusionMatrix(d, mtcars$vs, positive="1"))
cat("cutoff", cutoff, ":\n")
t <- table(d, mtcars$vs)
print(round(sum(t[c(1,4)])/sum(t), 2))
}
cutoffs <- seq(.1,.9,by=.1)
sapply(cutoffs, getMisclass, p=predval, labels=mtcars$vs)
有人可以幫助我如何改寫爲給定範圍的特異性值的敏感性和截止分數的計算代碼?可能嗎? 截止值應爲
cutoffs <- c(0.99, 0.90, 0.85, 0.80, 0.75)
非常感謝!
嗯好吧,對不起! @geekoverdose解決了我的問題,所以我認爲不再需要編輯我的問題... – Hed