1. ReliefF简介

ReliefF是特征选择的一种算法,在高维特征样本中,选取部分具有代表性的特征,从而降低样本特征维度。它也是relief算法的进阶。Relief算法只能用来做二分类,但其算法简单,效率高,结果不错,因此才有了其进阶算法ReliefF。ReliefF不仅可以完成多分类任务,也可以胜任回归任务。

2. relieff()函数

示例:

[ranks,weights] = relieff(X,y,k)
[ranks,weights] = relieff(X,y,k,Name,Value)

(1)输入参数

  • X:样本数据集
  • y:与X对应的样本标签
  • k:一个超参数,relieff中用到了KNN最近邻算法,k为同类样本最近邻的数量。需要根据不同数据处理情况调整参数
  • Name:一些拓展设置,一般不常用,详细可看matlab文档,其中‘method’比较常用,用来选择是做回归还是分类任务
  • Value:为Name的值,‘method’对应的Value为’regression’或’classification’,对应的“回归”或分类

(2)输出参数

  • ranks:对各个维度特征按照重要程度排序,例如ranks = [3,1,2],表示第3个维度最重要,第1个维度其次,第2个维度最不重要
  • weights:原样本每个维度的重要权重,例如:weights = [0.5,0.1,0.4],表示第一个维度权重为0.5,最重要,第二个维度权重0.1,最不重要,第三个为0.4,第二重要

3. relieff()函数做分类任务特征选择

示例代码:


load fisheriris%matlab中自带的数据集
[ranks,weights] = relieff(meas,species,10,'method','classification')

结果如下:表示第4维度特征和第3维度特征权重较大,因此我们就可以取原数据中第4维度数据和第3维度数据用于分类,其余丢弃,将4维数据降到了2维

@注意@:标签是数字,函数会默认用于回归。如果想要标签是数字,但想用于分类,就需要加上‘method’,‘classification’;否则,函数会默认用于回归。上述例子中使用的species是字符串,因此默认用于分类,可以不需要加’method’,‘classification’。

4. relieff()函数做回归任务特征选择

%针对回归任务数据集,只需要将分类任务中的classification换成regression即可
[ranks,weights] = relieff(meas,species,10,'method','regression')

Matlab中特征选择reliefF算法使用方法(分类与回归)相关推荐

  1. 特征工程 特征选择 reliefF算法

    特征工程 特征选择 reliefF算法 背景 运行效果 背景 由于最近在整理一些特征工程的内容,当整理到特征选择算法的时候有reliefF算法,感觉算法挺常见的,应该在sklearn上能找到,但是找了 ...

  2. matlab中随机函数的具体使用方法

    matlab中随机函数的具体使用方法如下: rand(n):生成0到1之间的n阶随机数方阵 rand(m,n):生成0到1之间的m×n的随机数矩阵 (现成的函数) 另外: Matlab随机数生成函数 ...

  3. Matlab中的FCM算法代码及中文详解

    Matlab中的FCM算法代码及中文详解 转自:http://xiaozu.renren.com/xiaozu/106512/336681453 function [center, U, obj_fc ...

  4. matlab中hold all,matlab中hold on的使用方法

    matlab中hold on的使用方法 发布时间:2020-08-15 14:01:54 来源:亿速云 阅读:107 作者:小新 小编给大家分享一下matlab中hold on的使用方法,希望大家阅读 ...

  5. 在MATLAB中生成矩阵的三种方法

    在MATLAB中生成矩阵的三种方法 1. 直接输入法 2. 外部文件读入法 3.特殊矩阵函数生成法 1. 直接输入法 (1)矩阵所有元素必须在[]内 (2)矩阵中同行元素以逗号','或空格分隔 (3) ...

  6. MATLAB中函数find的使用方法概述,简单易懂+例子

    MATLAB中函数find的使用方法总结+探索,简单易懂+例子 该函数不仅可以查找矩阵获这向量中的非零元素的位置,也可以查询满足一定逻辑条件的元素位置. find函数总共的适用方法 index = f ...

  7. matlab中存档算法代码,Matlab中的FCM算法代码及中文详解

    Matlab中的FCM算法代码及中文详解 转自:http://xiaozu.renren.com/xiaozu/106512/336681453 function [center, U, obj_fc ...

  8. 介绍一种在MATLAB中获取股市数据的方法

    介绍一种在MATLAB中获取股市数据的方法: >>clear >>c=yahoo 系统会返回 c = url: 'http://finance.yahoo.com'       ...

  9. python回归分析预测模型_在Python中如何使用Keras模型对分类、回归进行预测

    姓名:代良全 学号:13020199007 转载自:https://www.jianshu.com/p/83ba11abdffc [嵌牛导读]: 在Python中如何使用Keras模型对分类.回归进行 ...

最新文章

  1. 【Java8新特性】浅谈方法引用和构造器引用
  2. 写给MongoDB开发者的50条建议Tip6
  3. 重磅开源!目标检测新网络 DetectoRS:54.7 AP,特征金字塔与空洞卷积的完美结合
  4. pmbook 知识领域 第六版_PMP项目管理10大知识领域脑图
  5. 富学金融穷学IT,分析互联网的新财富密码
  6. liferay jsp如何取PorletSession的值
  7. 阿里小二的日常工作要被TA们“接管”了!
  8. uft自动化测试工具安装步骤_自动化功能测试和接口测试工具整理
  9. 面试高频题:springboot自动装配的原理你能说出来吗?
  10. HTML期末学生大作业-乒乓球网页作业html+css+javascript
  11. pygame和python的区别_用Python和Pygame写游戏-从入门到精通(22)
  12. linux下服务器重定向,linux – DHCP服务器将任何URL重定向到登录页面
  13. MIT大牛Gilbert Strang新书:《线性代数与从数据中学习》抢先看
  14. Data Base学习记录:ER图
  15. softice使用(1)- 在VMware Workstation 中使用SoftICE zz xfocus
  16. 登录界面BootStramp模板
  17. 浅论独立解决问题的能力的重要性
  18. 奇异值分解的几何原理
  19. Python实现微博热搜推送
  20. 网络分层(7层)以及每层的设备和协议

热门文章

  1. 剑桥的商学院硕士的创业项目找我做tech lead,稳得一批
  2. 关于armv7指令集的一个直观数据
  3. 转载 用ShadowVolume画模型的影子
  4. Dictionary,hashtable, stl:map有什么异同?
  5. 34.11. 视图、存储过程、函数
  6. 多线程经典问题之多窗口卖票
  7. 微电子所在阻变存储器研究领域取得新进展
  8. 转:Unity3D研究院之提取游戏资源的三个工具支持Unity5(八十四)
  9. 《快速软件开发——有效控制与完成进度计划》
  10. List集合中两种遍历方式