Decision Tree (一)

写在前面

在这篇文章里面, 我们介绍下决策树的一些基本知识.

举个例子

下表为AppStore中下载软件的用户信息(性别, 年龄)与下载的App名称(PS. 当然, 这些只是我们为了学习伪造的数据.)

Gender Age App
F 15 PockmonGo
F 25 WhatsApp
M 32 SnapChat
F 40 WhatsApp
M 12 PockmonGo
M 14 PockmonGo

问: 分析图一中的数据, 分析性别和年龄哪个特征对预测用户会下载哪个app更有效?
[A] 性别
[B] 年龄

分析

按照性别划分

Gender Age App
F 15 PockmonGo
F 25 WhatsApp
M 32 SnapChat
F 40 WhatsApp
M 12 PockmonGo
M 14 PockmonGo

如果按照性别划分, Fmale(标红的部分)中出现了PockmonGo与WhatsApp, Male(标蓝的部分)中出现了SnapChat与PockmonGo, 并未能将数据很好的分割开来.

按照年龄划分

Gender Age App
F 15 PockmonGo
F 25 WhatsApp
M 32 SnapChat
F 40 WhatsApp
M 12 PockmonGo
M 14 PockmonGo

如果按照年龄划分, 年龄<20(标红的部分)中只出现了PockmonGo, 年龄>=20(标蓝的部分)中出现了WhatsApp与SnapChat, 对数据的分割效果较好.

得出结论

很明显, 经过思考, 上面这道题应该选择[B] 年龄.

最终的分类

Gender Age App
F 15 PockmonGo
F 25 WhatsApp
M 32 SnapChat
F 40 WhatsApp
M 12 PockmonGo
M 14 PockmonGo

首先, 我们按照年龄段(<20|>=20)将PockmonGo的用户给分割出来. 然后, 剩下的数据里面, 通过性别(M|F)将WhatsApp与SnapChat的用户分割出来, 得出最终的结果.

树状结构表述

这样我们就得到了一个决策树. 当有新用户访问AppStore时, 我们可以先根据年龄段划分, 如果年龄<20, 则推荐PockmonGo; 如果年龄>=20, 则根据其性别推荐, 如若为男性, 则推荐SnapChat, 女性则推荐WhatsApp.

写在后面

在本文中, 我们已经了解决策树的一些基本原理, 在下一篇文章中, 我们将更深入的探讨决策树.

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据