`
yangliuy
  • 浏览: 69520 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

数据挖掘—概念学习Candidate-Elimination算法的C++实现

 
阅读更多

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算法实现

    通过理解并实现Candidate Elimination算法,你可以深入了解数据挖掘中的关联规则学习,并应用于实际问题,如购物篮分析、市场趋势预测等。同时,掌握C++编程能力将使你在实现复杂算法时更具优势,提高解决问题的效率...

    candidate-elimination.zip_Elimination

    在`candidate-elimination.cpp`源代码中,我们可以预期找到实现这个算法的C++代码。代码可能包括定义数据结构来存储特征和样本,定义评估函数(如信息增益)来比较特征的重要性,以及实现核心的候选删除逻辑。可能...

    ML---Candidate-Elimination:一个简单的候选人消除实现-机器学习

    在提供的压缩包文件"ML---Candidate-Elimination-master"中,可能包含了实现这个算法的源代码。通常,源代码会包含以下几个部分: - 数据输入:读取实例数据,包括实例数量和每个实例的属性(包括标签)。这可能...

    《机器学习》第2章中候选消除(CANDIDATE ELIMINATION)算法的python实现 转exe

    《机器学习》第二章中的候选消除(Candidate Elimination,简称CE)算法是一种在特征空间中进行降维的有效方法,尤其适用于解决属性子集选择问题。它基于子集的闭包和超集概念,通过逐步排除不可能成为最优解的候选...

    16.1(FromXcode-14.1-Release-Candidate-xip).zip

    iOS 16.1 镜像包 入Xcode即可调试,路径/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport 若不行,请重启电脑

    Candidate-Elimination.rar_C#编程_C#_

    在计算机科学和数据挖掘领域,候选消除(Candidate Elimination)是一种常用的知识表示和推理方法,尤其在处理离散型属性的数据库时,它能有效地缩小搜索空间,提高问题求解的效率。在C#编程中,我们可以利用其原理...

    自己写的机器学习候选消除算法

    在机器学习领域,候选消除算法(Candidate Elimination Algorithm)是一种常用的数据预处理技术,尤其在特征选择和降维过程中起到关键作用。它主要用于处理离散型数据,通过一系列逻辑推理来减少特征空间中的候选值...

    机器学习1-2章习题答案

    - 更新后的S1和G1反映了这一样例的特征,但具体更新细节需根据CANDIDATE-ELIMINATION算法的规则进行。 此过程展示了如何在机器学习中逐步构建和调整假设空间,以及如何通过算法迭代优化模型的准确性和泛化能力。...

    西电数据挖掘作业之利用Python编程实现Apriori算法

    数据挖掘是一种从海量数据中提取有价值知识的过程,而Apriori算法是数据挖掘领域中用于关联规则学习的经典算法。在本“西电数据挖掘作业”中,我们将关注如何使用Python编程语言来实现这一算法。 Apriori算法的核心...

    Qi-v1.3-candidate-2-review.rar.7z

    标题中的“Qi-v1.3-candidate-2-review.rar.7z”暗示了这是一个与Qi无线充电标准相关的更新版本,版本号为1.3候选2的评审材料。这个压缩包采用了双重压缩,首先是RAR格式,然后是7-Zip格式,这通常是为了进一步减小...

    CISM-Candidate-Guide2011

    《CISM-Candidate-Guide2011》:详尽解析CISM认证考试与认证流程 一、引言 在当今数字化时代,信息安全已经成为企业乃至国家的重要议题。为确保信息系统的安全与稳定运行,国际信息系统审计与控制协会(ISACA)...

    论文研究-Gödel中单个或两个原子生成公式的真度分布.pdf

    概念学习可以形式化为寻找与训练实例最适合的可能假设的预定义空间,已有的多种算法(比如:Find-S、List-Then-Eliminate、candidate-Elimination等等)都是考虑Boolean-值(即{0,1})函数。用模糊集合的思想,把{0...

    Qi-v1.3-candidate-2-review.zip

    标题 "Qi-v1.3-candidate-2-review.zip" 暗示了这是一个与无线充电标准Qi相关的技术文档或更新候选版本。Qi是WPC(无线电源联盟)制定的全球无线充电标准,主要用于手机、平板电脑和其他小型电子设备。这个压缩文件...

    apriori算法的C++实现

    Apriori算法通过C++实现,需要理解其核心思想并熟练运用C++的数据结构和算法。在实际应用中,可能还需要考虑如何优化内存使用、提高计算效率等问题。此外,由于Apriori算法会产生大量的候选集,对于大规模数据集可能...

    基于不确定数据的分布式Top-k查询算法.pdf

    该算法的核心思想是定义一个候选集(candidate set),仅使用候选集中的数据,而不需要访问数据集中的所有数据,从而减少了网络中的数据传输量。同时,该算法还能够动态地维护候选集,仅传输少量的数据,从而达到...

    SCSS-CMA-ES 算法

    Selective-Candidate Framework with Similarity Selection Rule for Evolutionary Optimization 基于相似性选择规则的进化优化选择框架 用于改进 CMA-ES 算法

    Assignment-1-candidate-testing-rfornkahl:GitHub Classroom创建的Assignment-1-candidate-testing-rfornkahl

    这可能包括处理数据结构、实现算法、理解和使用JavaScript的核心概念,以及对Web开发的理解。 【标签】"JavaScript"标明了此项目的核心技术,JavaScript是一种广泛用于前端和后端开发的脚本语言,它是构建现代网页...

    YAT-2.0_Beta-4-Candidate-2_Version-1.99.30

    标题“YAT-2.0_Beta-4-Candidate-2_Version-1.99.30”揭示了这是一个软件的版本标识,可能是YaT(可能代表“Yet Another Terminal”)的第二个主要版本,处于2.0 Beta阶段的第4个候选版本,具体版本号为1.99.30。...

    Assignment-1-candidate-testing-spencerhardwick:GitHub Classroom创建的Assignment-1-candidate-testing-spencerhardwick

    【标题】"Assignment-1-candidate-testing-spencerhardwick"是一个在GitHub Classroom平台上创建的项目,主要用于测试候选人的技能和知识。这个项目可能是由教育机构或雇主用来评估申请者在JavaScript编程语言上的...

    Assignment-1-candidate-testing-joshuahowell-eng:GitHub Classroom创建的Assignment-1-candidate-testing-joshuahowell-eng

    在本项目"Assignment-1-candidate-testing-joshuahowell-eng"中,我们可以看到一个与JavaScript相关的编程作业,这是在GitHub Classroom环境中创建的。这个压缩包包含了一个名为"assignment-1-candidate-testing-...

Global site tag (gtag.js) - Google Analytics