zoukankan      html  css  js  c++  java
  • R语言聚类(划分、层次)

    R语言聚类

    K划分

    1、 随机生成3个簇点

    > c1=cbind(rnorm(20,2,1),rnorm(20,2,1))

    > c2=cbind(rnorm(20,3,2),rnorm(20,15,3))

    > c3=cbind(rnorm(20,20,2),rnorm(20,20,3))

    > v=rbind(c1,c2,c3)

    在图中看看这三个簇的分布

    > plot(v) 如图,

     

    2、 K聚类

    clara(x, k),K聚类函数

    x是数据集,可以是矩阵或者数据框

    k是聚类簇的个数

    > clara(v,3),结果如图

     

    由上图,可以看出三个聚类的结果。

    3、 显示聚类结果

    > cls=clara(v,3)

    > clusplot(cls)

     

    4、 k的改变

    k-means的一个缺陷就是k需要指定,如果k指定的不好,聚类效果就不好。

    如k值分别取2、4、5时的情况。

     

    层次聚类

    1、  求相似矩阵

    为了表示得更清楚一点,我们取较少的点。

    > c11=cbind(rnorm(5,2,1),rnorm(5,2,1))

    > c12=cbind(rnorm(5,3,2),rnorm(5,15,3))

    > c13=cbind(rnorm(5,20,2),rnorm(5,20,3))

    > v=rbind(c11,c12,c13)

     

    sim=dist(v),求相似矩阵,是对角矩阵

    2、  层次聚类

    > hcls=hclust(sim)

    > plot(hcls)

     

    简单的聚类方法用R语言实现。

  • 相关阅读:
    流量分析 (WireShark)
    WEB小技俩
    PHP伪协议
    php弱类型基础
    宽字节注入
    布尔盲注
    时间盲注
    Odoo13教程-Odoo快捷键使用_江苏欧度软件
    Odoo,快速上手Odoo,来了解Odoo几个标准模块
    开源Odoo13更新的模块功能信息(译文)
  • 原文地址:https://www.cnblogs.com/mixes/p/3719764.html
Copyright © 2011-2022 走看看