R语言基于模型的聚类方法处理
来源:互联网 发布:淘宝账号查看平衡网页 编辑:程序博客网 时间:2024/06/05 00:39
说明
与使用启发式方法而非依赖某个形式化模型的层次聚类和K均值聚类不同,基于模型的聚类算法假设存在多种数据模型,并使用EM算法来判断可能性最大的数据模型作为对数据处理进行聚簇处理的依据。
操作
使用customer数据库
mb = Mclust(customer)fitting ... |==============================================================================================================================| 100%> plot(mb)Model-based clustering plots: 1: BIC2: classification3: uncertainty4: densitySelection:
选择“1”得到不同成分的BIC值:
不同成分BIC示意图
选择“2”显示不同特征值的分类结果:
不同特征组合得到的分类示意图
选择“3”,显示根据不同特征组合的分类不确定性:
选择4,得到不同的密度估计值
密度估计值
选择0,退出绘图菜单。
最后,使用summary函数获得似然性最大的模型以及聚簇的个数:
summary(mb)----------------------------------------------------Gaussian finite mixture model fitted by EM algorithm ----------------------------------------------------Mclust VII (spherical, varying volume) model with 5 components: log.likelihood n df BIC ICL -218.6891 60 29 -556.1142 -557.2812Clustering table: 1 2 3 4 5 11 8 17 14 10
原理
基于模型的聚类算法没有采用启发方法来构建簇,而是采用基于概率的方法,算法假设样例数据分布服从某个未知的概率分布,并试图从数据找出这个分布。有限混合模型是一类常见基于模型的方法,单个模型被分配一个线性权重再组合得到模型的结果,因而有限混合模型能够提供一个灵活的模型框架来解释数据分布概率。
假设数据y = (y1,y2,…,yn)包括n个独立多元观测值,G是模型成分的个数,有限混合模型似然公式:
其中f(k)与O(k)是混合模型中第k个模型的密度与参数,T(K)是观测样本属于第K个模型的概率。
基于模型的聚类算法处理过程可以分成以下几个步骤:
1.算法确定好模型的数量以及概率分布类型
2.构建一个有限混合模型并计算每个模型类别的后验概率
3,最后将样本观测值分配到概率最大的类别中
本节展示了如何使用基于模型的聚类算法完成数据的划分。由BIC图我们可以知道模型的BIC值,通过这个值我们可以选择簇的个数,分类结果示意图和分类不确定性示意图分别展示了根据不同的维度组合得到的组合得到的簇结果和分类不确定性。密度图显示了密度估计值的等高线图。
- R语言基于模型的聚类方法处理
- 基于R语言的模型组合
- 基于R的聚类模型(混合模型-基于概率密度分布的聚类方法)
- 树模型系列之六:基于R语言的xgboost+LR实现方法及案例
- R语言遇到bug的处理方法
- 基于R语言构建的电影评分预测模型
- 基于R语言构建的电影评分预测模型
- 基于R语言构建的电影评分预测模型
- 基于R语言构建的电影评分预测模型
- 基于E-R模型的关系型数据库设计方法
- 基于R语言的聚类(谱聚类)
- (R语言)R的统计模型
- R语言 时间序列ARIMA模型方法
- 基于R语言的神经网络
- R语言处理缺失数据的高级方法
- R语言处理缺失数据的高级方法
- R语言处理缺失数据的高级方法
- 【转】R语言处理缺失数据的高级方法
- Mysql删除id相同的重复数据
- 人生的开始
- 图像处理------图像加噪
- git简介
- POJ3259
- R语言基于模型的聚类方法处理
- SpringBoot笔记之四:持久化数据之Mysql
- shell脚本监控mysql主从同步状态并自动修复
- Android应用获取后台基于SSH框架开发的接口数据
- Android技术堆栈积累
- 写MySQL存储过程实现动态执行SQL ——复制转载
- Java三大集合类源码阅读笔记【包含超类Collection】提供学习源码
- 跨域问题解决
- 总线地址线的设置