本文章翻译至Java ML技术文档featureselection.pdf,代码部分是参考该文档使用IDEA编写,同时加入了运行结果。

特征选择

本文简要介绍了功能选择的概念。在本章的其他小节中,我们讨论与特征选择有关的几个主题。

特征选择主要有三种类型:(i)特征评分,(ii)特征等级和(iii)特征子集选择。特征评分是最通用的方法,可以在后两种方法中进行转换,而特征排名只能转换为特征子集选择方法,这三种类型的特征选择中的任何一种都可以转换为整体特征选择方法。

当前,Java-ML仅提供了一组特征分级器,将来还将支持另外两个。

我们假设您已熟悉Java ML的基础知识,如入门教程中所述。数据集下载地址:https://download.csdn.net/download/dbzzcz/12274719

特征评分算法

所有功能评分算法均实现以下方法。分数越高越好。

特征评分算法

该方法将返回所提供特征索引的分数。

特征评分算法的典型用法如下所示

特征评分算法

结果1

特征排行算法

所有特征排名算法均提供以下确定特征等级的方法,等级越低越好。

特征排行算法

该方法将使用提供的索引返回特征的等级。特征排名算法的典型用法与特征评分算法的用法非常相似。

特征排行算法

结果2

子集选择算法

子集选择算法与评分和排名方法的不同之处在于,它们仅提供一组被选择的特征,而没有关于每个特征质量的进一步信息。

子集选择算法提供了返回算法已选择的一组特征索引。

子集选择算法

下面的代码段描述了功能子集选择算法的基本用法

子集选择算法

结果3

本示例创建了一个贪婪的前向选择算法,该算法将选择一个("最佳")功能。在此示例中,为了确定特征的质量,使用了Pearson相关。

集成特征排名算法

集成特征排名算法是特征排名的另一种形式,因此提供了以下确定特征排名的方法。等级越低越好。

集成特征排名算法

该方法将使用提供的索引返回特征的等级。集成特征等级算法的典型用法与单一特征等级算法的用法非常相似。

集成特征排名算法

结果4

Weka属性选择算法

本文简要介绍了通过Java-ML特征选择接口使用Weka属性选择的概念。

在Weka中,属性选择会搜索数据中所有可能的属性组合,以找到最适合预测的属性子集。它使用两个对象,包括属性评估器和搜索方法。这些属性评估器和搜索算法的任何组合都可用于确定数据集中的得分和等级属性。目前,仅Java-ML功能评分和功能排名可通过包装器使用,尚未实现子集选择。

下面的代码段显示了Weka功能选择包装器的典型用法。

Weka属性选择算法

结果5

参考网站:http://java-ml.sourceforge.net/content/feature-subset-selection

