基于规则的分类——RIPPER算法
在《分类:基于规则的分类技术》中已经比较详细的介绍了基于规则的分类方法,RIPPER算法则是其中一种具体构造基于规则的分类器的方法。在RIPPER算法中,有几个点是算法的重要构成部分,需要强调一下
- 规则排序方式
RIPPER算法中采用的仍然是基于类的规则排序方式,不过独特的地方是,它先将各个类按频率(即类中包含的样本占总样本数的比例)从低到高排序,设是排序后的类,
是最不频繁的类,
是最频繁的类,按照《分类:基于规则的分类技术》中介绍的规则生成方法,生成类
的规则,直至剩下类
,然后类
作为默认类,这样做的好处是减少数据在作类预测时的比较次数,因为概率最大的类是默认类,这样多数数据只需要做少量的规则比较。
- 规则的增长
RIPPER算法使用FOIL信息增益来选择最有的合取项来添加到规则前件中,当规则开始覆盖反例时即停止添加合取项,此时采用IREP剪枝方法,将规则在验证集上剪枝,是否剪枝则需要依据如下度量参数来决定
其中、
分别表示规则在验证集上所覆盖的正例和反例个数,若剪枝后改度量增大,则保留剪枝结果,否则不进行剪枝。剪枝时,从规则末尾的合取项开始。尽管剪枝前规则只覆盖正例,但剪枝后的规则可能会覆盖训练集中部分反例。
- 建立规则集
一条规则生成后,是否能够添加到规则集中还需要经过两个条件判断,首先,该规则不违反最小描述长度原则(MDL);其次,规则在验证集上的错误率不超过50%。关于最小描述长度原则,这里稍微说明一下。根据维基百科中的解释,最小描述长度原则是奥卡姆剃刀原则形式化后的描述,当,其背后的思想是:在任一给定的资料集内的任何规律性都可用来压缩,也即是在描述资料时,与逐字逐句来描述资料的方式相比,能使用比所需还少的符号,既然如此,总有一种描述方式长度最小,这里长度用计算机中二进制的比特位(bit)来表示。
不违反最小描述长度原则,指的是在添加规则后,整个规则集的长度增加不超过一定比特位数,默认是64位。
转载于:https://www.cnblogs.com/hgz-dm/p/10886175.html
基于规则的分类——RIPPER算法的更多相关文章
- 从Odds:比值比推导出Logtic分类的算法
在从概率模型推导出逻辑回归算法模型的博文中,我试着从李宏毅老师的课程中讲到的概率模型去推导逻辑分类的算法模型.有幸看到另外一篇博文01 分类算法 - Logistic回归 - Logit函数,我了解到 ...
- [数据挖掘课程笔记]基于规则的分类-顺序覆盖算法(sequential covering algorithm)
Rule_set = {}; //学习的规则集初试为空 for 每个类c do repeat Rule = Learn_One_Rule(D,Att-vals,c) 从D中删除被Rule覆盖的元组; ...
- LSTM UEBA异常检测——deeplog里其实提到了,就是多分类LSTM算法,结合LSTM预测误差来检测异常参数
结合CNN的可以参考:http://fcst.ceaj.org/CN/article/downloadArticleFile.do?attachType=PDF&id=1497 除了行为,其他 ...
- 最邻近规则分类KNN算法
例子: 求未知电影属于什么类型: 算法介绍: 步骤: 为了判断未知实例的类别,以所有已知类别的实例作为参照 选择参数K 计算未知实例与所有已知实例的距离 选择最近K个已 ...
- 机器学习--最邻近规则分类KNN算法
理论学习: 3. 算法详述 3.1 步骤: 为了判断未知实例的类别,以所有已知类别的实例作为参照 选择参数K 计算未知实例与所有已知实例的距离 选 ...
- 逻辑回归,多分类推广算法softmax回归中
转自http://ufldl.stanford.edu/wiki/index.php/Softmax%E5%9B%9E%E5%BD%92 简介 在本节中,我们介绍Softmax回归模型,该模型是log ...
- 隐私计算FATE-多分类神经网络算法测试
一.说明 本文分享基于 Fate 使用 横向联邦 神经网络算法 对 多分类 的数据进行 模型训练,并使用该模型对数据进行 多分类预测. 二分类算法:是指待预测的 label 标签的取值只有两种:直白来 ...
- 利用OpenMP实现埃拉托斯特尼(Eratosthenes)素数筛法并行化 分类: 算法与数据结构 2015-05-09 12:24 157人阅读 评论(0) 收藏
1.算法简介 1.1筛法起源 筛法是一种简单检定素数的算法.据说是古希腊的埃拉托斯特尼(Eratosthenes,约公元前274-194年)发明的,又称埃拉托斯特尼筛法(sieve of Eratos ...
- C语言面试题分类->排序算法
1.选择排序. 每次将最小的数,与剩余数做比较.找到更小的,做交换. 时间复杂度:O(n²) 空间复杂度:O(1) 优缺点:耗时但内存空间使用小. void selectSort(int *p,int ...
随机推荐
- 在vue+elementUI项目中使用分页功能
HTML: <div class="mRttt"> <!-- 分页 --> <el-pagination ...
- 1032 Sharing (25分)(数组链表)
To store English words, one method is to use linked lists and store a word letter by letter. To save ...
- 大曾Blogs使用说明书😊——Super ITZ
大曾Blogs使用说明书 先敲黑板,四句话: pipe搜索,简洁,用于跳转,博客园及csdn和github 博客园炫酷界面,用于查看主要博文 csdn所有博客汇总,查看详细信息 github项目源码汇 ...
- Vulnhub DC-8靶机渗透
信息搜集 nmap -sP 192.168.146.0/24 #主机发现 nmap -A 192.168.146.146 #Enable OS detection, version detection ...
- 数据结构篇-数组(TypeScript版+Java版)
1.TypeScript版本 export default class MyArray<E> { public data: E[]; public size: number = 0; /* ...
- 双色球的Python实现
代码如下: red_ball = [] blue_ball = [] count = 0 while count < 6: n = int(input('\033[31mPlease enter ...
- python输出中文乱码
首选项-浏览插件目录-USER文件夹 找到编译环境设置,编译方式为UTF-8编码 { "cmd": ["c:/Python36/python.exe",&quo ...
- 今天整理了几个在使用python进行数据分析的常用小技巧、命令。
提高Python数据分析速度的八个小技巧 01 使用Pandas Profiling预览数据 这个神器我们在之前的文章中就详细讲过,使用Pandas Profiling可以在进行数据分析之前对数据进行 ...
- E1. Send Boxes to Alice (Easy Version)
题解: 保存每个1的位置.然后记录1的总个数cnt,如果存在一个k使得这个k是每个集合的倍数,那么为了使操作次数最小,这个k应该是cnt的质因子.(因为都是每个集合的数目1,使每个集合的数目变为2需要 ...
- 带权值的LCA
例题:http://poj.org/problem?id=1986 POJ1986 Distance Queries Language: Default Distance Queries Time L ...