Slide 10
Slide 10 text
やってみる
10
# 適当なデータの作成
positive <- matrix(rnorm( 500*2, mean=2), ncol=2)
negative <- matrix(rnorm(1000*2), ncol=2)
# 本当は500個あるPositiveデータのうち100個(20%)しか見えないとする
n <- 100
is <- sample(1:500, n)
# ラベル付き&ラベルなしでの学習
m1 <- glm(y ~.,family=binomial(link='logit'), data=make_data(positive[is,], rbind(positive[(1:500)[-is],], negative)))
# (本当は見えない)真のデータでの学習
m2 <- glm(y ~.,family=binomial(link='logit'), data=make_data(positive, negative))
p1 <- predict(m1, type="response")
p2 <- predict(m2, type="response")
# 論文のc、20%=100/500に近い(0.1727)
sum(p1[1:n])/n
# モデルから出した確率の補正(これもc0.2008)
sum(p1[1:n])/sum(p2[1:n])