在《分类:基于规则的分类技术》中已经比较详细的介绍了基于规则的分类方法,RIPPER算法则是其中一种具体构造基于规则的分类器的方法。在RIPPER算法中,有几个点是算法的重要构成部分,需要强调一下

  • 规则排序方式

RIPPER算法中采用的仍然是基于类的规则排序方式,不过独特的地方是,它先将各个类按频率(即类中包含的样本占总样本数的比例)从低到高排序,设是排序后的类,是最不频繁的类,是最频繁的类,按照《分类:基于规则的分类技术》中介绍的规则生成方法,生成类的规则,直至剩下类,然后类作为默认类,这样做的好处是减少数据在作类预测时的比较次数,因为概率最大的类是默认类,这样多数数据只需要做少量的规则比较。

  • 规则的增长

        RIPPER算法使用FOIL信息增益来选择最有的合取项来添加到规则前件中,当规则开始覆盖反例时即停止添加合取项,此时采用IREP剪枝方法,将规则在验证集上剪枝,是否剪枝则需要依据如下度量参数来决定

其中分别表示规则在验证集上所覆盖的正例和反例个数,若剪枝后改度量增大,则保留剪枝结果,否则不进行剪枝。剪枝时,从规则末尾的合取项开始。尽管剪枝前规则只覆盖正例,但剪枝后的规则可能会覆盖训练集中部分反例。

  • 建立规则集

​​​​​​​       一条规则生成后,是否能够添加到规则集中还需要经过两个条件判断首先,该规则不违反最小描述长度原则(MDL);其次,规则在验证集上的错误率不超过50%。关于最小描述长度原则,这里稍微说明一下。根据维基百科中的解释,最小描述长度原则是奥卡姆剃刀原则形式化后的描述,当,其背后的思想是:在任一给定的资料集内的任何规律性都可用来压缩,也即是在描述资料时,与逐字逐句来描述资料的方式相比,能使用比所需还少的符号,既然如此,总有一种描述方式长度最小,这里长度用计算机中二进制的比特位(bit)来表示。

不违反最小描述长度原则,指的是在添加规则后,整个规则集的长度增加不超过一定比特位数,默认是64位。

转载于:https://www.cnblogs.com/hgz-dm/p/10886175.html

基于规则的分类——RIPPER算法的更多相关文章

  1. 从Odds:比值比推导出Logtic分类的算法

    在从概率模型推导出逻辑回归算法模型的博文中,我试着从李宏毅老师的课程中讲到的概率模型去推导逻辑分类的算法模型.有幸看到另外一篇博文01 分类算法 - Logistic回归 - Logit函数,我了解到 ...

  2. [数据挖掘课程笔记]基于规则的分类-顺序覆盖算法(sequential covering algorithm)

    Rule_set = {}; //学习的规则集初试为空 for 每个类c do repeat Rule = Learn_One_Rule(D,Att-vals,c) 从D中删除被Rule覆盖的元组; ...

  3. LSTM UEBA异常检测——deeplog里其实提到了,就是多分类LSTM算法,结合LSTM预测误差来检测异常参数

    结合CNN的可以参考:http://fcst.ceaj.org/CN/article/downloadArticleFile.do?attachType=PDF&id=1497 除了行为,其他 ...

  4. 最邻近规则分类KNN算法

    例子: 求未知电影属于什么类型: 算法介绍: 步骤:  为了判断未知实例的类别,以所有已知类别的实例作为参照      选择参数K      计算未知实例与所有已知实例的距离      选择最近K个已 ...

  5. 机器学习--最邻近规则分类KNN算法

    理论学习: 3. 算法详述        3.1 步骤:      为了判断未知实例的类别,以所有已知类别的实例作为参照      选择参数K      计算未知实例与所有已知实例的距离      选 ...

  6. 逻辑回归,多分类推广算法softmax回归中

    转自http://ufldl.stanford.edu/wiki/index.php/Softmax%E5%9B%9E%E5%BD%92 简介 在本节中,我们介绍Softmax回归模型,该模型是log ...

  7. 隐私计算FATE-多分类神经网络算法测试

    一.说明 本文分享基于 Fate 使用 横向联邦 神经网络算法 对 多分类 的数据进行 模型训练,并使用该模型对数据进行 多分类预测. 二分类算法:是指待预测的 label 标签的取值只有两种:直白来 ...

  8. 利用OpenMP实现埃拉托斯特尼(Eratosthenes)素数筛法并行化 分类: 算法与数据结构 2015-05-09 12:24 157人阅读 评论(0) 收藏

    1.算法简介 1.1筛法起源 筛法是一种简单检定素数的算法.据说是古希腊的埃拉托斯特尼(Eratosthenes,约公元前274-194年)发明的,又称埃拉托斯特尼筛法(sieve of Eratos ...

  9. C语言面试题分类->排序算法

    1.选择排序. 每次将最小的数,与剩余数做比较.找到更小的,做交换. 时间复杂度:O(n²) 空间复杂度:O(1) 优缺点:耗时但内存空间使用小. void selectSort(int *p,int ...

随机推荐

  1. python之excel的封装

    python之excel的封装 将所有excel的操作都使用面向对象的思维进行封装,即将所有操作都放入一个类中即为封装. 它将excel的处理极大程度的进行了简化操作 封装前需要先处理的操作: 1.在 ...

  2. JavaScript中||和&&的运算

    一般来讲 && 运算和 | | 运算得到的结果都是 true 和 false ,但是 js 中的有点不太一样.当进行 a&&b 和 a| |b (如 1&&am ...

  3. Flask 入门(五)

    jinjia2模板传参 在html中调用python代码中传入的参数规则己经在上文中说明白了,下面,我们来实用一下: 1.编辑index.py中的代码如下: from flask import Fla ...

  4. word多级列表应用

  5. 讲真,这两款idea插件,能治愈你英语不好的病

    时不时就有小伙伴问我,"二哥,能推荐一款 IDE 吗?"你看这话问的,现在搞 Java 的不都在用 Intellij IDEA 吗,还用得着推荐(我已经和 Eclipse 分手了) ...

  6. python3(三十二) try except

    """ 异常处理 """ __author__on__ = 'shaozhiqi 2019/9/19' # 大量的代码来判断是否出错: # ...

  7. kworkerds 挖矿木马简单分析及清理

    公司之前的开发和测试环境是在腾讯云上,部分服务器中过一次挖矿木马 kworkerds,本文为我当时分析和清理木马的记录,希望能对大家有所帮助. 现象 top 命令查看,显示 CPU 占用 100%,进 ...

  8. 记录d3.js 力导向图的平移缩放,类似地图导航点击某一项移动到当前位置

    项目中有用到d3.js用于图结构的查询, 需求如下: 右上角有个模糊搜索功能,查询出来的结果用列表展示 点击列表的某一列,要求画布移动到当前选中的节点的位置,基于画布正中间 搜索出来的结果列表展示用的 ...

  9. 多线程高并发编程(4) -- ReentrantReadWriteLock读写锁源码分析

    背景: ReentrantReadWriteLock把锁进行了细化,分为了写锁和读锁,即独占锁和共享锁.独占锁即当前所有线程只有一个可以成功获取到锁对资源进行修改操作,共享锁是可以一起对资源信息进行查 ...

  10. 10行代码,用python能做出什么骚操作

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:小栗子 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自 ...