模型聚类


  • mclust::Mclust
  • RWeka::Cobweb

mclust::Mclust


EM算法也称为期望最大化算法,在是使用该算法聚类时,将数据集看作一个有隐形变量的概率模型,并实现模型最优化,即获取与数据本身性质最契合的聚类方式为目的,通过‘反复估计’模型参数找出最优解,同时给出相应的最有类别级数k

所需程序安装包

install.packages("mclust")

函数示例代码

> library(mclust)
> EM<-Mclust(iris[,-5])
> summary(EM,parameters=T)
----------------------------------------------------
Gaussian finite mixture model fitted by EM algorithm
---------------------------------------------------- Mclust VEV (ellipsoidal, equal shape) model with 2 components: log.likelihood n df BIC ICL
-215.726 150 26 -561.7285 -561.7289 Clustering table:
1 2
50 100 Mixing probabilities:
1 2
0.333332 0.666668 Means:
[,1] [,2]
Sepal.Length 5.0060021 6.261996
Sepal.Width 3.4280046 2.871999
Petal.Length 1.4620006 4.905993
Petal.Width 0.2459998 1.675997

可以看到最优类别级数为2,各类分别含有50,100,

mclust::plot.Mclust(EM,what = "classification")

mclust::plot.Mclust(EM,what = "density")

RWeka::Cobweb


COBWEB是一种流行的简增量概念聚类算法。它以一个分类树的形式创建层次聚类,每个节点对应一个概念,包含该概念的一个概率描述,概述被分在该节点下的对象。使得该函数,需要安装RWeka包,在安装的过程中,可能出现如下的异常

** R
** inst
** preparing package for lazy loading
Error : .onLoad failed in loadNamespace() for 'rJava', details:
call: fun(libname, pkgname)
error: JAVA_HOME cannot be determined from the Registry
ERROR: lazy loading failed for package 'RWeka'
* removing 'C:/Users/zhushy/Documents/R/win-library/3.2/RWeka'

安装jre, 参考资料: http://blog.csdn.net/afei__/article/details/51464783

RWeka包未安装成功,示例代码未验证,待确认

library(RWeka)

dcom=iris[,-5]
c1<-Cobweb(dcom)
c1
c1$class_ids
table(predict(c1),dcom$clas)

参考资料:

ML: 聚类算法R包 - 模型聚类的更多相关文章

  1. ML: 聚类算法R包-模糊聚类

    1965年美国加州大学柏克莱分校的扎德教授第一次提出了'集合'的概念.经过十多年的发展,模糊集合理论渐渐被应用到各个实际应用方面.为克服非此即彼的分类缺点,出现了以模糊集合论为数学基础的聚类分析.用模 ...

  2. ML: 聚类算法R包-层次聚类

    层次聚类 stats::hclust stats::dist    R使用dist()函数来计算距离,Usage: dist(x, method = "euclidean", di ...

  3. ML: 聚类算法R包-网格聚类

    网格聚类算法 optpart::clique optpart::clique CLIQUE(Clustering In QUEst)是一种简单的基于网格的聚类方法,用于发现子空间中基于密度的簇.CLI ...

  4. ML: 聚类算法R包 - 密度聚类

    密度聚类 fpc::dbscan fpc::dbscan DBSCAN核心思想:如果一个点,在距它Eps的范围内有不少于MinPts个点,则该点就是核心点.核心和它Eps范围内的邻居形成一个簇.在一个 ...

  5. ML: 聚类算法R包-对比

    测试验证环境 数据: 7w+ 条,数据结构如下图: > head(car.train) DV DC RV RC SOC HV LV HT LT Type TypeName 1 379 85.09 ...

  6. ML: 聚类算法R包-K中心点聚类

    K-medodis与K-means比较相似,但是K-medoids和K-means是有区别的,不一样的地方在于中心点的选取,在K-means中,我们将中心点取为当前cluster中所有数据点的平均值, ...

  7. 聚类算法之k-均值聚类

    k-均值聚类算法 优点:容易实现 缺点:可能收敛到局部最小值,在大规模数据集上收敛较慢 适用数据类型:数值型数据 其工作流程:首先,随机确定k个初始点作为质心,然后将数据集中的每个点分配到一个簇中,具 ...

  8. ML: 聚类算法-K均值聚类

    基于划分方法聚类算法R包: K-均值聚类(K-means)                   stats::kmeans().fpc::kmeansruns() K-中心点聚类(K-Medoids) ...

  9. Kmeans文档聚类算法实现之python

    实现文档聚类的总体思想: 将每个文档的关键词提取,形成一个关键词集合N: 将每个文档向量化,可以参看计算余弦相似度那一章: 给定K个聚类中心,使用Kmeans算法处理向量: 分析每个聚类中心的相关文档 ...

随机推荐

  1. js常用到的方法积累

    //获取对象长度的方法 function countObjLen(obj) { var count = 0; for (var property in obj) { if (Object.protot ...

  2. C++ API方式连接mysql数据库实现增删改查

    这里复制的 http://www.bitscn.com/pdb/mysql/201407/226252.html 一.环境配置 1,装好mysql,新建一个C++控制台工程(从最简单的弄起,这个会了, ...

  3. ​Web安全测试解决方案

    Web安全测试解决方案 介绍常见的Web安全风险,Web安全测试方法.测试基本理论和测试过程中的工具引入

  4. 设计精美Power BI报告的五大秘诀

    众所周知,Power BI可以帮助您创建交互式且信息丰富的报告,但使用Power BI 制作精美而实用的报告对我们这群IT人员而言,却是一个巨大的痛苦:但个人觉得不能就此止步,通过不断实践练习,小悦采 ...

  5. 动态规划-----hdu 1024 (区间连续和)

    给定一个长度为n的区间:求m段连续子区间的和 最大值(其中m段子区间互不相交) 思路: dp[i][j]: 前j个元素i个连续区间最大值 (重要 a[j]必须在最后一个区间内) 转移方程:dp[i][ ...

  6. Estimating Linguistic Complexity for Science Texts--paper

    http://aclweb.org/anthology/W18-0505 https://sites.google.com/site/nadeemf0755/research/linguistic-c ...

  7. Python算法——递归思想

    编程语言在构建程序时的基本操作有:内置数据类型操作.选择.循环.函数调用等,递归实际属于函数调用的一种特殊情况(函数调用自身),其数学基础是数学归纳法.递归在计算机程序设计中非常重要,是许多高级算法实 ...

  8. opencv中mat类介绍

    The class Mat represents an n-dimensional dense numerical single-channel or multi-channel array. It ...

  9. review

    一.123 第二部分:面向对象 . 谈谈你对面向对象的认识. . 约束 Java: - 接口,约子类中必须包含某个方法(约束). Interface IMessage: def func1(self) ...

  10. Python 模块管理1

    Python 模块管理   导入新的模块 创建一个 calculate.py 文件 print('ok') def add(x,y): return x + y def sub(x,y): retur ...