主要内容

fsrftest

用于回归的单变量特征排序F测试

描述

idx= fsrftest (资源描述ResponseVarName对使用的特性(预测器)进行排序F测试.表资源描述包含预测变量和响应变量,和ResponseVarName响应变量的名称是否在资源描述.函数返回idx,其中包含预测因子的指数,按预测因子的重要性、意义排序idx (1)是指数最重要的预测指标。你可以用idx为回归问题选择重要的预测因子。

idx= fsrftest (资源描述公式中的变量中指定要考虑的响应变量和预测器变量资源描述通过使用公式

例子

idx= fsrftest (资源描述Y对预测器进行排序资源描述使用响应变量Y

例子

idx= fsrftest (XY对预测器进行排序X使用响应变量Y

idx= fsrftest (___名称,值除前面语法中的任何输入参数组合外,还使用一个或多个名称-值对参数指定其他选项。例如,您可以指定分类预测器和观察权重。

例子

idx分数= fsrftest(___还返回预测器分数分数.较大的评分值表明相应的预测因子是重要的。

例子

全部折叠

在数字矩阵中对预测器进行排序,并创建预测器重要性分数的条形图。

加载样例数据。

负载robotarm.mat

robotarm数据集包含7168个训练结果(Xtrain而且ytrain)和1024个测试观察(Xtest而且欧美),共32项功能[1][2]

利用训练观察结果对预测因子进行排序。

[idx,scores] = fsrftest(Xtrain,ytrain);

中的值分数是负对数吗p值。如果一个p-value小于每股收益(0),则对应的分值为.在创建条形图之前,确定是否分数包括值。

找到(isinf(分数)
Ans = 1x0空双行向量

分数不包括值。如果分数包括价值观,你可以替换在创建条形图之前用一个很大的数字来表示。详情请参见对表中的预测器进行排序

创建预测者重要性分数的条形图。

栏(分数(idx))包含(“预测排名”) ylabel (“预测重要性评分”

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

选择前五个最重要的预测因素。找到这些预测器的列Xtrain

idx (1:5)
ans =1×530 24 10 4 5

第30列Xtrain是最重要的预测因素吗ytrain

在表格中对预测器进行排序,并创建预测器重要性评分的条形图。

如果您的数据在一个表和fsrftest对表中变量的子集进行排序,然后函数只使用该子集对变量进行索引。因此,一个好的实践是将您不想排序的预测器移动到表的末尾。同时移动响应变量和观测权重向量。然后,输出参数的索引与表的索引一致。方法可以移动表中的变量movevars函数。

本例使用的是鲍龙数据[3][4]UCI机器学习库[5]

下载数据并将其保存在当前文件夹中“abalone.csv”

url =“https://archive.ics.uci.edu/ml/machine-learning-databases/abalone/abalone.data”;websave (“abalone.csv”url);

读取表中的数据。

TBL =可读的(“abalone.csv”“文件类型”“文本”“ReadVariableNames”、假);tbl.Properties.VariableNames = {“性”“长度”“直径”“高度”...“WWeight”“SWeight”“VWeight”“ShWeight”“NoShellRings”};

预览表的前几行。

头(台)
ans =8×9表性长度直径高度WWeight SWeight VWeight ShWeight NoShellRings  _____ ______ ________ ______ _______ _______ _______ ________ ____________ {' M} 0.455 0.365 0.095 0.514 0.2245 0.101 0.15 15{“M”}0.35 0.265 0.09 0.2255 0.0995 0.0485 0.07 7 {' F '} 0.53 0.42 0.135 0.677 0.2565 0.1415 0.21 9{“M”}0.44 0.365 0.125 0.516 0.2155 0.114 0.155 10{“我”}0.33 0.255 0.08 0.205 0.0895 0.0395 0.055 7{“我”}0.425 0.3 0.095 0.3515 0.141 0.0775 0.12 8 {' F '} 0.53 0.415 0.15 0.7775 0.237 0.1415 0.33 20{' f '} 0.545 0.425 0.125 0.768 0.294 0.1495 0.26 16

表中的最后一个变量是响应变量。

对预测因子进行排序资源描述.指定最后一列NoShellRings作为响应变量。

[idx,scores] = fsrftest(tbl,“NoShellRings”
idx =1×83 4 5 7 8 2 6 1
成绩=1×8447.6891 736.9619 Inf Inf Inf Inf 604.6692 Inf Inf

中的值分数是负对数吗p值。如果一个p-value小于每股收益(0),则对应的分值为.在创建条形图之前,确定是否分数包括值。

idxInf = find(isinf(scores))
idxInf =1×53 4 5 7 8

分数包括5个值。

创建预测者重要性分数的条形图。的预测器名称x-轴刻度标签。

栏(分数(idx))包含(“预测排名”) ylabel (“预测重要性评分”) xticklabels (strrep (tbl.Properties.VariableNames (idx),“_”“\ _”) xtickangle (45)

酒吧函数没有绘制任何条值。为与最大有限分数长度相同的值、图条。

持有酒吧(分数(idx(长度(idxInf) + 1) *(长度(idxInf), 1))传说(“有限的分数”“正分数”)举行

柱状图使用不同的颜色显示有限分数和Inf分数。

输入参数

全部折叠

示例数据,指定为表。不允许多列变量和字符向量的单元格数组以外的单元格数组。

每一行资源描述对应一个观察结果,每一列对应一个预测变量。可选地,资源描述可以包含用于响应变量和观察权重的附加列。响应变量必须是一个数字向量。

  • 如果资源描述包含响应变量,并且希望在中使用所有剩余变量资源描述作为预测器,然后通过使用指定响应变量ResponseVarName.如果资源描述还包含观察权重,那么您可以使用权重

  • 如果资源描述包含响应变量,并且您希望仅使用其余变量的子集资源描述作为预测器,然后通过使用指定变量的子集公式

  • 如果资源描述不包含响应变量,则使用Y.响应变量和资源描述必须有相同的行数。

如果fsrftest中使用变量的子集资源描述作为预测器,函数只使用子集索引预测器。中的值CategoricalPredictors名称-值参数和输出参数idx不要计算函数不排序的预测器。

如果资源描述那么,包含一个响应变量fsrftest认为响应变量中的值是缺失的值。fsrftest不使用响应变量中缺少值的观察值。

数据类型:表格

响应变量名,指定为字符向量或字符串标量,其中包含变量的名称资源描述

例如,如果响应变量是列Y资源描述资源描述。Y),然后指定ResponseVarName作为“Y”

数据类型:字符|字符串

响应变量和预测变量子集的解释模型,在形式中指定为字符向量或字符串标量“Y ~ x1 + x2 + x3”.在这种形式中,Y表示响应变量,和x1x2,x3表示预测变量。

中指定变量的子集资源描述作为预测指标,使用公式。如果你指定一个公式,那么fsrftest没有对任何变量进行排序资源描述没有出现在公式

公式中的变量名必须是资源描述Tbl.Properties.VariableNames)和有效的MATLAB®标识符。中的变量名可以进行验证资源描述通过使用isvarname函数。如果变量名无效,则可以使用matlab.lang.makeValidName函数。

数据类型:字符|字符串

响应变量,指定为数值向量。每一行Y的对应行的响应X资源描述

fsrftest认为Y丢失的值fsrftest不使用缺失值的观察Y

数据类型:|

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

数据类型:|

名称-值参数

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

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

例子:“UseMissing”“NumBins”,20日,真的将箱的数量设置为20,并指定在预测器中使用缺失值进行排序。

类别预测器的列表,指定为此表中的值之一。

价值 描述
正整数向量

向量中的每个条目都是一个索引值,指示对应的预测器是分类的。索引值在1和之间p,在那里p用于训练模型的预测器的数量。

如果fsrftest使用输入变量的子集作为预测器,然后函数只使用该子集对预测器进行索引。的CategoricalPredictors值不计算响应变量、观察权重变量或函数没有使用的任何其他变量。

逻辑向量

一个真正的入口意味着对应的预测因子是绝对的。向量的长度是p

字符矩阵 矩阵的每一行都是一个预测变量的名称。名字必须和里面的名字一致资源描述.用额外的空格填充名字,这样字符矩阵的每一行都有相同的长度。
字符向量的字符串数组或单元格数组 数组中的每个元素都是一个预测变量的名称。名字必须和里面的名字一致资源描述
“所有” 所有的预测都是绝对的。

默认情况下,如果预测器数据在表中(资源描述),fsrftest如果变量是逻辑向量、无序分类向量、字符数组、字符串数组或字符向量的单元格数组,则假定该变量是分类的。如果预测器数据是一个矩阵(X),fsrftest假设所有的预测器都是连续的。要将任何其他预测器标识为类别预测器,请使用CategoricalPredictors名称-值参数。

例子:“CategoricalPredictors”、“所有”

例子:CategoricalPredictors=[1 5 6 8]

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

用于对连续预测器进行分组的箱的数目,指定为逗号分隔的对,由“NumBins”和一个正整数标量。

例子:“NumBins”,50岁

数据类型:|

指示是否使用或丢弃预测器中缺失的值,指定为逗号分隔的对,由“UseMissing”,要么真正的使用或丢弃预测器中缺失的值以进行排序。

fsrftest认为(空字符向量),""(空字符串),< >失踪,<定义>值将丢失值。

如果你指定“UseMissing”,真的,然后fsrftest使用缺少的值进行排序。对于一个类别变量,fsrftest将缺失的值作为额外的类别处理。对于连续变量,fsrftest的地方值在单独的bin中进行bin。

如果你指定“UseMissing”,假的,然后fsrftest不使用缺失值进行排序。因为fsrftest为每个预测器单独计算重要性得分,当该行部分值缺失时,函数不会丢弃整行。对于每个变量,fsrftest使用所有没有缺失的值。

例子:“UseMissing”,真的

数据类型:逻辑

观察权值,用逗号分隔的对表示“重量”和标量值的向量或者变量的名称资源描述.函数对每一行的观测值进行加权X资源描述的对应值权重.的大小权重必须等于中的行数X资源描述

如果将输入数据指定为表资源描述,然后权重变量的名称可以在资源描述它包含一个数字向量。在这种情况下,您必须指定权重作为字符向量或字符串标量。例如,如果权重向量是列W资源描述资源描述。W),然后指定“重量”、“W”

fsrftest将权重归一化,使其加起来为1。

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

输出参数

全部折叠

中的预测指标X资源描述根据预测器重要性排序,以1乘-的形式返回r数字向量,其中r是排序预测因子的数量。

如果fsrftest中使用变量的子集资源描述作为预测器,函数只使用子集索引预测器。例如,假设资源描述包含10列,并指定的最后5列资源描述作为预测变量公式.如果idx (3)5,那么第三个最重要的预测因子是第10列资源描述,这是子集中的第五个预测因子。

预测分数,返回为1 × -r数字向量,其中r是排序预测因子的数量。

较大的评分值表明相应的预测因子是重要的。

  • 如果你使用X指定预测器或使用所有的变量资源描述作为预测器,那么值分数和预测的顺序一样吗X资源描述

  • 中指定变量的子集资源描述作为预测器,那么值分数与子集的顺序相同。

例如,假设资源描述包含10列,并指定的最后5列资源描述作为预测变量公式.然后,分数(3)中第8列的分数值资源描述,这是子集中的第三个预测因子。

算法

全部折叠

单变量特征排序使用F测试

  • fsrftest分别检验每个预测因子的重要性F以及。每一个F-test检验一个假设,即由预测变量值分组的响应值来自具有相同均值的总体,与另一个假设,即总体均值不完全相同。一个小p-value表示对应的预测因子是重要的。

  • 输出分数日志(p.因此,评分值越大,说明对应的预测因子很重要。如果一个p-value小于每股收益(0),则输出为

  • fsrftest在对变量进行分组或离散化后检查连续变量。方法可以指定容器的数量“NumBins”名称-值对参数。

参考文献

[1]拉斯穆森,C. E., R. M.尼尔,G. E.辛顿,D.范坎普,M. Revow, Z. Ghahramani, R. Kustra, R. Tibshirani。DELVE手册,1996年。

多伦多大学计算机科学系。深入研究数据集。

纳什,w.j., T. L.塞勒斯,S. R.塔尔博特,A. J.考索恩,W. B.福特。鲍鱼种群生物学(石决明物种)在塔斯马尼亚。一、黑唇鲍鱼(h . rubra)从北海岸和巴斯海峡的岛屿。”海洋渔业司,技术报告第48号,1994年。

哇,S。级联相关的扩展和基准测试:前馈监督人工神经网络的级联相关体系结构和基准测试的扩展。塔斯马尼亚大学计算机科学系论文, 1995年。

UCI机器学习库。加州尔湾:加州大学信息与计算机科学学院,2013。http://archive.ics.uci.edu/ml。

版本历史

在R2020a中引入

Baidu
map