relieff
使用ReliefF或RReliefF算法对预测因子的重要性进行排序
描述
例子
确定重要预测因素
加载样例数据。
负载fisheriris
使用10个最近的邻居找到重要的预测因子。
[idx,weights] = relieff(meas,species,10)
idx =1×44 3 1 2
重量=1×40.1399 0.1226 0.3590 0.3754
idx
显示根据他们的排名列出的预测数字。第四个预测因子是最重要的,第二个是最不重要的。权重
以与预测器相同的顺序给出权重值。第一个预测因子的权重为0.1399,第四个预测因子的权重为0.3754。
根据重要性对预测器进行排名
加载样例数据。
负载电离层
根据重要性使用10个最近的近邻对预测器进行排序。
[idx,weights] = relieff(X,Y,10);
创建一个预测器重要性权重的条形图。
栏(权重(idx))包含(“预测排名”) ylabel (“预测重要性权重”)
选择前5个最重要的预测因素。找到这些预测器的列X
.
idx (1:5)
ans =1×524 3 8 5 14
第24列X
是最重要的预测因素吗Y
.
确定重要的分类预测词
对使用的分类预测器进行排序relieff
.
加载样例数据。
负载carbig
转换分类预测变量制造行业
,模型
,起源
,并将它们组合成一个输入矩阵。指定响应变量英里/加仑
.
X = [grp2idx(制造商)grp2idx(型号)grp2idx(原产地)];y = MPG;
找出使用10个最近邻的预测变量的秩和权重,并处理数据X
分类。
[idx,weights] = relieff(X,y,10,)“categoricalx”,“上”)
idx =1×32 3 1
重量=1×3-0.0019 0.0501 0.0114
的模型
预测器是预测中最重要的英里/加仑
.的制造行业
变量有一个负的权重,表明它不是一个很好的预测英里/加仑
.
输入参数
X
- - - - - -预测数据
数字矩阵
预测数据,指定为数值矩阵。每一行X
对应一个观察结果,每一列对应一个变量。
数据类型:单
|双
y
- - - - - -响应数据
数值向量|分类向量|逻辑向量|字符数组|字符串数组|字符向量的单元格数组
响应数据,指定为数字向量、类别向量、逻辑向量、字符数组、字符串数组或字符向量的单元格数组。
数据类型:单
|双
|分类
|逻辑
|字符
|字符串
|细胞
k
- - - - - -最近邻居数
正整数标量
最近的邻居数,指定为正整数标量。
数据类型:单
|双
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。
在R2021a之前,名称和值之间用逗号隔开,并括起来的名字
在报价。
例子:relieff (X, y, 5,“方法”,“分类”、“categoricalx”,“上”)
指定5个最近邻,并将响应变量和预测器数据视为分类。
方法
- - - - - -权重计算方法
“回归”
|“分类”
计算权重的方法,指定为逗号分隔的对,由“方法”
,要么“回归”
或“分类”
.如果y
是数字,“回归”
是默认方法。否则,“分类”
是默认值。
例子:“方法”、“分类”
之前
- - - - - -每一类的先验概率
“经验”
(默认)|“统一”
|数值向量|结构
每个类的先验概率,指定为逗号分隔的对,由“之前”
和这个表中的一个值。
价值 | 描述 |
---|---|
“经验” |
类概率由中的类频率确定y . |
“统一” |
所有的类概率都是相等的。 |
数值向量 | 每个不同的组名都有一个值。 |
结构 | 一个结构
|
例子:“前”、“制服”
数据类型:单
|双
|字符
|字符串
|结构体
更新
- - - - - -用于计算权值的观察数
“所有”
(默认)|正整数标量
为计算权重随机选择的观察数,指定为逗号分隔的对,由“更新”
,要么“所有”
或者一个正整数标量。默认情况下,relieff
使用所有的观察结果。
例子:“更新”,25岁
数据类型:单
|双
|字符
|字符串
categoricalx
- - - - - -类别预测器标记
“关闭”
(默认)|“上”
标记,指定为逗号分隔的一对,由“categoricalx”
,要么“上”
或“关闭”
.如果你指定“上”
,然后relieff
中的所有预测器X
分类。否则,它处理所有的预测器X
作为数字。不能混合使用数值预测器和类别预测器。
例子:“categoricalx”,“上”
σ
- - - - - -距离比例因子
数值正标量
距离缩放因子,指定为逗号分隔的对,由“σ”
和一个正标量。为观察我,其最近邻对预测权值的影响j乘以
.排名(我,j)是位置的j观察到的最邻近的我观察结果,按距离排序。默认为正
对于分类(所有最近的邻居都有相同的影响)和回归50。
例子:“σ”,20
数据类型:单
|双
输出参数
提示
算法
ReliefF
ReliefF在以下情况下查找预测器的权重y
是一个多类类别变量。该算法惩罚对同一类的邻居给出不同值的预测器,奖励对不同类的邻居给出不同值的预测器。
ReliefF首先设置所有的预测器权重Wj为0。然后,算法迭代选择一个随机观测值xr,发现k-最近的观测xr对于每个类和更新,对于每个最近的邻居x问,所有预测因子的权重Fj如下:
如果xr而且x问在同一个班级,
如果xr而且x问在不同的班级,
Wj我权重是预测器吗Fj在我第Th迭代步骤。
pyr类的先验概率是xr属于,py问类的先验概率是x问属于。
米迭代的次数是由
“更新”
.是预测值的差异吗Fj之间的观察xr而且x问.让xrj的值j观察的预测因子xr,让xqj的值j观察的预测因子x问.
对于离散Fj,
连续Fj,
d中移动是这个形式的距离函数吗
距离受比例的影响
在哪里排名(r,问)是位置的问观察到的最邻近的r观察结果,按距离排序。k最近邻居的数量是否指定为
k
.您可以通过指定更改比例“σ”
.
RReliefF
RReliefF是连续的y
.与ReliefF类似,RReliefF也会惩罚那些向具有相同响应值的邻居提供不同值的预测器,并奖励那些向具有不同响应值的邻居提供不同值的预测器。然而,RReliefF使用中间权重来计算最终的预测权重。
给定两个最近的邻居,假设如下:
Wdy是响应的不同值的权重吗y.
Wdj是预测器不同值的权重吗Fj.
有不同的响应值和不同的预测器值的权重Fj.
RReliefF首先设置权重Wdy,Wdj, ,Wj等于0。然后,算法迭代选择一个随机观测值xr,发现k-最近的观测xr,并对每个最近的邻居进行更新x问,各中间权重分别为:
的我而且我-1上标表示迭代步数。米迭代的次数是由
“更新”
.是连续响应值的差异吗y之间的观察xr而且x问.让yr表示用于观察的响应值xr,让y问表示用于观察的响应值x问.
的 而且d中移动函数与for相同ReliefF.
RReliefF计算预测器权重Wj在完全更新所有中间权值之后。
有关更多信息,请参见[2].
参考文献
[1] Kononenko, I., E. Simec, M. Robnik-Sikonja。(1997)。“用RELIEFF克服归纳学习算法的短视。”检索自CiteSeerX:http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.56.4740
[2] Robnik-Sikonja, M.和I. Kononenko。(1997)。“对回归中属性估计的Relief的适应。”检索自CiteSeerX:http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.34.8381
[3] Robnik-Sikonja, M.和I. Kononenko。(2003)。ReliefF和RReliefF的理论和实证分析。机器学习53, 23-69。
版本历史
在R2010b中引入
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。