R-聚类
一、定义:将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类
二、距离:欧几里得度量(euclidean metric)也称欧氏距离
绝对值距离(manhattan)
Lance距离(canberra)
定性变量距离(binary)
闵可夫斯基距离(minkowski)
三、使用函数dist()求点之间的距离,可以设置不同的方法,这里设置的是欧式距离,其操作对象是数据框,结果是得到一个距离矩阵


四、聚类
1.使用的方法:
最短距离法-------single
最长距离法-------complete
中间距离法-------median
类平均法---------average
重心法-----------centroid
离差平方和法-------ward
Mcquitty相似法--------maquitty
2.对数据对聚类之前一般要对数据进行处理,这里说的处理是对数据做中心化、标准化变换,使用函数scale()
数据的中心化和标准化:
数据中心化:是指数据集中的各项数据减去数据集的均值
数据标准化:是指在中心化之后在除以数据集的标准差,即数据集中的各项数据减去数据集的均值再除以数据集的标准差
mean()是求平均值,sd()是求标准差

在R中实现数据标准化和中心化可以使用函数scale(),第一个参数是操作的对象,第二个参数是进行中心化,当为TRUE时,第三个参数是进行标准化,当为TRUE时

3.进行聚类操作使用的函数时hclust(),第一个参数时操作对象,即上述使用函数dist()求出的距离矩阵,第二个参数时设置使用的方法,比如最短距离法(single)、最长距离法(complete)等,聚类的结果是展示出它的谱系图
函数plot()是绘制图形的,针对不同的数据类型绘制不同类型的图,暂时先不介绍
步骤:
1)给出数据,一般这个过程会做数据的中心化和标准化转变

2)计算出x的距离矩阵

3)进行聚类



结果分析:从谱系图明显可以看到,1和1先聚为一类,然后3和4再聚,后来5和3、4聚,最后聚一起
问题:聚类可以聚多少类?
一般是使用rect.hculse()函数进行人为指定,所说的人为指定,是大概肉眼能判断出聚为几类,这一点不如其他的软件,这里设置k=2,即聚为两类,这里的红色线是分类线


五、聚类的谱系图:使用函数as.dendrogram(),可以通过设置参数,从而得到不同类型的谱系图
第一种:



第二种:


第三种:

edgePar 绘图参数的列表,用于边缘段和标签,
dege.root =T/F 逻辑值,如果是真的,就画一条边到根节点。

第四种:

nodepar 用于节点的绘图参数列表(见点)或默认为NULL,不在节点上绘制符号
horiz=T/F 表示树状图是否应该被水平绘制的逻辑