属性子集选择的基本启发方法_Java机器学习库(Java ML)(三、特征选择)相关推荐

  1. 属性子集选择的基本启发方法_3.4.4 属性子集选择

    用于分析的数据集可能包含数以百计的属性,其中大部分属性可能与挖掘任务不相关,或者是冗余的.例如,如果分析任务是按顾客听到广告后是否愿意在AllElectronics购买新的流行CD将顾客分类,与属性a ...

  2. 属性子集选择的基本启发方法_一文看懂数据预处理最重要的3种思想和方法

    导读:本文我们考虑应当采用哪些预处理步骤,让数据更加适合挖掘.数据预处理是一个广泛的领域,包含大量以复杂的方式相关联的不同策略和技术.我们将讨论一些最重要的思想和方法,并试图指出它们之间的相互联系. ...

  3. 属性子集选择的基本启发方法_图网络基本属性

    如何描述一个网络 Degree Distribution P(k): 随机选择的节点, 度为k的的概率分布, 使用直方图来描述 其中 表示度为k的节点数, 比如上图中,度为1的节点数有6, 所有节点数 ...

  4. dnf选择服务器显示数字,DNF:遴选属性如何选择?两种方法精确找到最优解

    原标题:DNF:遴选属性如何选择?两种方法精确找到最优解 DNF:遴选属性如何选择?两种方法精确找到最优解 本文由Sky灬素颜游戏视频原创,请勿抄袭或转载,谢谢. 自黑鸦之境更新以来,很多小伙伴都问到 ...

  5. java私有属性和私有方法_Java接口–历年来Java 9之旅–默认方法和私有方法

    java私有属性和私有方法 介绍 Java接口已经比Java版本进行了更多的演变,而Java 8和Java 9则有所发展.在本文中,我们将介绍接口在Java 8之前的样子以及如何在Java 8和Jav ...

  6. java中三种方法_Java文件I/O的三种方法

    Java文件I/O的三种方法 RandomAccessFile是不属于InputStream和OutputStream类系的.实际上,除了实现DataInput和DataOutput接口之外(Data ...

  7. python描述符魔术方法_学习笔记-Python基础9-面向对象编程OOP-类的成员描述符(property)、类的常用内置属性、类的常用魔术方法、类和对象的三种方法...

    一.类的成员描述符(property) 类的成员描述符是为了在类中,对类的成员属性进行相关操作而创建的一种方式,大部分属于数据清洗 属性有三种操作:get获取属性值.set修改或添加属性.delete ...

  8. java json的使用方法_JAVA编写JSON常用的三种方法

    JAVA编写JSON常用的三种方法 Szx • 2019 年 11 月 15 日 1.jsonlib需要引入的包也多,代码也相对多一些. 2.Gson:谷歌的 3.FastJson:阿里巴巴的,这几个 ...

  9. java 终止方法_Java中终止线程的三种方法

    Java中终止线程的三种方法 Thread.stop, Thread.suspend, Thread.resume 和Runtime.runFinalizersOnExit 这些终止线程运行的方法已经 ...

最新文章

  1. Python 面试总结
  2. 探访2019世界人工智能大会:AI应让人类生活得更幸福
  3. kindeditor java 上传图片_java中KindEditor本地图片上传与上传失败问题
  4. python apply_async数据量大不执行_apply_async里面的函数不执行
  5. 安装webpack以及webpack-dev-server
  6. jaxb报错_JAXB做错了; 尝试Xembly
  7. Spring Boot(九)Swagger2自动生成接口文档和Mock模拟数据
  8. TCP/IP入门(3) --传输层
  9. eax, ebx, ecx, edx, esi, edi, ebp, esp 各寄存器作用
  10. (61)Verilog HDL模块例化Verilog模块
  11. java判断一个数值是否在数学区间范围内
  12. 线程同步:喂,SHE
  13. QQ-AR实物识别!香蕉扫一扫,解救小黄人?
  14. 计算机cad知识,计算机与Cad制图知识点.doc
  15. opencms 发布过程深入研究
  16. 读书笔记-人月神话 11
  17. 微信小程序服务器端语言,微信小程序后端用什么语言好
  18. QBitmap 单色图片
  19. 在哪个范围内的计算机网络可以称为局域网,计算机网络概述 习题
  20. 富文本编辑器Ueditor实战(二)-图片上传

热门文章

  1. php用smarty模板语法,Smarty模版设计基本语法
  2. 一维转二维_Excel – 一维表和二维表相互转换,只要一个“=”搞定
  3. Openstack 一键安装部署 单节点
  4. aes加密php源码,AES加解密类源码 · ThinkPHP5高阶实战教程 --诠释为API开发而生 · 看云...
  5. java 模拟post上传文件_JAVA模拟HTTP post请求上传文件
  6. Android 旋转木马轮播,jQuery旋转木马式幻灯片轮播特效
  7. linux怎么查看定时任务有没有运行,怎么看crontab定时任务是否执行
  8. hibernate 乐观锁与悲观锁使用
  9. navigation右边按钮点击事件
  10. 微信小程序订票选座PHP后台网站MySQL数据库和无前端小程序版本两个程序