• 主页
  • 课程

    关于课程

    • 课程归档
    • 成为一名讲师
    • 讲师信息
    同等学历教学

    同等学历教学

    免费
    阅读更多
  • 特色
    • 展示
    • 关于我们
    • 问答
  • 事件
  • 个性化
  • 博客
  • 联系
  • 站点资源
    有任何问题吗?
    (00) 123 456 789
    weinfoadmin@weinformatics.cn
    注册登录
    恒诺新知
    • 主页
    • 课程

      关于课程

      • 课程归档
      • 成为一名讲师
      • 讲师信息
      同等学历教学

      同等学历教学

      免费
      阅读更多
    • 特色
      • 展示
      • 关于我们
      • 问答
    • 事件
    • 个性化
    • 博客
    • 联系
    • 站点资源

      R语言

      • 首页
      • 博客
      • R语言
      • 【数据分析】多元统计分析之聚类分析及R实现

      【数据分析】多元统计分析之聚类分析及R实现

      • 发布者 weinfoadmin
      • 分类 R语言
      • 日期 2016年4月26日
      测试开头

      一、 聚类分析的概念和类型

      (1) 概念
      聚类分析法(cluster analysis)是研究物以类聚的一种现代统计分析方法。过去人们主要靠经验和专业知识作定性分类处理,很少利用数学方法,定性分类更难以实现准确分类。为了克服定性分类的不足,多元统计分析逐渐引进数值分析类。聚类分析方法有系统聚类法,快速聚类法,模糊聚类法等。本文我们暂且讨论前两种系统聚类和K-means聚类。
      (2) 我们通常根据对象将聚类分析分为两类:一类是对样品进行分类处理,叫Q型;另一类是对变量进行分类处理,叫R型。本文我们以R型为例。

      二、 系统聚类法的基本思想及步骤

      (1) 我们常用的一种方法是在样本距离的基础上定义类与类的距离。首先将N个样本分成N类,每个样本自成一类,然后每次将具有最小距离的两项合并,合并后重新计算类与类的距离,这个过程一直持续到将所有的样品归为一类为止,并把整个过程化成一张图。
      (2) 在聚类分析中可以用很多种距离法来定义计算,本文我们介绍两种常用的距离法最短距离法和离差平方和法(Ward法)。(常用欧式距离计算)
      a、 最短距离法用D(p,q)=min{d}来刻画p.q两类之间最临近的距离,若p类与q类合并为s类,则r类与其他类s的距离为D(r,s)=min{d(p,s),d(q,s)}
      b、 离差平方和法。该方法来源于方差分析,如果分类正确,同类样品的离差平方和应当较小,类与类的离差平方和应该较大。具体做法为先将n个样本各自成一类,然后每次缩小一类,每缩小一类,离差平方和就要增大,选择使方差增加最小的两类合并,直到所有的样品归为一类为止。
      (3) 系统聚类法的基本步骤
      a、 计算N个样品之间的距离,记为D;
      b、 构造N个类,每个类只包含一个样品;
      c、 合并距离最近的两类为一个新类;
      d、 计算新类与当前各类的距离,若类个数为1,则画出聚类图,否则重新计算转到(3)
      e、 画出聚类图。
      (4) R语言实现过程(本文以31个城市2007年的生活消费表为例)
      y=read.table(“clipboard”,header=T) #载入源数据
      plot(y) #做出两两变量之间的图像关系

      【数据分析】多元统计分析之聚类分析及R实现

      Library(mvstats) #调用mvstats包
      H.clust(y,”euclidean”,”ward”,plot=T) #ward法

      【数据分析】多元统计分析之聚类分析及R实现

      H.clust(y,”euclidean”,”single”,plot=T) #最短距离法
      【数据分析】多元统计分析之聚类分析及R实现

      三、 Kmeans聚类法的原理及步骤

      (1)Kmeans聚类法的原理
      a、kmeans算法以K为参数,把n个对象分成k个聚类,以使聚类内有较高的相似度。首先,随机的选择K个对象,每个对象初始的代表了一个簇的平均值或中心。
      b、对剩余的对象,根据其与各个聚类中心的距离将其赋给最近的簇。然后重新计算每个簇的平均值作为聚类的中心进行聚类.
      C、 这个过程不断重复。
      (2) R语言实现及模拟分析
      x1=matrix(rnorm(1000,0,0.3),ncol=10) #模拟正态随机数矩阵x1
      x2=matrix(rnorm(1000,1,0.3),ncol=10) #模拟正态随机数矩阵x2
      x=rbind(x1,x2) #合并x1,x2
      cl=kmeans(x,2) #kmeans聚类

      【数据分析】多元统计分析之聚类分析及R实现

      pc1=rep(“1”,100)
      pc2=rep(“2”,100)
      help(plot)
      help(rep)
      pch1=rep(“1”,100)
      pch2=rep(“2”,100)
      plot(x,pch=c(pch1,pch2),cex=0.8)
      points(cl$centers,col=’red’,pch=”*”,cex=3)

      从聚类的结果看,kmeans聚类方法可以准确的把均值0和均值1的两类数据聚类开。其中的*是两个类的中心。

      数据人网作者:薛丽丹
      暨南大学统计学研究生,数据人网编辑,热爱数据分析和数据科学。
      严禁修改,可以转载,请注明出自数据人网和原文链接。


      今日数据人网精选推荐:

      《教你如何用R进行数据挖掘》

      《多元统计分析之因子分析及R实现》

      点击【阅读原文】,查看更多。

      测试结尾

      请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!

      • 分享:
      作者头像
      weinfoadmin

      上一篇文章

      【数据科学】每位数据科学家都应该要知道的12个统计和机器学习方法
      2016年4月26日

      下一篇文章

      【机器学习】用R演示逻辑回归过程-婚姻出轨案例
      2016年4月27日

      你可能也喜欢

      3-1665801675
      R语言学习:重读《R数据科学(中文版)》书籍
      28 9月, 2022
      6-1652833487
      经典铁死亡,再出新思路
      16 5月, 2022
      1-1651501980
      R语言学习:阅读《R For Everyone 》(第二版)
      1 5月, 2022

      搜索

      分类

      • R语言
      • TCGA数据挖掘
      • 单细胞RNA-seq测序
      • 在线会议直播预告与回放
      • 数据分析那些事儿分类
      • 未分类
      • 生信星球
      • 老俊俊的生信笔记

      投稿培训

      免费

      alphafold2培训

      免费

      群晖配置培训

      免费

      最新博文

      Nature | 单细胞技术揭示衰老细胞与肌肉再生
      301月2023
      lncRNA和miRNA生信分析系列讲座免费视频课和课件资源包,干货满满
      301月2023
      如何快速批量修改 Git 提交记录中的用户信息
      261月2023
      logo-eduma-the-best-lms-wordpress-theme

      (00) 123 456 789

      weinfoadmin@weinformatics.cn

      恒诺新知

      • 关于我们
      • 博客
      • 联系
      • 成为一名讲师

      链接

      • 课程
      • 事件
      • 展示
      • 问答

      支持

      • 文档
      • 论坛
      • 语言包
      • 发行状态

      推荐

      • iHub汉语代码托管
      • iLAB耗材管理
      • WooCommerce
      • 丁香园论坛

      weinformatics 即 恒诺新知。ICP备案号:粤ICP备19129767号

      • 关于我们
      • 博客
      • 联系
      • 成为一名讲师

      要成为一名讲师吗?

      加入数以千计的演讲者获得100%课时费!

      现在开始

      用你的站点账户登录

      忘记密码?

      还不是会员? 现在注册

      注册新帐户

      已经拥有注册账户? 现在登录

      close
      会员购买 你还没有登录,请先登录
      • ¥99 VIP-1个月
      • ¥199 VIP-半年
      • ¥299 VIP-1年
      在线支付 激活码

      立即支付
      支付宝
      微信支付
      请使用 支付宝 或 微信 扫码支付
      登录
      注册|忘记密码?