摘要:

粗糙集理论是1982年由波兰著名的科学家Z.Pawlak提出来的。它是一种能够有效的处理不精确,不确定性数据的数学工具,并且它还具有不需要任何的先验知识,只依赖于数据集本身等优点。粗糙集理论已成为数据挖掘、机器学习等领域研究热点之一。本文对粗糙集的主要核心问题进行了研究分析和改进,将粗糙集与传统算法加权K近邻(KNN)相结合来解决不确定性问题,并对改进后的粗糙集算法采用UCI数据集进行测试,最后,将其应用于群体异常识别中。主要工作如下: 1.粗糙集规则提取。规则提取主要涉及属性值离散化、属性约简和属性值约简三个方面问题。①由于现实生活中的一些实际问题往往都是由连续型的属性组成的,而粗糙集仅适用于离散属性的信息系统。因此,为了将粗糙集能够处理不确定,不精确的问题的能力,以及不需要任何的先验知识,只依赖于数据集本身等优点充分运用到实际问题中,必须对实际问题的连续型属性进行离散化预处理工作。本文分别对基于遗传算法的连续型属性离散化方法和基于粒子群算法的连续型属性离散化方法进行了分析。遗传算法在迭代的过程中,通过选择操作保留上一代优秀个体,并通过变异操作增加种群的多样性,但其易于陷入局部最优解。粒子群算法在迭代的过程中增加了全局部分的考虑,但其收敛速度较快,并且没有保护上一代的优秀个体。基于上述分析,本文提出了基于粒子群和遗传算法相结合的连续型属性离散化方法。②粗糙集属性约简和属性值约简都是粗糙集理论研究的核心问题。本文对基于区分矩阵的属性约简算法和基于信息熵的属性约简算法进行了分析与研究,并分析了各算法存在的局限性。最后,本文对基于二进制区分矩阵属性约简算法进行了改进。③本文针对属性值约简算法主要分析了常犁云,王国胤等人提出的启发式值约简算法,其主要思想是对信息决策表中的条件属性进行逐个考察,根据条件属性的值对信息表的不同影响做出不同标记,针对不同标记作不同处理。本文对该算法提出了可能会存在潜在的问题,并对它做出相应的修改。 2.在规则提取过程中,知识库中的规则一般是通过对训练数据集进行学习得到。而训练数据一般是对原始数据进行定量的抽样得到。对于不属于训练数据集,但属于原始数据集的样本来说,粗糙集是无法对它进行正确的分类。为了能够让粗糙集对未学习过的样本正确分类。本文将粗糙集与传统算法加权K近邻(KNN)进行结合,从而进一步提高了粗糙集的正确率。目前粗糙集与其他分类方法相结合也是粗糙集的研究热点之一,其主要分为两个方面:一方面,由于粗糙集可以处理不确定性的问题的能力,然而它仅仅是得到不确定性问题的区域,对该区域的进一步处理还是有赖于其他分类方法。另一方面,对于多维数据分析,其他分类方法效果并不是很好,若借助粗糙集的属性约简的能力,去除不必要的属性,降低原始数据的维数,从而能够提高其他分类方法的效率。本文对粗糙集在测试过程中,存在新样本无法识别的情况进行了分析。并提出了通过属性的重要性计算权值的加权K近邻(KNN)方法来解决。最后,将该改进后的算法用于UCI测试数据库,得到了较好的测试效果。 3.将改进后的粗糙集算法应用于群体异常行为识别中,通过提取群体异常行为的特征,并对其进行离散化操作后,得到关于群体异常行为的决策表。再对该决策表进行属性约简和属性值约简,提取决策表的决策规则。最后进行预测,并分析结果。 综上所述,本文主要对粗糙集属性离散化问题,提出了基于遗传算法和粒子群算法相结合的属性约简算法;对属性约简和属性值约简算法进行了分析与研究,对现有属性值约简算法提出了可能会存在潜在的问题,并提出了修改方法;粗糙集在测试过程中,针对存在新样本无法识别的情况,提出了通过属性的重要性计算权值的加权K近邻(KNN)方法来解决。最后,将改进后的粗糙集算法应用于群体异常识别中。

展开

