※图中矩形表示一个拆分节点,矩形中文字是拆分条件。
※矩形颜色深浅代表此节点包含事例的数量,颜色越深包含的事例越多,如全部节点包含所有的1000个事例,颜色最深。经过第一次基于年龄的拆分后,年龄大于67岁的包含36个事例,年龄小于32岁的133个事例,年龄在39和67岁之间的602个事例,年龄32和39岁之间的229个事例。所以第一次拆分后,年龄在39和67岁的节点颜色最深,年龄大于67岁的节点颜色最浅。
※节点中的条包含两种颜色,红色和蓝色,分别表示此节点中的事例购买和不购买自行车的比例。如节点“年龄>=67”节点中,包含36个事例,其中28个没有购买自行车,8个购买了自行车,所以蓝色的条比红色的要长。表示年龄大于67的会员有74.62%的概率不购买自行车,有23.01%的概率购买自行车。
在图中,可以找出几个有用的节点:
1.年龄小于32岁,居住在太平洋地区的会员有72.75%的概率购买自行车;
2.年龄在32和39岁之间的会员有68.42%的概率购买自行车;
3.年龄在39和67岁之间,上班距离不大于10公里,只有1辆汽车的会员有66.08%的概率购买自行车;
4.年龄小于32岁,不住在太平洋地区,上班距离在1公里范围内的会员有51.92%的概率购买自行车;
第一步,建立模型,确定数据表中哪些列是要用于输入,哪些是用于预测,选择用何种算法。这时建立的模型内容是空的,在模型没有经过训练之前,计算机是无法知道如何分类数据的。
第二步,准备模型数据集,例子中的模型数据集就是1000个会员数据。通常的做法是将模型集分成训练集和检验集,比如从1000个会员数据中随机抽取700个作为训练集,剩下300个作为检验集。
第三步,用训练数据集填充模型,这个过程是对模型进行训练,模型训练后就有分类的内容了,像例子图中的树状结构那样,然后模型就可以对新加入的会员事例进行分类了。由于时效性,模型内容要经常更新,比如十年前会员的消费模式与现在有很大的差异,如果用十年前数据训练出来的模型来预测现在的会员是否会购买自行车是不合适的,所以要按时使用新的训练数据集来训练模型。
第四步,模型训练后,还无法确定模型的分类方法是否准确。可以用模型对300个会员的检验集进行查询,查询后,模型会预测出哪些会员会购买自行车,将预测的情况与真实的情况对比,评估模型预测是否准确。如果模型准确度能满足要求,就可以用于对新会员进行预测。
NaveBayes是一种由统计学中Bayes法发展而来的分类方法。
有A、B两个政党对四个议题进行投票,A政党有211个国会议员,B政党有223个国会议员。下表统计了政党对四个议题赞成或反对的票数。
国家安全法
个人财产保护法
遗产税
反分裂法
总计
赞成
反对
A政党
166
87
114
184
11
178
23
211
B政党
214
4
6
172
210
223
20%
80%
43%
57%
94%
6%
89%
11%
49%
98%
2%
97%
3%
83%
17%
99.50%
0.50%
51%
A政党的议员有20%概率赞成国家安全法,43%概率赞成个人财产保护法,94%概率赞成遗产税,89%概率赞成反分裂法。
B政党的议员有98%概率赞成国家安全法,97%概率赞成个人财产保护法,83%概率赞成遗产税,99.5%概率赞成反分裂法。
基于这样的数据,NaveBayes能预测的是如果一个议员对国家安全法投了赞成票,对个人财产保护法投了反对票,对遗产税投了赞成票,对反分裂法投了赞成票。哪么,这个议员有多大的概率属于A政党,又有多少的概率属于B政党。
例2
一个产品在生产后经检验分成一等品、二等品、次品。生产这种产品有三种可用的配方,两种机器,两个班组的工人。下面是1000个产品的统计信息。
配方
机器
工人
配方1
配方2
配方3
机器1
机器2
班组1
班组2
一等品
47
110
121
255
130
148
278
二等品
299
103
165
392
175
327
240
567
次品
74
25
56
69
86
38
117
155
16.91%
39.57%
43.53%
8.27%
91.73%
46.76%
53.24%
27.80%
52.73%
18.17%
29.10%
69.14%
30.86%
57.67%
42.33%
56.70%
47.74%
16.13%
36.13%
44.52%
55.48%
24.52%
75.48%
15.50%
使用NaveBayes模型,每次在制定生产计划,确定生产产品所用的配方、机器及工人,便能预测生产中有多少的一等品、二等品和次品。
每个神经元节点内部包含有一个组合函数∑和激活函数f。X1,X2是其他神经元的输出值,对此神经元来说是输入值,组合函数将输入值组合后传递给激活函数。激活函数经过特定的计算后得到输出值y,y有被传递给其他神经元。
例如,下表是工厂生产情况。
机器数量
工人数量
生产数量
12
400
7
78
389
81
674
……
例如,服装销售公司要根据各地分销店面提交的计划预计实际销售量。
使用自动回归树得到上图的模型,假如山东销售店提交的计划童装数量是500套,预计销售量是-100+0.6×500=200套,按6Sigma原则,有99.97%的概率实际销售量可能是200±90套。广州提交计划童装300套,预计销售量是20+0.98×300=314±30套。广州的销售店制定的童装计划比山东的准确。
有时在分类不存在前,要将现有的事例分成几类。比如有同种材料要分类装入到各个仓库中,这种材料有尺寸、色泽、密度等上百个指标,如果不熟悉材料的特性很难找到一种方法将材料分装。
又例如,银行刚开始信用卡业务时,没有将客户分类,所有的客户都使用同一种信用卡。在客户积累到一定的数量后,为了方便管理和制定市场策略,需要将客户分类,让不同类别的客户使用不同的信用卡。但问题是,银行该把客户分成几个类别,谁该属于哪一类。
图中三角形的点代表客户,图中的红色线条是对客户的分类。可以看到这种不合理,第一类别没有包含任何事例,而第四类也只有少量事例,而第二和第三类分界处聚集着大量事例。
观测图像,发现大部分客户事例聚集在一起形成了三个簇,下图中用三个椭圆标出了这些簇。
同在一个簇中的客户有着类似的消费行为,黑色簇中的客户消费额与收入成正比;蓝色簇中的客户不习惯使用信用卡消费,可以对这类客户发放一种低手续费的信用卡,鼓励他们使用信用卡消费;绿色簇中的客户消费额相对收入来说比较高,应该为这类客户设计一种低透支额度的信用卡。
科学试验中,研究人员对异常点很感兴趣,通过研究不寻常的现象提出新的理论。
聚类的另一个用途是发现属性间隐含的关系。例如有30名学生考试成绩:
学号
美术
语文
物理
历史
英语
音乐
数学
化学
31001
50
89
61
53
65
96
31002
70
88
55
92
31003
54
63
73
91
教师想知道学科之间是否有关联,如果学生某门学科成绩优秀,是否会在另一门学科上也有优势。