# Simulate data
Total_train <- 1000
Total_test <- 200
TRANS_s <- matrix(c(0.9, 0.1, 0.5, 0.5), nrow=2, byrow=TRUE)
alpha_s <- c(2, 2)
beta_s <- c(1, 0.25)
train <- nbh_gen(TRANS_s, alpha_s, beta_s, Total_train)
test <- nbh_gen(TRANS_s, alpha_s, beta_s, Total_test)
nbhInit <- nbh_init(train$count, ncol(TRANS_s))
count <- train$count
label <- train$label
# NBH initialization
nbhInit <- nbh_init(count, ncol(TRANS_s))
TRANS0 <- nbhInit$TRANS
alpha0 <- nbhInit$alpha
beta0 <- nbhInit$beta
# NBH EM
nbh <- nbh_em(count, TRANS0, alpha0, beta0)
map.accuracy <- length(which(max.col(nbh$postprob) == label))/Total_train
vit <- nbh_vit(count, nbh$TRANS, nbh$alpha, nbh$beta)
vit.accuracy <- length(which(vit$class == label))/Total_train
vit_test <- nbh_vit(test$count, nbh$TRANS, nbh$alpha, nbh$beta)
vit_test.accuracy <- length(which(vit_test$class == test$label))/Total_test
nbh_wt_KMLinit <- list(mapAccuracy_train=map.accuracy, vitAccuracy_train=vit.accuracy,
vitLogl_train=vit$logl, vitAccuracy_test=vit_test.accuracy,
vitLogl_test=vit_test$logl)
Run the code above in your browser using DataLab