主要内容

relieff

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

描述

例子

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

如果y是数字,relieff默认情况下对回归进行RRELIEFF分析。否则,relieff执行使用的Creieff分析k每个班级最接近的邻居。有关ReliefF和RReliefF的更多信息,请参见算法

例子

idx.重量] = recieff(Xyk名称,值使用一个或多个名称值对参数指定其他选项。例如,'更新',10将用于计算权重的随机选择的观察数设置为10。

例子

全部折叠

加载样本数据。

负载fisheriris

使用10个最近的邻居找到重要的预测因子。

[idx、重量]= relieff(量、种类、10)
Idx =.1×44 3 1 2
重量=1×40.1399 0.1226 0.3590 0.3754

idx.显示根据其排名列出的预测值。第四个预测器是最重要的,第二个预测器是最不重要的。重量以与预测器相同的顺序给出权重值。第一预测器的重量为0.1399,第四预测器的重量为0.3754。

加载样本数据。

负载电离层

使用10个最近邻根据重要性对预测因子进行排名。

[IDX,权重] = Relieff(x,y,10);

创建一个预测器重要权重的条形图。

栏(权重(idx))包含(“预测排名”)ylabel(的预测指标的重要性权重

图中包含一个坐标轴。坐标轴包含bar类型的对象。

选择前5名最重要的预测因子。找到这些预测器的列X

IDX(1:5)
ans =1×524 3 8 5 14

第24栏X是最重要的预测因子Y

使用分类预测器进行排序relieff

加载样本数据。

负载CARBIG.

转换分类预测变量MFG.模型,和起源转换为数值,并将它们组合成一个输入矩阵。指定响应变量MPG.

X = [grp2idx(Mfg) grp2idx(Model) grp2idx(Origin)];y = MPG;

使用10个最近的邻居找到预测变量的排名和权重,并处理数据X分类。

[Idx,权重] = Relieff(x,y,10,“categoricalx”“上”
Idx =.1×31 2 3
重量=1×3-0.0019 0.0501 0.0114

模型预测器是预测中最重要的MPG..的MFG.变量的权重为负,说明它不是一个很好的预测变量MPG.

输入参数

全部折叠

预测器数据,指定为数字矩阵。每一行的X对应一个观察值,每一列对应一个变量。

数据类型:单身|双人间

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

数据类型:单身|双人间|分类|逻辑|字符||细胞

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

数据类型:单身|双人间

名称-值对的观点

指定可选的逗号分隔的对名称,值参数。名称参数名和价值是相应的价值。名称必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

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

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

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

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

价值 描述
'经验性' 类的概率是由类的频率决定的y
'制服' 所有类别的概率都是相等的。
数字矢量 每个不同的组名都有一个值。
结构

一个结构年代两个字段:

  • S.Group.将组名包含为与y

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

例子:'先前','制服'

数据类型:单身|双人间|字符||结构体

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

例子:'更新',25

数据类型:单身|双人间|字符|

分类预测器标志,指定为逗号分隔对,由“categoricalx”,要么“上”或者“关闭”.如果您指定“上”,然后relieff处理所有的预测X分类。否则,它将处理所有的预测器X作为数字。您无法混合数字和分类预测器。

例子:'patericalx','开'

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

例子:“σ”,20

数据类型:单身|双人间

输出参数

全部折叠

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

数据类型:双人间

预测器的权值,以数字向量的形式返回。中的值重量和预测数的顺序一样X重量范围从-1到目前为止1,为重要的预测因子分配较大的正权重。

数据类型:双人间

提示

  • 预测者的等级和权重通常取决于k.如果你设置k到1,那么对于噪声数据,估计可能是不可靠的。如果你设置k与观察数(行)相当的值Xrelieff无法找到重要的预测因素。你可以从k10.并调查稳定性和可靠性relieff各种值的等级和权重k

  • relieff除去观察价值观。

算法

全部折叠

refieff.

ReliefF在以下情况下找到预测因子的权重y是一个多级别分类变量。该算法通过给同一类的邻居提供不同值的预测器,以及向不同类别的邻居提供不同值的奖励预测器。

ReliefF首先设定所有预测器的权重Wj为0。然后,算法迭代选取随机观测值xr,发现k- 最终观察到xr对于每个班级和更新,对于每个最近的邻居x,所有的权重为预测Fj如下:

如果xrx都在同一个班级,

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

如果xrx在不同的班级,

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

  • Wj是预测器的重量Fj迭代步骤。

  • pyr这类的先验概率是哪个xr属于和py这类的先验概率是哪个x属于。

  • 是指定的迭代次数“更新”

  • Δ j x r x 这是预测值的差异吗Fj在观察之间xrx.让我们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

  • drq.是表单的距离功能

    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在观察之间xrx.让我们yr表示观察响应的值xr,让y表示观察响应的值x

    Δ y x r x | y r - y | 马克斯 y - y

  • Δ j x r x drq.功能与其相同refieff.

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

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

有关更多信息,请参见[2]

参考文献

I., E. Simec, M. Robnik-Sikonja。(1997)。“用RELIEFF克服归纳学习算法的短视。”从CiteSeerX检索:https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.56.4740

Robnik-Sikonja, M.和I. Kononenko。(1997)。" Relief在回归中用于属性估计的适应性"从CiteSeerX检索:https://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