前回のデータを使って、何かして遊ぼうと思った。
せっかく男女のデータを取ってもらったので、これと身長のデータを合わせてROCでもやった。
結論としては164cmで感度、特異度ともに90%程度になる。
library(pROC) dat <- read.csv("cv_profile.txt", stringsAsFactors=FALSE) h <- as.numeric(gsub("cm", "", dat$height)) i <- unique(dat$sex) g <- mapply(function(x) hist(h[dat$sex == x], xlim=xl, nclass=50), i, SIMPLIFY=FALSE) xl <- range(h, na.rm=TRUE) yl <- c(0, max(mapply(function(x) max(x$count), g))) plot(g[[1]], main="", xlim=xl, ylim=yl, xlab="Height [cm]", col=4) par(new=TRUE) plot(g[[2]], main="", xlim=xl, ylim=yl, xlab="", ylab="", axes=FALSE, col=2) legend("topleft", legend=i, bty="n", col=c(4,2), pch=15, cex=2) r0 <- roc(dat$sex, h) plot(r0, lwd=3) # 最良の閾値 coords(r0, "best")
threshold specificity sensitivity 164.5000000 0.9079686 0.8888889