`
henryyang
  • 浏览: 113124 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
文章分类
社区版块
存档分类
最新评论

cluster 聚类分析

阅读更多

聚类分析被称之为unsupervised分析,一个跟它相似的概念是分类(classification)模型,不同的是,分类模型预先知道 一共有几个类别,每个类别的定义是什么,所以叫做supervised。聚类分析预先不知道目标分成哪几类。往往在实际中,先用cluster分成一些 类,然后有了这些类之后,可以再可以做classification分析,就是所谓的two steps analytisis.

聚类分析的算法主要基于“距离”的计算。聚类之后的结果要尽量保证每个segment内部的对象之间距离要短, segment之间的距离要长。这篇博客的内容总结自Han Jiawei的书,这本书可以在这篇博客里找到: 分享读书笔记Data Mining Concepts and Techniques  

关于距离:

如果有n个对象,每个对象有p个属性,那么可以得到这样一个矩阵:

image

距离通常是用另一个变形后的矩阵来做的:

image

其中d(2,1)表示第二个对象第一个属性和第一个对象第一个属性之间的距离。

对于连续型变量(interval)的 ,通常要对数据预先做标准化“standardiz”,方式如下:

1. 算mean absolute deviation.

Image(9)

2. 得出标准度量(不知道怎么翻译,standardized measurement)

Image(10)

3.最后结果:

Image(11)

 

对 于二值型(binary)的, 有两种,一种是均衡型的(symmetric),另一种是非均衡型的(asymmetric),均衡指的是yes or no两种状态权重一样。比如如果你没有性别歧视的话,性别是均衡的二值变量。如果通过一系列症状诊断一个人是否生病了,yes比no的权重要大的多。

两种形式都通过下面这个2x2的表来算距离:

image

对于均衡型的,

image

对于非均衡型的

image

 

对于类别型(categorical)的变量,比较简单

image

where m is the number of matches (i.e., the number of variables for which i and  j are
in the same state), and p is the total number of variables.

 

对于顺序型(ordinal)的变量,要先把顺序map成[0.0,1.0]之间的数,然后按interval的方式来算。直接上截图,因为太多数学符号了

image

书上对每种计算基本都有例子。

 

关于聚类方法:

有partitioning, hierarchical, density-based, grid-based, model-based, clustering High-Dimensional, Constraint-Based.

Partitioning方法:

代表方法是K-means:

它的大致算法是,选定K值(最后要分成多少组)后,任选K个object作为cluster的中心,然后对每个其他的对象计算离哪个中心最近,就归到哪个cluster里,最后从每个cluster中找到新的中心,然后这样重复计算,直到聚类没有变化为止。

image

 

Hierarchical方法:

分 agglomerative和Divisive两种,前者是自底向上的,就是一个一个object merge出一个segment,后者相反,自顶向下的。 上面说的K-means方法有时候和hierarchical联在一起用,因为K-means需要k作为参数,这个参数还挺重要的,极大影响了聚类的结 果,可以先用hierarchical看看大致分几类合理,然后再用K-means。

 

Density-based方法:

基于距离的算法segment都是类球形的,density-based克服了这个问题。他的理念基本上是,一个对象为中心画个圆,看看圈近来的对象过没过threshold.

 

Grid-Based:

它是从上往下分层,底层grid粒度更细。它的特点是是scalability比较好。没细看理论,但是看图能感觉个大概。

image

 

Constraint-Based:

有 的时候用户清楚应用的需求,想要指引聚类的过程,比如每个cluster size的range, 不同对象不用的权重等等。这就用到constraint-based聚类分析。这个也没细看,还有另外的clustering high-dimensional data, model based clustering都没怎么看,也许以后再写一篇“再访聚类分析”。下一篇会关于决策树。

0
3
分享到:
评论

相关推荐

    CollectAnaly.zip_layer cluster_聚类 运行_聚类分析_聚类分析 matlab_聚类结果分析

    本项目"CollectAnaly.zip_layer cluster_聚类 运行_聚类分析_聚类分析 matlab_聚类结果分析"提供了一个五层MATLAB实现的聚类算法,适用于对复杂数据进行层次聚类。 MATLAB是一种强大的编程环境,尤其在数值计算、...

    ClusterAnalysis聚类分析课件实用PPT课件.pptx

    Cluster Analysis 聚类分析课件实用 PPT 课件 本资源是关于 Cluster Analysis 聚类分析的 PPT 课件,总共 61 页,涵盖了聚类分析的基本思想、相似性的度量、距离和相似系数的定义、数据变换方法、聚类分析的类型等...

    聚类分析SPSS用法

    【聚类分析与SPSS应用】 聚类分析是一种探索性的数据分析技术,旨在识别数据集中对象之间的相似性,并根据这些相似性将对象分组到不同的类别中。SPSS(Statistical Package for the Social Sciences)是一款广泛...

    cluster3.0 聚类使用教程

    cluster3.0 聚类使用教程 ...Cluster 3.0 是一种功能强大的生物信息学软件,能够快速高效地实现聚类分析和可视化。通过本教程,读者可以快速掌握 Cluster 3.0 的使用方法,并将其应用于实际的生物信息学研究中。

    聚类分析,kmeans聚类分析,输出聚类坐标点。matlab2021a测试仿真。

    在IT领域,聚类分析是一种常用的数据挖掘技术,主要用于无监督学习,即将数据集分成不同的组或类别,称为“簇”,这些簇内的数据点相似度较高,而不同簇之间的数据点相似度较低。这里提到的“k-means聚类分析”是...

    基于SPSS实现的聚类分析实例 内含聚类分析实际例子 共39页.ppt

    以经济效益数据为例,用聚类分析法对各省市作分类(见spssex-4/全国各省市经济效益数据) 以城镇居民消费资料为例,用聚类分析法对各省市作分类(见spssex-4/城镇居民消费支出资料) Spss中的聚类功能常用的有两种...

    spss聚类分析理论分析与实例

    聚类分析可以分为两类:K-means cluster 和 Hierarchical cluster。K-means cluster 是一种 partitioning 方法,通过指定类别数来对数据进行分类。Hierarchical cluster 是一种层次方法,通过聚类树来对数据进行分类...

    第9章 聚类分析_matalb_MATLAB聚类_聚类matlab_聚类分析_

    在数据分析和机器学习领域,聚类分析是一种常用的技术,它旨在根据数据的相似性或差异性将数据点分组到不同的类别中。本章节主要聚焦于利用MATLAB进行聚类分析,这是一种强大的编程环境,特别适合数值计算和数据处理...

    matlab聚类分析详解-matlab聚类分析.rar

    在本压缩包“matlab聚类分析详解-matlab聚类分析.rar”中,主要包含的是关于使用MATLAB进行聚类分析的相关资料。MATLAB是一款强大的数学计算软件,广泛应用于数据分析、图像处理、信号处理等领域,其中聚类分析是...

    cluster_analysis.rar_cluster_聚类分析_聚类法

    编程实现聚类分析算法,利用Matlab软件对系统聚类法的实现,

    电工杯数学建模之system-cluster聚类实现.zip

    在数学建模领域,聚类分析是一种常用的数据分析方法,用于发现数据集中的自然群体或类别。"电工杯数学建模之system-cluster聚类实现"的主题聚焦于如何在电工杯数学建模竞赛中运用聚类算法解决问题。在这个压缩包文件...

    阿里云-天池数据分析竞赛:汽车产品聚类分析.zip

    【标题】阿里云天池数据分析竞赛:汽车产品聚类分析 在大数据时代,数据分析成为企业决策的重要工具,尤其是在汽车行业中,通过对汽车产品的深入分析,可以洞察消费者需求、优化产品设计和提升市场竞争力。阿里云...

    spss——聚类分析

    ### SPSS中的聚类分析 #### 概述 聚类分析是一种重要的数据分析技术,主要用于将相似的对象聚集到一起形成群组。这种技术广泛应用于多个领域,包括市场细分、消费者行为研究、生物信息学以及社会科学等。SPSS软件...

    小波聚类分析,聚类分析和分类分析,matlab

    对于聚类分析,MATLAB的`cluster`函数可用于执行各种聚类算法,如层次聚类(linkage)和K均值(kmeans)。 在实际应用中,小波聚类分析步骤通常如下: 1. **数据预处理**:清洗和标准化数据,去除异常值,确保数据...

    ClusterAnalysis聚类分析课件实用PPT学习教案.pptx

    《ClusterAnalysis聚类分析课件实用PPT学习教案》是一份深入探讨聚类分析的教育材料,主要针对会计学领域的数据分析。聚类分析是数据挖掘和统计学中的一个关键概念,用于将数据集中的对象按照其相似性进行分组,形成...

    用SPSS做聚类分析

    在SPSS中进行聚类分析,首先需要选择适当的菜单路径:`Analyze -> Classify -> Hierarchical Cluster Analysis`。在这里,用户可以指定标准化方法,以消除变量量纲对结果的影响。SPSS提供了多种标准化选项,包括: ...

    聚类分析,主成因分析,判别分析应用代码

    在数据分析和机器学习领域,聚类分析、主成分分析(PCA)和判别分析是三种常用的统计方法。这里,我们将详细探讨这些概念及其在实际应用中的代码实现。 首先,聚类分析是一种无监督学习方法,旨在根据数据的相似性...

    聚类分析和判别分析(doc 44)

    使用SAS软件进行聚类分析时,可以利用PROC CLUSTER过程,通过系统聚类法等方法实现聚类的自动处理和结果输出。 与聚类分析不同,判别分析是一种有监督的学习方法,它通常用于已知类别标签的数据集。其核心是基于...

    聚类分析课堂例题参考.pdf

    聚类分析课堂例题参考 聚类分析是数据挖掘中的一种常用方法,用于将相似对象分组,以便更好地了解数据的结构和pattern。这里,我们将通过Matlab软件对聚类分析进行讲解,并提供了相关的函数和代码。 Matlab中进行...

    MATLAB实验指导 利用Matlab和SPSS软件实现聚类分析 共9页.pdf

    std1.m函数用于极差标准化法标准化矩阵,ds1.m函数用于绝对值距离法求距离矩阵,min1.m函数用于求矩阵最小值,min2.m函数用于比较两数大小,cluster.m函数用于实现聚类分析,print1.m函数用于显示聚类结果。...

Global site tag (gtag.js) - Google Analytics