主要内容

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项训练观测(Xtrainytrain)和1024个测试观测(Xtest欧美),有32个功能[1][2]

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

[IDX,分数] = fsrftest(Xtrain,ytrain);

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

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

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

创建预测重要性分数的柱状图。

栏(分数(IDX))xlabel(“预测排名”) ylabel (“预测重要性分数”

图中包含一个轴对象。axis对象包含一个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);

阅读表中的数据。

台= readtable (“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.530.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.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,分数]= 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中使用变量的子集资源描述作为预测器,然后函数仅使用子集对预测器进行索引。在值'pationoricalpricictors'名称-值对参数和输出参数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,…,的家

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

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

价值 描述
正整数向量

向量中的每一项都是一个指标值,表明相应的预测器是分类的。索引值在1到之间P.,在那里P.为用于训练模型的预测器数量。

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

逻辑向量

一种真正的进入意味着相应的预测器是绝对的。向量的长度是P.

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

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

例子:“CategoricalPredictors”、“所有”

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

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

例子:“NumBins”,50岁

数据类型:|

指示符用于预测是否使用还是丢弃缺失值,指定为逗号分隔的一对组成的'UseMissing',要么真正的使用或错误的丢弃的排名失踪的预测值。

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-Tests

  • 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]纳什,W.J.,T.L。卖方,S. R.塔尔博特,A. J.考索恩,和W. B.福特。“鲍鱼的群体生物学(石决明种)在塔斯马尼亚。一,黑蝶鲍鱼(h . rubra)从北海岸和巴斯海峡群岛。”海洋渔业司,技术报告第48号,1994年。

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

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

介绍了R2020a