声優の身長と男女

MikuHatsune2015-05-18

前回のデータを使って、何かして遊ぼうと思った。
せっかく男女のデータを取ってもらったので、これと身長のデータを合わせて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