主要内容

relieff

使用ReliefF或RReliefF算法对预测因子的重要性进行排序

描述

例子

idx权重浮雕,浮雕Xyk使用ReliefF或RReliefF算法对预测器进行排序k最近的邻居。输入矩阵X包含预测变量和向量y包含响应向量。函数返回idx,其中包含最重要预测因子的指标,和权重,其中包含预测器的权重。

如果y是数字,relieff默认执行RReliefF回归分析。否则,relieff执行ReliefF分析以便分类使用k每个类的最近邻居。有关ReliefF和RReliefF的更多信息,请参见算法

例子

idx权重浮雕,浮雕Xyk名称,值使用一个或多个名称-值对参数指定其他选项。例如,“更新”,10将随机选择的用于计算权重的观察数设置为10。

例子

全部折叠

加载样例数据。

负载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 (“预测重要性权重”

图中包含一个axes对象。axes对象包含一个bar类型的对象。

选择前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对应一个观察结果,每一列对应一个变量。

数据类型:|

响应数据,指定为数字向量、类别向量、逻辑向量、字符数组、字符串数组或字符向量的单元格数组。

数据类型:||分类|逻辑|字符|字符串|细胞

最近的邻居数,指定为正整数标量。

数据类型:|

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。

在R2021a之前,名称和值之间用逗号隔开,并括起来的名字在报价。

例子:relieff (X, y, 5,“方法”,“分类”、“categoricalx”,“上”)指定5个最近邻,并将响应变量和预测器数据视为分类。

计算权重的方法,指定为逗号分隔的对,由“方法”,要么“回归”“分类”.如果y是数字,“回归”是默认方法。否则,“分类”是默认值。

例子:“方法”、“分类”

每个类的先验概率,指定为逗号分隔的对,由“之前”和这个表中的一个值。

价值 描述
“经验” 类概率由中的类频率确定y
“统一” 所有的类概率都是相等的。
数值向量 每个不同的组名都有一个值。
结构

一个结构年代有两个字段:

  • S.group作为类型相同的变量包含组名y

  • S.prob包含相应概率的向量。

例子:“前”、“制服”

数据类型:||字符|字符串|结构体

为计算权重随机选择的观察数,指定为逗号分隔的对,由“更新”,要么“所有”或者一个正整数标量。默认情况下,relieff使用所有的观察结果。

例子:“更新”,25岁

数据类型:||字符|字符串

标记,指定为逗号分隔的一对,由“categoricalx”,要么“上”“关闭”.如果你指定“上”,然后relieff中的所有预测器X分类。否则,它处理所有的预测器X作为数字。不能混合使用数值预测器和类别预测器。

例子:“categoricalx”,“上”

距离缩放因子,指定为逗号分隔的对,由“σ”和一个正标量。为观察,其最近邻对预测权值的影响j乘以 e 排名 j / σ) 2 排名(j是位置的j观察到的最邻近的观察结果,按距离排序。默认为对于分类(所有最近的邻居都有相同的影响)和回归50。

例子:“σ”,20

数据类型:|

输出参数

全部折叠

中的预测指标X按预测器重要性排序,作为数字向量返回。例如,如果idx (3)5,那么第三个最重要的预测因子是第5列X

数据类型:

预测器的权重,作为数字向量返回。中的值权重和预测的顺序一样吗X权重范围从11,对重要的预测因子赋有较大的正权重。

数据类型:

提示

  • 预测者的排名和权重通常取决于k.如果你设置k到1,则对于有噪声的数据,估计可能是不可靠的。如果你设置k中的观察数(行)相比较的值Xrelieff可能找不到重要的预测因子。你可以从k10并对其稳定性和可靠性进行了研究relieff的各种值的秩和权重k

  • relieff删除观察值。

算法

全部折叠

ReliefF

ReliefF在以下情况下查找预测器的权重y是一个多类类别变量。该算法惩罚对同一类的邻居给出不同值的预测器,奖励对不同类的邻居给出不同值的预测器。

ReliefF首先设置所有的预测器权重Wj为0。然后,算法迭代选择一个随机观测值xr,发现k-最近的观测xr对于每个类和更新,对于每个最近的邻居x,所有预测因子的权重Fj如下:

如果xr而且x在同一个班级,

W j W j 1 Δ j x r x d r

如果xr而且x在不同的班级,

W j W j 1 + p y 1 p y r Δ j x r x d r

  • Wj权重是预测器吗Fj第Th迭代步骤。

  • pyr类的先验概率是xr属于,py类的先验概率是x属于。

  • 迭代的次数是由“更新”

  • Δ j x r x 是预测值的差异吗Fj之间的观察xr而且x.让xrj的值j观察的预测因子xr,让xqj的值j观察的预测因子x

    • 对于离散Fj

      Δ j x r x 0 x r j x j 1 x r j x j

    • 连续Fj

      Δ j x r x | x r j x j | 马克斯 F j 最小值 F j

  • d中移动是这个形式的距离函数吗

    d r d ˜ r l 1 k d ˜ r l

    距离受比例的影响

    d ˜ r e 排名 r / σ) 2

    在哪里排名(r是位置的观察到的最邻近的r观察结果,按距离排序。k最近邻居的数量是否指定为k.您可以通过指定更改比例“σ”

RReliefF

RReliefF是连续的y.与ReliefF类似,RReliefF也会惩罚那些向具有相同响应值的邻居提供不同值的预测器,并奖励那些向具有不同响应值的邻居提供不同值的预测器。然而,RReliefF使用中间权重来计算最终的预测权重。

给定两个最近的邻居,假设如下:

  • Wdy是响应的不同值的权重吗y

  • Wdj是预测器不同值的权重吗Fj

  • W d y d j 有不同的响应值和不同的预测器值的权重Fj

RReliefF首先设置权重WdyWdj W d y d j ,Wj等于0。然后,算法迭代选择一个随机观测值xr,发现k-最近的观测xr,并对每个最近的邻居进行更新x,各中间权重分别为:

W d y W d y 1 + Δ y x r x d r

W d j W d j 1 + Δ j x r x d r

W d y d j W d y d j 1 + Δ y x r x Δ j x r x d r

  • 而且-1上标表示迭代步数。迭代的次数是由“更新”

  • Δ y x r x 是连续响应值的差异吗y之间的观察xr而且x.让yr表示用于观察的响应值xr,让y表示用于观察的响应值x

    Δ y x r x | y r y | 马克斯 y 最小值 y

  • Δ j x r x 而且d中移动函数与for相同ReliefF

RReliefF计算预测器权重Wj在完全更新所有中间权值之后。

W j W d y d j W d y W d j W d y d j W d y

有关更多信息,请参见[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中引入