主要内容

fsrftest

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

描述

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

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

例子

idx= fsrftest (资源描述,Y)排名预测资源描述使用响应变量Y

例子

idx= fsrftest (X,Y)排名预测X使用响应变量Y

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

例子

[idx,分数) = fsrftest (___)也返回预测分数分数.较大的分值表示相应的预测值很重要。

例子

全部折叠

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

加载示例数据。

负载robotarm.mat

这个机器人手臂数据集包含7168项训练观测(Xtrain)及1024个测试资料(Xtest欧美),有32个功能[1][2]

使用训练观察值对预测器进行排序。

[idx,得分]=fsrftest(Xtrain,ytrain);

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

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

分数不包括值。如果分数包括值,可以替换在创建条形图以实现可视化之前,先使用一个较大的数字。有关详细信息,请参见对表中的预测因子进行排序

创建预测值重要性得分的条形图。

条(分数(idx))xlabel(“预测等级”) ylabel (“预测重要性分数”)

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

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

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

第30列Xtrain最重要的预测因素是什么

对表中的预测因子进行排序,并创建预测因子重要性分数的条形图。

如果您的数据在表中,并且fsrftest对表中变量的一个子集进行排序,然后函数仅使用这个子集对变量进行索引。因此,一个好的实践是将您不希望排名到表末尾的预测器移动到表末尾。移动响应变量和观测权向量。然后,输出参数的索引与表的索引保持一致。属性可以在表中移动变量movevars函数。

本例使用鲍鱼数据[3][4]来自UCI机器学习知识库[5].下载数据并将其保存在当前文件夹中“abalone.data”

将数据存储在表中。

台= readtable (“abalone.data”,“文件类型”,“文本”,“ReadVariableNames”、假);tbl.Properties.VariableNames = {“性”,“长度”,“直径”,“高度”,...“WWeight”,“SWeight”,“体重”,“ShWeight”,“NoShellRings”};

预览表的前几行。