R-聚类的更多相关文章
- 每R一点:层次聚类分析实例实战-dist、hclust、heatmap等(转)
聚类分析:对样品或指标进行分类的一种分析方法,依据样本和指标已知特性进行分类.本节主要介绍层次聚类分析,一共包括3个部分,每个部分包括一个具体实战例子. 1.常规聚类过程: 一.首先用dist()函数 ...
- 用TSNE进行数据降维并展示聚类结果
TSNE提供了一种有效的数据降维方式,让我们可以在2维或3维的空间中展示聚类结果. # -*- coding: utf-8 -*- from __future__ import unicode_lit ...
- [原]CentOS7安装Rancher2.1并部署kubernetes (二)---部署kubernetes
################## Rancher v2.1.7 + Kubernetes 1.13.4 ################ ##################### ...
- 利用python进行数据分析2_数据采集与操作
txt_filename = './files/python_baidu.txt' # 打开文件 file_obj = open(txt_filename, 'r', encoding='utf-8' ...
- Django项目:CRM(客户关系管理系统)--81--71PerfectCRM实现CRM项目首页
{#portal.html#} {## ————————46PerfectCRM实现登陆后页面才能访问————————#} {#{% extends 'king_admin/table_index.h ...
- R与数据分析旧笔记(十五) 基于有代表性的点的技术:K中心聚类法
基于有代表性的点的技术:K中心聚类法 基于有代表性的点的技术:K中心聚类法 算法步骤 随机选择k个点作为"中心点" 计算剩余的点到这个k中心点的距离,每个点被分配到最近的中心点组成 ...
- R与数据分析旧笔记(十三) 聚类初步
聚类 聚类 关键度量指标:距离 常用距离 绝对值距离 绝对值距离也称为"棋盘距离"或"城市街区距离". 欧氏(Euclide)距离 闵可夫斯基(Minkowsk ...
- R语言-混合型数据聚类
利用聚类分析,我们可以很容易地看清数据集中样本的分布情况.以往介绍聚类分析的文章中通常只介绍如何处理连续型变量,这些文字并没有过多地介绍如何处理混合型数据(如同时包含连续型变量.名义型变量和顺序型变量 ...
- ML: 聚类算法R包-模糊聚类
1965年美国加州大学柏克莱分校的扎德教授第一次提出了'集合'的概念.经过十多年的发展,模糊集合理论渐渐被应用到各个实际应用方面.为克服非此即彼的分类缺点,出现了以模糊集合论为数学基础的聚类分析.用模 ...
- ML: 聚类算法R包 - 模型聚类
模型聚类 mclust::Mclust RWeka::Cobweb mclust::Mclust EM算法也称为期望最大化算法,在是使用该算法聚类时,将数据集看作一个有隐形变量的概率模型,并实现模型最 ...
随机推荐
- Java初始化数据域的途径
Java调用构造器的具体处理步骤: 1.所有数据域被初始化为默认值(0,false或null); 2.按照在类声明中出现的次序,依次执行所有域的初始化语句和初始化块: 3.如果构造器第一行调用了第二个 ...
- canal 环境搭建 canal 与kafka通信(三)
canal 占用了生产者 .net core端 使用消费者获取canal 消息 安装 Confluent.Kafka demo使用 1.3.0 public static void Consumer ...
- mysql不停库恢复
环境搭建:yum -y install mysql-co*servervim /etc/my.cnf############server-id=1log-bin=binbinlog-format=RO ...
- 062.Python前段框架Django视图CBV
一 CBV与FBV CBV:Class Based View FBV:Function Based View 之前写过的都是基于函数的view,就叫FBV.还可以把view写成基于类的,那就是CBV. ...
- 重新整理 .net core 实践篇————配置系统——军令(命令行)[六]
前言 前文已经基本写了一下配置文件系统的一些基本原理.本文介绍一下命令行导入配置系统. 正文 要使用的话,引入Microsoft.extensions.Configuration.commandLin ...
- Scrum Master 生存指南
近年来,出现了一批新兴且广受关注的岗位,以 Scrum Master 为典型代表.2018年,Scrum Master 的平均工资为98239美元.领英更是将其列为2019年最有前途的工作之一.但对于 ...
- VMware vSphere 7.0 Update 2 发布 - 数据中心虚拟化和 Kubernetes 云原生应用引擎
2021 年 3 月 9 日,VMware 发布了 vSphere 7 Update 2.它可以通过 VMware Customer Connect 和 vSphere Lifecycle Manag ...
- 【pytest】使用parametrize将参数化变量传递到fixture
分享一个关于在pytest中,如何将测试用例文件中的变量传递到fixture函数. 一.交代应用场景 目前组内的项目,在根目录下是有一个conftest.py文件的,这里有个生成api token的f ...
- Tensor基本理论
Tensor基本理论 深度学习框架使用Tensor来表示数据,在神经网络中传递的数据均为Tensor. Tensor可以将其理解为多维数组,其可以具有任意多的维度,不同Tensor可以有不同的数据类型 ...
- 华为MDC自动驾驶
华为MDC自动驾驶 智能驾驶汽车中,包含四个核心子系统:传感器.计算平台.执行器与应用算法,华为MDC( Mobile Data Center: 移动数据中心)定位为智能驾驶的计算平台.此平台集成了华 ...