主要内容

relieff

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

描述

例子

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

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

例子

idx权重) = relieff (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 (的预测指标的重要性权重

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

选择最重要的5个预测因素。中找到这些预测器的列X

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

第24列X最重要的预测因素是什么Y

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

加载示例数据。

负载carbig

转换分类预测变量制造行业模型,起源转换为数值,并将它们组合成一个输入矩阵。指定响应变量英里/加仑

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

模型预测器是预测中最重要的因素英里/加仑.的制造行业变量的权重为负,说明它不是一个很好的预测变量英里/加仑

输入参数

全部折叠

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

数据类型:|

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

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

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

数据类型:|

名称-值参数

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

例子: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,第三个最重要的预测是第五列X

数据类型:

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

数据类型:

提示

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

  • relieff删除的观察与值。

算法

全部折叠

ReliefF

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

  • 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之间的观察xrx.让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]

参考文献

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

Robnik-Sikonja, M.和I. Kononenko。(2003)。"救济与救济的理论与实证分析"机器学习现年53岁的23 - 69。

介绍了R2010b