头(台)
ans =8×9表“UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU{'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{'I'}0.33 0.255 0.08 0.205 0.0895 0.0395 0.055 7{'I'}0.4250.3 0.095 0.3515 0.141 0.0775 0.12 8{'F'}0.53 0.4150.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

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

将预测因素按等级排列资源描述.指定最后一列Noshellings作为响应变量。

[idx,分数]= fsrftest(资源描述,“NoShellRings”)
idx =1×83 4 5 7 8 2 6
成绩=1×8447.6891 736.9619 Inf Inf Inf 604.6692 Inf Inf

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

idxInf =找到(isinf(分数))
idxInf =1×53 4 5 7 8

分数包括5个值。

创建预测值重要性得分的条形图。使用预测值的名称x设在标记标签。

条(分数(idx))xlabel(“预测等级”) ylabel (“预测重要性分数”) xticklabels (strrep (tbl.Properties.VariableNames (idx),“_”,“\ _”) xtickangle (45)

这个酒吧函数不绘制值。为值,与最大有限分数长度相同的标绘条。

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

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

输入参数

全部折叠

样本数据,指定为表。除了字符向量的单元格数组之外,不允许使用多列变量和单元格数组。

每一行的资源描述对应一个观察值,每一列对应一个预测变量。可选地,资源描述可以包含响应变量和观察权值的附加列。

响应变量可以是类别、字符或字符串数组、逻辑或数字向量或字符向量的单元格数组。如果响应变量是字符数组,则响应变量的每个元素必须对应于数组的一行。

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

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

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

如果fsrftest中使用变量的子集资源描述作为预测器,该函数仅使用子集对预测器进行索引“分类预测因素”名称-值对参数和输出参数idx不要计算函数没有排序的预测器。

fsrftest认为,''(空字符向量),""(空字符串),< >失踪,<定义>资源描述对于缺少值的响应变量。fsrftest不使用响应变量缺失值的观察结果。

数据类型:表格

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

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

数据类型:字符|字符串

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

在中指定变量子集的步骤资源描述使用公式作为预测值。如果指定公式,则fsrftest没有对任何变量进行排序资源描述没有出现在公式

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

数据类型:字符|字符串

响应变量,指定为数字、分类或逻辑向量、字符或字符串数组或字符向量的单元格数组。每一行的Y表示相应行的标签X

fsrftest认为,''(空字符向量),""(空字符串),< >失踪,<定义>Y丢失值。fsrftest不使用缺少值的观测值Y

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

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

数据类型:|

名称-值对的观点

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

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

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

价值 描述
正整数向量

向量中的每个条目都是对应于包含分类变量的预测器数据列的索引值。索引值在1到之间P,在那里P为用于训练模型的预测器数量。

如果fsrftest使用输入变量的子集作为预测器,然后函数仅使用该子集对预测器进行索引。这个“分类预测因素”值不计算响应变量、观察权重变量和函数未使用的任何其他变量。

逻辑向量

A.真正的Entry表示预测数据对应的列是一个分类变量。向量的长度是P

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

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

例子:“CategoricalPredictors”、“所有”

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

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

例子:“NumBins”,50岁

数据类型:|

用于指示是否使用或放弃预测器中缺少的值,指定为逗号分隔对,由“我们失踪了”,要么真正的使用或放弃预测值中缺失的值以进行排名。

fsrftest认为,''(空字符向量),""(空字符串),< >失踪,<定义>值将是缺少的值。

如果您指定“UseMissing”,真的那么fsrftest使用缺失值进行排名。对于分类变量,fsrftest将缺少的值视为额外类别。对于连续变量,fsrftest的地方值放在单独的容器中进行分类。

如果您指定“UseMissing”,假的那么fsrftest不使用缺失值进行排名。因为fsrftest单独计算每个预测值的重要性分数,当行中的值部分缺失时,函数不会丢弃整行。对于每个变量,fsrftest使用所有未丢失的值。

例子:“UseMissing”,真的

数据类型:符合逻辑的

观察权值,指定为逗号分隔的对,由“重量”和标量值或变量名的向量资源描述.该函数对每一行的观测值进行加权X资源描述对应的值在砝码.的大小砝码必须等于中的行数X资源描述

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

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

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

输出参数

全部折叠

预测指标X资源描述根据预测器的重要性排序,返回为1-by-R数字向量,其中R是排名预测者的数量。

如果fsrftest中使用变量的子集资源描述作为预测器,然后函数仅使用子集对预测器进行索引。例如,假设资源描述包括10列,您可以指定资源描述作为预测变量使用公式.如果idx(3)5.,第三个最重要的预测是第10列资源描述,这是子集中的第五个预测器。

预测器得分,以1-by-返回R数字向量,其中R是排名预测者的数量。

较大的分值表示相应的预测值很重要。

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

  • 如果你指定变量的子集资源描述作为预测器,然后是值分数和子集的顺序一样。

例如,假设资源描述包括10列,您可以指定资源描述作为预测变量使用公式.然后,分数(3)中第8列的得分值资源描述,它是子集中的第三个预测因子。

算法

全部折叠

单变量特征排序F-测验

  • fsrftest检查每个预测的重要性单独使用F以及。每一个F-test检验按预测变量值分组的响应值是从具有相同均值的总体中提取的假设,而另一种假设是总体均值不都相同。一个小P-值表示对应的预测器是重要的。

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

  • fsrftest在对变量进行装箱或离散后检查连续变量。属性指定容器的数量“NumBins”名称-值对参数。

参考文献

[1] Rasmussen, C. E., R. M. Neal, G. E. Hinton, D. van Camp, M. Revow, Z. Ghahramani, R. Kustra, R. Tibshirani。《DELVE手册》,1996年。

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

[3] 鲍鱼的种群生物学(石决明塔斯马尼亚岛的种)I.黑唇鲍鱼(h . rubra)从北海岸和巴斯海峡群岛。”海洋渔业司,技术报告第48号,1994年。

[4]沃,S。串级相关的扩展和基准:前馈监督人工神经网络的串级相关体系结构和基准的扩展。塔斯马尼亚大学计算机科学系, 1995.

[5] Lichman, m.l UCI机器学习知识库。加州欧文:加州大学信息与计算机科学学院,2013。http://archive.ics.uci.edu/ml。

介绍了R2020a