Candidate-Elimination算法是数据挖掘中的一种概念学习算法,部分解决Find-S的不足,可以输出所有与训练样本一致的概念,同时利用概念间偏序关系来指导搜索,其伪代码描述如下
花了几个小时的时间总算把这个算法用C++实现测试通过了,采用了STL中的二维Vector容器保存字符串,在调试部分浪费不少时间。主要是用VC++ 6.0查看STL容器中的变量值不太方便,比如Vector,需要在调式窗口里输入s._first,10 才可以看到全部的数据;也可以加输出的测试代码,但是比较麻烦。好了,废话不多说了,贴上代码,希望各位批评指正。
【概念挖掘需求】
基本的算法思想是,泛化边界初始化为全?,特化边界特化为全空集(@),
1、若遇到正实例,首先从G中删除不包含该实例的概念,然后对S删除与实例不相符的概念,同时做最小泛化,使其包含该实例
2、若遇到负实例,首先从S中删除包含了该实例的概念,然后对G删除包含了该实例的概念,同时做最小特化,注意最小特化集是与当前S一一枚举出可能的特化概念,删除那些符合该实例的概念
C++源码
测试数据一
测试结果一
测试数据二
测试结果二
具体预测的方法是
1、如果给定的实例符合概念集合S,则一定去游泳
2、如果给定的实例不符合概念集合G,则一定不去游泳
3、如果给定的实例不符合概念集合S,但是符合概念集合G,则可能去游泳
分享到:
相关推荐
数据挖掘candidate_elimination算法实现 采用C++实现 学习数据挖掘入门程序
机器学习经典算法,候选删除算法,完全可以编译通过
《机器学习》第2章中候选消除(CANDIDATE-ELIMINATION)算法的python实现个人练习(已使用py2exe转换),d?.txt为测试数据文件。
iOS 16.1 镜像包 入Xcode即可调试,路径/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport 若不行,请重启电脑
Candidate Elimination
ML--候选人消除 Java中的简单候选消除实现。 文件输入-实例数和包括标签在内的属性数。 注意:不适用于第一个实例为否定实例。 可以为此修复简单的修补程序。
机器学习 候选消除算法 candidate-elimination-algorithm python
Qi-v1.3-candidate-2-review.zip
CISM-Candidate-Guide2011
Qi-v1.3-candidate-2-review.rar.7z
Candidate - Jimmy Qing.pptx
概念学习可以形式化为寻找与训练实例最适合的可能假设的预定义空间,已有的多种算法(比如:Find-S、List-Then-Eliminate、candidate-Elimination等等)都是考虑Boolean-值(即{0,1})函数。用模糊集合的思想,把{0...
Selective-Candidate Framework with Similarity Selection Rule for Evolutionary Optimization 基于相似性选择规则的进化优化选择框架 用于改进 CMA-ES 算法
Assignment-1-candidate-testing-fcar829:GitHub Classroom创建的Assignment-1-candidate-testing-fcar829-源码
FP-growth算法,韩家炜,数据挖掘,关联规则 原版文章:Mining frequent patterns without candidate generation
用于RS485端口的终端数据监控,为硬件开发者提供有效的数据性能分析手段
As architects and engineers have sought to exploit cloud computing, the essential drivers of cloud native architecture have become the following:Although the Cloud has its benefits, for many large ...
数据挖掘通常与计算机科学有关,并通过统计、在线分析处理、情报检索、机器学习、专家系统(依靠过去的经验法则)和模式识别等诸多方法来实现上述目标。 数据挖掘利用了来自如下一些领域的思想:(1) 来自统计学的...
候选测试
候选测试