Python随机森林 - CodeProject

点击上方“中兴开发者社区”,关注我们

每天读一篇一线开发者原创好文

译者:XTH

英文原文:https://www.codeproject.com/Articles/1197167/Random-Forest-Python 

随机森林介绍

随机森林是一种在集成学习中很受欢迎的算法,可用于分类和回归。这意味着随机森林中包括多种决策树,并将每个决策树结果的平均值作为随机森林的最终输出。决策树有一些缺点,比如训练集的过拟合导至很高的差异性,不过这在随机森林中已经可以通过Bagging(Bootstrap Aggregating)的帮助解决。因为随机森林实际上是由多种不同的决策树组成的,所以我们最好先了解一下决策树算法,然后再学习随机森林的相关知识。


决策树:

决策树用树形图来查看各元素之间的关系,以尽可能的做出最好的决定。举个例子,现在我们知道有一个网球运动员,他会根据不同的天气条件来选择是否进行比赛。于是现在我们想知道:在第15天的时候他是否会进行比赛呢?

寻找“纯净”分支

这里有15天的数据,其中有9天他进行了比赛,5天没有比赛。你需要仔细观察表中提供的训练数据,其中包括多种特征及各不相同的特征值。我们需要找到哪些特征的特征值对结果的影响是相同的(在该特征值出现时,所有的PLAY = Yes/PLAY = No),或者换句话说,哪个值在表中始终与Play值的颜色相同。

“纯净”分支选择过程:

(Humidity = High  For all days: (Play = Yes) | (Play = No)) No

(Humidity = Normal  For all days: (Play = Yes) | (Play = No)) No

(Wind = Weak  For all days: (Play = Yes) | (Play = No)) No

(Wind = Strong  For all days: (Play = Yes) | (Play = No)) No

(Outlook = Rain  For all days: (Play = Yes) | (Play = No)) No

(Outlook = Sunny  For all days: (Play = Yes) | (Play = No)) No

(Outlook = Overcast  For all days: (Play = Yes) | (Play = No)) Yes √

所以我们的运动员总是在"outlook = overcast"(D3,D7,D12,D13)时参加比赛,所以我们应该将"outlook"这个特征作为我们的根节点,并从其开始继续寻找分支。接下来我们寻找特征"Outlook = Sunny"(D1,D2,D8,D9,D11)条件下的“纯净”分支,查看"humidity"和"wind"的哪个特征值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值