决策树入门

2020-06-22

Ann Ann

一、基本概念

机器学习是指,通过统计学方法,自动找出数据的模式。通俗地说,就是让机器具备分析能力。

为了实现这个目标,需要有两样东西。

  • 分析模型
  • 已经处理好的数据

通过已经处理好的数据,调试模型的参数,这个过程叫做“模型训练”(Model training)。

等到训练完成,就可以将未处理的数据放入模型,自动运算得到结论。这个过程就是机器学习。

二、分类问题

机器学习要解决的基本问题之一,就是分类(classification),将一堆数据自动分成A类、B类、C类等等。

决策树(decision tree)就是用来解决分类问题的一个模型。它能够通过一系列判断,正确地识别数据类型。

为了做到一点,必须先有一个已经完成分类的数据集,用来训练模型。

三、洛杉矶还是纽约?

下面是一个房产分类的例子,你有一个房产的基本数据,就是不知道它到底是在洛杉矶,还是在纽约。机器会告诉你答案。

为了做到这一点,必须先训练模型。

我们的训练数据集,是一批这两个城市房产的统计数据,每个样本有七个指标。

  • 海拔高度(elevation)
  • 建造年份(year build)
  • 卫生间数量(bathrooms)
  • 卧室数量(bedrooms)
  • 总价(price)
  • 面积(square feet)
  • 单价(price per sqft)

这七个指标就是一个房产的特征点,又称为维度(dimension)。用统计学语言,就是这个数据集是一个七维数据集。

四、第一轮判断

首先,我们尝试从第一个维度“海拔高度”判断,能不能识别房产所在的城市。

由于洛杉矶多山,房产的海拔较高。因此,只要房产的平均海拔高,就判断这所房子在洛杉矶。

我使用最简单的公式,计算一个门槛值。

分类门槛 = (洛杉矶房产的平均海拔 + 纽约房产的平均海拔 ) / 2

最后得到的门槛值是73英尺(约22米),即如果一个房产的海拔高度超过73英尺,就判断这所房子在洛杉矶,否则就是在纽约。

这样分类并不是完全准确。不难想到,高海拔的纽约房产分到了洛杉矶,低海拔的洛杉矶房产分到了纽约。因此,第一轮判断还不够,单一特征不足以得到正确结果。所以,还要进行第二轮判断。

五、第二轮判断

第一轮判断已经将训练数据集分成了两半(高于73英尺的房产和低于73英尺的房产)。我们依次对这两个子集进行第二轮判断。

这次选择的维度是单价。还是使用前面的公式,统计发现,对于海拔高度低于73英尺的房产,单价的门槛值是每平方英尺1776美元(纽约较贵,洛杉矶较便宜)。

所以,海拔高度低于73英尺的房产,又被分成两类。

  • A类:单价小于1776美元的房产
  • B类:单价大于1776美元的房产

对于A类来说,由于两个门槛值判断结果一致,因此该房产位于纽约的可能性较高。对于B类来说,由于两个门槛值的判断结果不一致,位于纽约的可能性就低一些。

但是,这两个分类都有可能混入错误的结果,因此还需要更多轮次的判断。

六、后续判断

经过前面两次决策,所有数据现在被分成四类。

只要其中有一类还存在错误的分类结果(纽约的被分到洛杉矶,或相反),那么就继续对该分类进行下一轮判断,直到将所有数据正确分类为止,否则该分支就不再往下计算了。

由于还剩下五个维度没有用到,这个决策树最多可以有七层。

经过七层的决策树,依然有可能无法对数据分类。比如,如果某个洛杉矶房产的七个指标,与纽约的房产完全一致,那就会分类失败。

另外,这七个维度的分类能力是不同,有的维度分类效果较好(可能一轮判断就够了),有的维度的分类效果较弱差,甚至具有负效果(即会干扰正确分类)。统计学的一个重要课题,就是找出分类效果最好的那些维度,本文不涉及这方面的内容。

七、完成训练

假定经过7轮的训练,所有数据都正确分类了。我们就得到了下面的决策树模型。

整棵数的每个子树节点,都有某个维度的门槛值作为判断标准,决定一个数据到底应该通过左子树,还是右子树。

以后,新的数据进来,只要放到这棵决策树里运行一遍,就能知道它到底在洛杉矶,还是在纽约。

近期开课hot

Python零基础入门

start2025/02/12 03:14 (Sydney)

Web全栈班24期 NodeJS方向

start2024/12/08 11:30 (Sydney)

logo

Follow Us

linkedinfacebooktwitterinstagramweiboyoutubebilibilitiktokxigua

We Accept

/image/layout/pay-paypal.png/image/layout/pay-visa.png/image/layout/pay-master-card.png/image/layout/pay-stripe.png/image/layout/pay-alipay.png

地址

Level 10b, 144 Edward Street, Brisbane CBD(Headquarter)
Level 2, 171 La Trobe St, Melbourne VIC 3000
四川省成都市武侯区桂溪街道天府大道中段500号D5东方希望天祥广场B座45A13号
Business Hub, 155 Waymouth St, Adelaide SA 5000

Disclaimer

footer-disclaimerfooter-disclaimer

JR Academy acknowledges Traditional Owners of Country throughout Australia and recognises the continuing connection to lands, waters and communities. We pay our respect to Aboriginal and Torres Strait Islander cultures; and to Elders past and present. Aboriginal and Torres Strait Islander peoples should be aware that this website may contain images or names of people who have since passed away.

匠人学院网站上的所有内容,包括课程材料、徽标和匠人学院网站上提供的信息,均受澳大利亚政府知识产权法的保护。严禁未经授权使用、销售、分发、复制或修改。违规行为可能会导致法律诉讼。通过访问我们的网站,您同意尊重我们的知识产权。 JR Academy Pty Ltd 保留所有权利,包括专利、商标和版权。任何侵权行为都将受到法律追究。查看用户协议

© 2017-2024 JR Academy Pty Ltd. All rights reserved.

ABN 26621887572