会用聚类算法进行数据挖掘需要线性代数, 变分演算,距离度量,距离矩阵等的数学知识基础。
在数据科学中,我们可以通过聚类分析观察使用聚类算法后获得一些有价值的信息,其中会涉及许多数学理论与实际计算。
主要有以下几类算法:
K-Means(k-平均或k-均值)是普遍知名度最高的一种聚类算法,在许多有关数据科学和机器学习的课程中经常出现。
Mean shift算法,又称均值漂移算法,这是一种基于核密度估计的爬山算法,适用于聚类、图像分割、跟踪等
DBSCAN是一种基于密度的聚类算法,它不需要输入要划分的聚类个数,对聚类的形状没有偏倚。
层次聚类会将每个数据点视为单个聚类,然后连续合并成对的聚类,直到所有聚类合并成包含所有数据点的单个聚类。
关于数据挖掘的相关学习,推荐CDA数据师的相关课程,课程内容兼顾培养解决数据挖掘流程问题的横向能力以及解决数据挖掘算法问题的纵向能力。要求学生具备从数据治理根源出发的思维,通过数字化工作方法来探查业务问题,通过近因分析、宏观根因分析等手段,再选择业务流程优化工具还是算法工具,而非“遇到问题调算法包”。点击预约免费试听课。
1。聚类分析的特点
聚类分析(cluster analysis)是根据事物本身的特性研究个体的一种方法,目的在于将相似的事物归类。它的原则是同一类中的个体有较大的相似性,不同类的个体差异性很大。这种方法有三个特征:适用于没有先验知识的分类。如果没有这些事先的经验或一些国际、国内、行业标准,分类便会显得随意和主观。这时只要设定比较完善的分类变量,就可以通过聚类分析法得到较为科学合理的类别;可以处理多个变量决定的分类。例如,要根据消费者购买量的大小进行分类比较容易,但如果在进行数据挖掘时,要求根据消费者的购买量、家庭收入、家庭支出、年龄等多个指标进行分类通常比较复杂,而聚类分析法可以解决这类问题;聚类分析法是一种探索性分析方法,能够分析事物的内在特点和规律,并根据相似性原则对事物进行分组,是数据挖掘中常用的一种技术。
这种较成熟的统计学方法如果在市场分析中得到恰当的应用,必将改善市场营销的效果,为企业决策提供有益的参考。其应用的步骤为:将市场分析中的问题转化为聚类分析可以解决的问题,利用相关软件(如SPSS、SAS等)求得结果,由专家解读结果,并转换为实际操作措施,从而提高企业利润,降低企业成本。
2.应用范围
聚类分析在客户细分中的应用
消费同一种类的商品或服务时,不同的客户有不同的消费特点,通过研究这些特点,企业可以制定出不同的营销组合,从而获取最大的消费者剩余,这就是客户细分的主要目的。常用的客户分类方法主要有三类:经验描述法,由决策者根据经验对客户进行类别划分;传统统计法,根据客户属性特征的简单统计来划分客户类别;非传统统计方法,即基于人工智能技术的非数值方法。聚类分析法兼有后两类方法的特点,能够有效完成客户细分的过程。
例如,客户的购买动机一般由需要、认知、学习等内因和文化、社会、家庭、小群体、参考群体等外因共同决定。要按购买动机的不同来划分客户时,可以把前述因素作为分析变量,并将所有目标客户每一个分析变量的指标值量化出来,再运用聚类分析法进行分类。在指标值量化时如果遇到一些定性的指标值,可以用一些定性数据定量化的方法加以转化,如模糊评价法等。除此之外,可以将客户满意度水平和重复购买机会大小作为属性进行分类;还可以在区分客户之间差异性的问题上纳入一套新的分类法,将客户的差异性变量划分为五类:产品利益、客户之间的相互作用力、选择障碍、议价能力和收益率,依据这些分析变量聚类得到的归类,可以为企业制定营销决策提供有益参考。
以上分析的共同点在于都是依据多个变量进行分类,这正好符合聚类分析法解决问题的特点;不同点在于从不同的角度寻求分析变量,为某一方面的决策提供参考,这正是聚类分析法在客户细分问题中运用范围广的体现。
聚类分析在实验市场选择中的应用
实验调查法是市场调查中一种有效的一手资料收集方法,主要用于市场销售实验,即所谓的市场测试。通过小规模的实验性改变,以观察客户对产品或服务的反应,从而分析该改变是否值得在大范围内推广。
实验调查法最常用的领域有:市场饱和度测试。市场饱和度反映市场的潜在购买力,是市场营销战略和策略决策的重要参考指标。企业通常通过将消费者购买产品或服务的各种决定因素(如价格等)降到最低限度的方法来测试市场饱和度。或者在出现滞销时,企业投放类似的新产品或服务到特定的市场,以测试市场是否真正达到饱和,是否具有潜在的购买力。前述两种措施由于利益和风险的原因,不可能在企业覆盖的所有市场中实施,只能选择合适的实验市场和对照市场加以测试,得到近似的市场饱和度;产品的价格实验。这种实验往往将新定价的产品投放市场,对顾客的态度和反应进行测试,了解顾客对这种价格的是否接受或接受程度;新产品上市实验。波士顿矩阵研究的企业产品生命周期图表明,企业为了生存和发展往往要不断开发新产品,并使之向明星产品和金牛产品顺利过渡。然而新产品投放市场后的失败率却很高,大致为66%到90%。因而为了降低新产品的失败率,在产品大规模上市前,运用实验调查法对新产品的各方面(外观设计、性能、广告和推广营销组合等)进行实验是非常有必要的。
在实验调查方法中,最常用的是前后单组对比实验、对照组对比实验和前后对照组对比实验。这些方法要求科学的选择实验和非实验单位,即随机选择出的实验单位和非实验单位之间必须具备一定的可比性,两类单位的主客观条件应基本相同。
通过聚类分析,可将待选的实验市场(商场、居民区、城市等)分成同质的几类小组,在同一组内选择实验单位和非实验单位,这样便保证了这两个单位之间具有了一定的可比性。聚类时,商店的规模、类型、设备状况、所处的地段、管理水平等就是聚类的分析变量。 转
聚类分析是生信分析中常用的工具,在转录组分析中经常用到。聚类分析将表达模式相似的基因聚类在一起,以基因集的形式进行后续分析,今天我给大家介绍其相关原理。
聚类方法有很多,常用的有以下几个:
下图的例子展示的是,差异表达基因集的聚类热图。
多是基于R语言heatmap.2函数绘制(gplots程序包),该函数默认使用的聚类方法是计算欧式距离(Euclidean Distance)进行层次聚类(Hierarchical Cluster)。
这个图的是什么意思呢?我们来解释一下。
首先,我们先明确下什么是欧式距离(Euclidean Distance):
欧式距离,也称欧几里得距离,是衡量多维空间的两个点之间的绝对距离,
(1) 二维平面,两点a(x1,y1),b(x2,y2) 欧式距离的计算公式为:
(2) 三维空间,欧式距离的计算公式为:
(3) n维空间,欧式距离的计算公式为:
那么,体现在基因表达量的矩阵上,则如下:
(1) 首行为样本名; (2) 首列为基因名; (3) 数字则为基因在相应样本中的表达量(一般使用标准化后的表达量矩阵)
Gene1与Gene2的欧式距离为:
Gene1与Gene3的欧式距离为:
Gene1与Gene4的欧式距离为:
计算出所有基因两两之间的欧式距离之后,就可以进行聚类啦:
Cluster之间的聚类,则有3种方法:
R语言中hclust函数的默认方法为最长距离法(complete-linkage)。
以上的聚类过程即称之为 层级聚类 。
层级聚类一般伴随着 系统聚类图 ,系统聚类图分支的长短也体现Cluster形成的早晚,分支越短,形成的越早,基因表达模式也越相近。
聚类分析将基因划分为不同的基因集合,用于反映不同实验条件下样品差异表达基因的变化模式。
功能相关的基因在相同条件下通常具有相似的表达模式,例如被共同的转录因子调控的基因,或其产物构成同一个蛋白复合体的基因,或参与相同生物学过程的基因。对这些基因集进行分析往往可以获得比单基因分析更为可靠的结果。
RFM分析只能对客户的行为进行分析,包含的信息量有点少。一般来说,对人群进行分类,要综合考虑其行为、态度、模式以及相关背景属性,通过使用特定的方法,发现隐藏在这些信息背后的特征,将其分成几个类别,每一类具有一定的共性,进而做出进一步的探索研究。这个分类的过程就是聚类分析。
聚类分析,就是按照个体的特征将它们分类,目的在于让同一个类别内的个体之间具有较高的相似度,而不同类别之间具有较大的差异性。这样,就能够根据不同类别的特征有的放矢地进行分析,并制定出适用于不同类别的解决方案。
聚类可以对变量进行聚类,但是更常见的还是对个体进行聚类,也就是样本聚类。例如对用户、渠道、商品、员工等方面的聚类,聚类分析主要应用在市场细分、用户细分等领域。
为了合理的聚类,需要采用适当的指标来衡量研究对象之间的联系紧密程度,常用的指标有“距离”和“相似系数”,相似系数一般指的是相关系数。假设将研究对象采用点表示,聚类分析时,将“距离”较小的点或“相似系数”较大的点归为同一类,将“距离”较大的点或“相似系数”较小的点归为不同的类。
聚类分析具有如下特点:
1.对于聚类结果是未知的,不同的聚类分析方法可能得到不同的分类结果,或者相同的聚类分析方法但是所分析的变量不同,也会得到不同的聚类结果;
2.对于聚类结果的合理性判断比较主观,只要类别内相似性和类别间差异性都能得到合理的解释和判断,就认为聚类结果是可行的。
聚类分析可以应用于以下场景:
聚类分析的步骤:
(1)确定需要参与聚类分析的变量;
(2)对数据进行标准化处理;
因为各个变量间的变量值的数量级别差异较大或者单位不一致,例如一个变量的单位是元,另一个变量的单位是百分比,数量级别差异较大,而且单位也不一致,无法直接进行比较或者计算“距离”和“相似系数”等指标。
(3)选择聚类方法和类别个数;
(4)聚类分析结果解读;
常用的聚类方法包括:
1.快速聚类:也称K均值聚类,它是按照一定的方法选取一批聚类中心点,让个案向最近的聚类中心点聚集形成初始分类,然后按照最近距离原则调整不合理的分类,直到分类合理为止。
2.系统聚类:也称层次聚类,首先将参与聚类的个案(或变量)各视为一类,然后根据两个类别之间的聚类或者相似性逐步合并,直到所有个案(或变量)合并为一个大类为止。实际上,系统聚类分析结果展现了每个个案的聚类过程和分类结果。系统聚类之后,要制作交叉表通过每一个类别的均值来了解每一类别的特征。
3.二阶聚类:也称两步聚类,它是随着人工智能的发展起来的一种智能聚类方法。整个聚类方法分为两个步骤,第一个步骤是预聚类,就是根据定义的最大类别数对个案进行初步归类;第二个步骤是正式聚类,就是对第一步得到的初步归类进行再聚类并确定最终聚类结果,并且在这一步中,会根据一定的统计标准确定聚类的类别数。
(1)系统聚类分析不仅支持输入单个分类数量,还支持输入分类数量的范围。这对于暂时无法确定类别数,或者想进行多类别数的结果比较时,非常方便。
(2)系统聚类分析支持生成聚类结果图,从而更加直观地查看聚类过程。系统聚类分析支持两种图形:
谱系图(树状图):它以树状的形式展现个案被分类的过程;
冰柱图:它以“X”的形式显示全部类别或指定类别数的分类过程。
(3)系统聚类分析提供多种聚类方法和适用于不同数据类型的测量方法。
其中,测量方法(度量标准):
(i)区间:适用于连续变量,虽然SPSS提供了8种测量方法,但是通常选用默认的【平方欧式距离】即可。
(ii)计数:适用于连续或分类变量,SPSS提供了2种测量方法,通常选用【卡式测量】即可。
(iii)二元:适用于0/1分类变量,SPSS提供多达27种测量方法,通常选用【平方欧式距离】即可。
通过方法里的转换值项来进行标准化处理。由于参与聚类分析的变量是连续变量,所以,【测量】应选择【区间】项,方法为默认的【平方欧式距离】,标准化可以选择【Z得分】,选择按【变量项】,用以每个变量单独进行标准化。
二阶聚类分析能够对连续变量和分类变量同时进行处理,无需提前指定聚类的数目,二阶聚类会自动分析并输出最优聚类数。二阶聚类的自动聚类结果借由统计指标施瓦兹贝叶斯准则(BIC)帮助判断最佳分类数量。判断一个聚类方案的依据是BIC的数值越小,同时,“BIC变化量”的绝对值和“距离测量比率”数值越大,则说明聚类效果越好。
聚类分析属于探索性数据分析方法,它没有一个所谓的标准流程和答案,不同的数据有不同的适用方法,即使相同的数据,应用不同的方法也可能会得到不同的结果。只要能有效解决实际业务问题即可。