下个学期开始就要讲数据挖掘了,有点开心,也有点紧张。数据挖掘不是单纯的讲解理论,更偏向于实践。所以除了把基础的概念讲清楚,如何带着同学们做一些有意义的项目,确实是一个挑战~~
今天呢,我们就从决策树开始,先介绍基础的概念,然后再做一个项目练手。
先提醒大家一下,我会将一个算法分为多篇文章介绍,由浅入深。今天先给大家介绍一下决策树的基本流程。
决策树是一类常见的机器学习方法。以二分类为例,我们希望从给定的训练数据集学得一个模型用以对新示例进行分类,这个把样本分类的任务,可看作对“当前样本属于正类吗?”这个问题的“决策”或“判断”。顾名思义,决策树是基于树结构来进行决策的,这恰是人类在面临决策问题时一种很自然的处理机制。例如,我们要对“这是好机会吗?”这样的问题进行决策时,通常会进行一系列的判断或“子决策”:我们先看“每个月赚多少钱”,如果是“合乎自己预期”,则我们再看“这家公司的主营业务”,如果是“一些热门的行业”,我们再判断“它位于哪个地区”,如果是在“一线城市”,最后,我们的出最终决策:这是个好机会。
显然,决策过程的最终结论对应了我们所希望的判定结果,例如“是”或“不是”好机会;决策过程中提出的每个判定问题都是对某个属性的“测试”,例如“每月收入=?”,“主营业务=?”;每个测试的结果或是导出最终结论,或是导出进一步的判定问题,其考虑范围是在上次决策结果的限定范围之内,例如:若在“每个月赚多少钱=合乎自己预期”之后再判断“这家公司的主营业务=?”,则仅在考虑合乎自己预期的收入的基础上的公司的主营业务。
这句话理解起来比较绕,简单来说就是,判断这家公司的主营业务的前提是,收入需要满足自己的预期。如果收入达不到预期,那可能考虑的就不是主营业务,而是别的条件。
所以,面对“每月收入=?”这种问题,我们如何回答,现实生活中答案肯定不止一种。我们选择其中一种答案后,接下来该考虑什么问题,是“主营业务=?”,还是“公司位于哪个地区=?”。这些问题的重要性如何取舍,是都考虑还是挑选某几个问题。如何解决这些疑问呢?就需要用到算法了~~
好了,决策树的基本概念先介绍这么多,我们尽量不说的那么书面化,尽量用通俗一点的语言来表达。期待下一篇对决策树的进一步介绍吧~