【商务智能】浅析数据挖掘分类和聚类算法

一.前言

每次在学习一个算法的时候,如果只是干巴巴地讲一些理论,会让人觉得味同嚼蜡。如果能先明白这个算法能干什么,便会让人觉得有动力去学习。

商务智能领域中的数据挖掘,说得夸张一点,就是可以用已有的数据来预测未来。

一个企业会记录下客户的行为数据,如:客户年龄段、客户消费额、各个商品销量等等。而这些数据往往隐藏着巨大的商机,通过分析这些庞大的数据,可以挖掘出一些有用的信息,从而帮助管理层做出正确的商业决策。沃尔玛超市的“啤酒和尿布”的故事就是一个有趣的案例。

数据挖掘是一个很广大的领域,包含的内容很多。在“大数据”概念泛滥的今天,数据挖掘显得很火热。本文将浅谈数据挖掘中的分类和聚类算法。

二.分类与聚类

  • 分类(Classification):在给予分类器数据时,你需要告诉它你的每一条数据是属于哪一类数据,分类器会通过这些数据进行学习,从而可以对未知数据进行分类,这种系统通过训练集进行“学习”的过程就是分类算法应该做的。在Machine Learning中这种学习方式叫做supervised learning(监督学习)。

举个例子,一个高尔夫球场需要预测用户什么天气会来打球,现在有数据如下:

68ffc7a44afbc8155ae65&690

 

 

 

 

 

 

 

 

 

我们对数据进行分类后可得到如图的一颗树:

golfDTree

 

 

 

 

 

 

 

 

这样,当新的一天来临,就可以根据图表进行判断是否会有客户来打高尔夫。

但是,如何得到像上面这样的图表呢?如果数据较小,像上面这个案例,你可以人工来做简单的判断。但是当数据量巨大时,不是人工能做到的。这就需要使用分类算法来构造一个分类系统。

分类算法有很多种,如:决策树分类法,贝叶斯分类算法、神经网络法、k-最近邻法(kNN),模糊分类法等等

之后的文章将浅析和实现以下分类算法:

1.贝叶斯分类算法

2.ID3分类算法

3.C4.5分类算法

4.CART分类算法

  • 聚类(Clustering):聚类就是给予系统一堆杂乱的数据,根据数据的相似性把数据划分为几类。聚类不需要给系统说明什么东西属于什么类,系统只需知道数据的相似性,最终输出的就是一堆一堆的数据集合。

用图像来形象地表达这种过程就是:

clustering

如图所示,可以把聚类过程想象为给一堆杂乱的点画圈,把距离比较近的几个点用圆圈圈起来。

聚类分为有很多种,包括层次聚类、分割聚类等。

之后的文章将浅析和实现层次聚类中的:

Single Link(单链接算法)、Complete Link(全链接算法)、Average Link(平均链接算法)

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>