首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

第二颗树——规则树 规则学习

如果你面前有一个这样的转盘:

转盘的指针转动,然后随机的停在转盘上的某个位置,现在要你猜,指针停下后,所指的颜色是什么。

你会猜什么颜色呢?——蓝色!Bingo!因为蓝色的范围是最大的!

如果让机器猜,机器也会猜蓝色,这就是Zero R算法啦!

Zero R算法是最简单的分类规则算法,分类规则表达的是非此即彼的逻辑关系(if-else),if后面接的条件,我们称之为前件(antecedent),else后面接的是结果,我们称之为后件(consequent),前件和后件构成了一个假设:如果前件发生,后件就会发生。

Zero R不考虑特征变量,在总体数据中,哪种结局占的比例最大,它就认为整个群体属于哪种类别,就是少数服从多数!简单粗暴有木有?!这种用简单规则覆盖部分数据的算法也叫覆盖算法(Covering Algorithm)。

1R(One R):One R比Zero R多了一个1,意味着1R算法和Zero R算法相比,多考虑了一个特征变量。

例如你想判断一个人会不会得褥疮,褥疮就是结局变量,特征变量可能包括:年龄,营养情况,感染,卧床时间等等,如果用Zero R算法,那就要看你的训练集里到底是得褥疮的多还是非褥疮的多了,如果得褥疮的人占大多数,算法会告诉你,所有的人都会得褥疮……

如果用1R算法,模型会分别使用各特征变量(年龄、营养情况、是否感染、卧床时间)将原始数据分组,然后根据组内少数服从多数的原则,将多数的结局作为组内案例的最终预测,最后选择准确率最高的特征变量。

具体来说:根据营养情况,将全部病人分为营养正常组和营养不良组,营养正常组的褥疮发生率是40%,营养不良组的褥疮发生率是70%,模型会把所有的营养正常组的案例预测为不会发生褥疮,而营养不良组的案例全部预测为发生褥疮。假设如此预测后,我们发现准确率大概在65%,而通过卧床时间将所有案例分组后,依据上法得出的准确率是70%,那么模型会采纳准确率高的(也就是卧床时间)作为分类的依据。

RIPPER(Repeated Incremental Pruning to Produce Error Reduction)重复增量修剪算法,是比较高级的规则学习算法,其包含了三个过程:生长、修剪、优化。

生长阶段算法通过调用特征属性尽可能的细化分割数据,直到能完全划分出一个数据子集或者没有属性可用于分割,此步与决策树类似,可用信息增益率来确定下一个分割的属性。当增加一个规则而熵值不再减少时,该规则会立即被修剪。重复第一步和第二部,直到它达到一个停止准则,然后用各种探索法进行优化。

RIPPER算法和前面说过的Zero R和One R相比最大的优势在于它可以同时关注多个特征变量,于是会产生更精致的模型,其最后的模型和决策树相比较,通常更好理解。

决策树和规则树可以用来解决分类问题,如果最终要预测的结局是个连续型变量,那么就是回归树和模型树的用武之地了,且听下回分解吧~

快乐

2018你的生活会更精彩。“永远自由自我,

永远高唱我歌”

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180109G08Z0Y00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券