写在前面
在这篇文章里面, 我们介绍下决策树的一些基本知识.
举个例子
下表为AppStore中下载软件的用户信息(性别, 年龄)与下载的App名称(PS. 当然, 这些只是我们为了学习伪造的数据.)
Gender | Age | App |
---|---|---|
F | 15 | PockmonGo |
F | 25 | |
M | 32 | SnapChat |
F | 40 | |
M | 12 | PockmonGo |
M | 14 | PockmonGo |
问: 分析图一中的数据, 分析性别和年龄哪个特征对预测用户会下载哪个app更有效?
[A] 性别
[B] 年龄
分析
按照性别划分
Gender | Age | App |
---|---|---|
F | 15 | PockmonGo |
F | 25 | |
M | 32 | SnapChat |
F | 40 | |
M | 12 | PockmonGo |
M | 14 | PockmonGo |
如果按照性别划分, Fmale(标红的部分)中出现了PockmonGo与WhatsApp, Male(标蓝的部分)中出现了SnapChat与PockmonGo, 并未能将数据很好的分割开来.
按照年龄划分
Gender | Age | App |
---|---|---|
F | 15 | PockmonGo |
F | 25 | |
M | 32 | SnapChat |
F | 40 | |
M | 12 | PockmonGo |
M | 14 | PockmonGo |
如果按照年龄划分, 年龄<20(标红的部分)中只出现了PockmonGo, 年龄>=20(标蓝的部分)中出现了WhatsApp与SnapChat, 对数据的分割效果较好.
得出结论
很明显, 经过思考, 上面这道题应该选择[B] 年龄.
最终的分类
Gender | Age | App |
---|---|---|
F | 15 | PockmonGo |
F | 25 | |
M | 32 | SnapChat |
F | 40 | |
M | 12 | PockmonGo |
M | 14 | PockmonGo |
首先, 我们按照年龄段(<20|>=20)将PockmonGo的用户给分割出来. 然后, 剩下的数据里面, 通过性别(M|F)将WhatsApp与SnapChat的用户分割出来, 得出最终的结果.
树状结构表述
这样我们就得到了一个决策树. 当有新用户访问AppStore时, 我们可以先根据年龄段划分, 如果年龄<20, 则推荐PockmonGo; 如果年龄>=20, 则根据其性别推荐, 如若为男性, 则推荐SnapChat, 女性则推荐WhatsApp.
写在后面
在本文中, 我们已经了解决策树的一些基本原理, 在下一篇文章中, 我们将更深入的探讨决策树.
Be First to Comment