粗糙集分类算法c语言实现,基于粗糙集分类算法的研究及应用相关推荐

  1. 人工蜂群算法c语言程序,基于人工蜂群算法的炼钢连铸生产调度方法研究

    摘要: 钢铁工业是国民经济和国防建设的重要支柱.炼钢连铸是钢铁生产的主要工序和瓶颈工序,有效的炼钢连铸生产调度方法能提高生产效率并降低生产成本.然而,炼钢连铸调度问题是一类复杂的NP-hard问题,难 ...

  2. fcm算法c语言实现,基于特征权重的FCM算法研究及应用

    摘要: 模糊C-均值(FCM)聚类算法是非监督模式识别中应用范围最广泛的算法之一.但是传统的FCM算法中,设定样本的各维特征对分类效果的贡献水平是相同的.在实际中,由于特征提取不够完善,使得特征矢量中 ...

  3. 灰狼算法 c语言 代码,基于灰狼优化的模糊C—均值聚类算法

    谢亮亮+刘建生+朱凡 摘要:针对模糊C-均值聚类算法(FCM)存在易受初始聚类中心影响和容易陷入局部最优的问题,提出了一种将灰狼优化算法(GWO)和模糊C-均值相结合的新聚类算法(GWO-FCM).该 ...

  4. java合一算法_Prolog语言的编译原理:合一算法

    Prolog语言的编译原理:合一算法 分类:软考 | 更新时间:2016-07-08| 来源:转载 Prolog是一种基于谓词演算的程序设计语言.Prolog是一种说明性语言,它的基本意思是程序员着重 ...

  5. c语言代码先来先服务算法_C语言十大经典排序算法(动态演示+代码,值得收藏)...

    以前也零零碎碎发过一些排序算法,但排版都不太好,又重新整理一次,排序算法是数据结构的重要部分,系统地学习很有必要. 时间.空间复杂度比较 排序算法 平均时间复杂度 最差时间复杂度 空间复杂度 数据对象 ...

  6. 链路状态算法实现Java,JAVA基于蚁群算法路由选择可视化动态模拟(开题报告+任务书+毕业论文+外文翻译+源代码+可执行程序+答辩P...

    JAVA基于蚁群算法路由选择可视化动态模拟(开题报告+任务书+毕业论文+外文翻译+源代码+可执行程序+答辩PPT) 摘 要 路由选择是一种基于网络层的协议,而所有流行的网络层路由选择协议都是基于以下两 ...

  7. c4.5算法 程序语言,决策树之C4.5算法详解-Go语言中文社区

    决策树之C4.5算法详解 主要内容 C4.5算法简介 分裂属性的选择--信息增益率 连续型属性的离散化处理 剪枝--PEP(Pessimistic Error Pruning)剪枝法 缺失属性值的处理 ...

  8. rsa算法c语言实现_数据结构与算法之线性表-顺序表实现(C语言版本)

    原文托管在Github: https://github.com/shellhub/blog/issues/52 数据结构与算法之线性表-顺序表实现(C语言版本) 前言 数据结构与算法是一个程序员必备的 ...

  9. 整数的分类处理c语言switch,整数的分类处理

    整数的分类处理 (C语言) 给定 N 个正整数,要求你从中得到下列三种计算结果: A1 = 能被 3 整除的最大整数 A2 = 存在整数 K 使之可以表示为 3K+1 的整数的个数 A3 = 存在整数 ...

最新文章

  1. 在此iphone上尚未受信任_电脑显示服务器上的安全数据库没有此工作站信任关系的解决方法...
  2. “约见”面试官系列之常见面试题第二十五篇之对vue-router的理解(建议收藏)
  3. linux中如何查看某个端口是否被占用,LINUX中如何查看某个端口是否被占用
  4. 【Java】异常和IO在Gourmet咖啡系统中的应用
  5. 一个根据相似度的去重方法
  6. Android PreferenceScreen介绍
  7. Linux下Intel网卡固件烧写工具
  8. 有哪些方式加速大数据查询速度
  9. 计算机系统动态库修复,无法定位程序输入点于动态链接库修复解决方法 | 专业网吧维护...
  10. python PIL 将两个图片合成一张
  11. mac/macbook触摸板/鼠标/键盘失灵
  12. 苹果与希捷 到底谁的错
  13. 车内看车头正不正技巧_史上最全:新手开车/停车技巧(真实图解)
  14. 福昕阅读器给pdf创建目录方法
  15. MySQL---查看数据表结构
  16. 《南方有乔木》:陈伟霆、白百何带你玩转“黑科技”无人机和VR虚拟现实
  17. zzulioj1017C语言答案,郑州轻工业大学oj题解(c语言)1017,1018 if典型题
  18. python安装第三方库时找不到“cl.exe”的解决方法(Win10系统)
  19. MySQL建员工表案例
  20. 一款不错的PC优化工具分享,Advanced Systemcare

热门文章

  1. 《线性代数:行列式》:数学归纳法
  2. R语言 台湾银行还款预测 数据预处理 距离判别(懒得再打一遍了,源文件再主页有)
  3. 快播遭版权清算,小米为何“兔死狐悲”?
  4. 个人简历管理系统(9)- 添加简历
  5. ubuntu18.04 没声音解决方案
  6. 认识Swagger和Springfox
  7. [Python]实现短信验证码的发送
  8. 面试题——谈谈指针和引用的区别
  9. 如何进行MOCK测试
  10. ToG产品_个人经验总结_2019_001