使用R的块模型

时间:2019-03-19 15:48:25

标签: r classification

我正在尝试使用库模块模型对一些生物学数据进行分类。我为自己的数据获得了最佳模型(6类)。问题是我如何获得每个数据的标签(标签向量)。这是我的代码(mat是132 * 132数组):

my_model <- BM_poisson("SBM_sym",mat)
my_model$estimate()
which.max(my_model$ICL)
my_model$model_parameters[6]
my_model$plot_obs_pred(6)

谢谢

1 个答案:

答案 0 :(得分:0)

这是我解决问题的方法:

library("network")
library("ramify")
mynet <- as.network(mat)
my_model <- BM_bernoulli("SBM",mat)
my_model$estimate()
#K ist most probable number of classes
K<-which.max(my_model$ICL)
#argmax of Z is the most probable classmemebership
classmembership <-argmax(my_model$memberships[[K]]$Z)
#set classmembership as attribute for plotting
network::set.vertex.attribute(mynet, "Class", classmembership)