Java文本控件型号,型号选择 - mclust

只是几个想法,之前曾使用过mclust .

1)mclust使用正确的BIC选择方法;看这篇文章:

看到最底层,但总结一下,BIC取决于您是否使用公式中的负号,无论您是优化低值还是高值:

BIC的一般定义是BIC = -2×ln(L(θ| x))k×ln(n)BIC = -2×ln(L(θ| x))k×ln(n); mclust不包括负面成分 .

2)mclust使用混合模型来执行聚类(即基于模型);它与k-means完全不同所以我会小心这句话,它“与其他一些k-means集群方法有点不同”(主要是“其他”暗示的); mclust手册中简要描述了模型选择的过程:

mclust提供了一种高斯混合,通过EM算法通过最大似然拟合数据,用于根据BIC选择的模型和组件数量 . 根据参考部分引用的文章中描述的方法,根据熵标准对相应的组件进行分层组合 . 由BIC和一个选择的类之间具有类数的解决方案作为clustCombi类对象返回 .

查看实际论文以获得详尽解释更有用:

由mclust提供的熵图意味着被解释为用于因子分析的scree图(即,通过寻找肘来确定最佳类的数量);我认为scree图可用于证明簇数的选择是合理的,这些图属于附录 .

除了BIC之外,mclust还会返回ICL统计信息,因此您可以选择将此报告作为对审阅者的妥协:

3)如果你想创建一个entPlot值表,你可以像这样提取它们(来自?entPlot示例):

## Not run:

data(Baudry_etal_2010_JCGS_examples)

# run Mclust to get the MclustOutput

output

entPlot(output$MclustOutput$z, output$combiM, reg = c(2,3))

# legend: in red, the single-change-point piecewise linear regression;

# in blue, the two-change-point piecewise linear regression.

# added code to extract entropy values from the plot

combiM

Kmax

z0

ent

for (K in Kmax:1) {

z0

ent[K]

}

data.frame(`Number of clusters` = 1:Kmax, `Entropy` = round(ent, 3))

Number.of.clusters Entropy

1 1 0.000

2 2 0.000

3 3 0.079

4 4 0.890

5 5 6.361

6 6 20.158

7 7 35.336

8 8 158.008

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值