fsrftest

单因素功能使用回归排名F-tests

描述

IDX= fsrftest(TBLResponseVarName使用排名特征(预测器)F-tests。桌子TBL包含预测变量和响应变量,和ResponseVarName是在响应变量的名称TBL。该函数返回IDX,其中包含预测的指数下令预测的重要性,这意味着IDX(1)是最重要的预测指数。您可以使用IDX选择回归问题的重要预测指标。

IDX= fsrftest(TBL指定响应变量和预测变量在变量间考虑TBL通过使用

IDX= fsrftest(TBLÿ排名预测中TBL使用响应变量ÿ

IDX= fsrftest(Xÿ排名预测中X使用响应变量ÿ

IDX= fsrftest(___名称,值指定使用一个或多个名称值对参数的附加选项除了任何在前面的语法输入参数组合。例如,您可以指定分类预测和观察的权重。

[IDX分数] = fsrftest(___也返回预测分数分数。大分值表示相应的预测是非常重要的。

例子

全部收缩

在数字矩阵的秩预测和创建预测的重要性分数的柱状图。

加载样本数据。

加载robotarm.mat

robotarm数据集包含7168条培训意见(Xtrainytrain)和1024个测试观测(XTESTytest)与32层的功能[1][2]

排名使用的训练观察的预测。

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

中的数值分数是的负面记录p- 值。如果一个p- 值小于EPS(0),则对应的得分值是天道酬勤。创建柱状图之前,确定是否分数包括天道酬勤值。

找到(isinf(分数))
ANS = 1X0空双行向量

分数不包括天道酬勤值。如果分数包括天道酬勤值,可以更换天道酬勤通过建立可视化的目的柱状图前大数字号码。有关详细信息,请参阅预测指标排名表

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

巴(分数(IDX))xlabel(“预测排名”)ylabel(“预测变量重要性评分”

选择最上面的五个最重要的预测指标。找到这些预测的列Xtrain

IDX(1:5)
ANS =1×530 24 10 4 5

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

表中的排名预测和创建预测的重要性分数的柱状图。

如果你的数据是在一个表,fsrftest排名仅使用子集表中的变量,那么该功能指标变量的一个子集。因此,一个好的做法是将你不想列在表的末尾的预测。移动响应变量和观察权重向量,以及。然后,输出参数的索引是表的索引一致。您可以使用一个表中移动变量movevars功能。

此示例使用鲍鱼数据[3][4]从UCI机器学习库[5]。下载数据,并将其与名称保存在当前文件夹'abalone.data'

在表中存储数据。

TBL = readtable('abalone.data''文件类型''文本''ReadVariableNames',假);tbl.Properties.VariableNames = {'性别''长度''直径''高度'...'WWeight''SWeight''VWeight''ShWeight''NoShellRings'};

预览表的前几行。

头(TBL)
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

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

排在预测TBL。指定的最后一列NoShellRings作为响应变量。

[IDX,分数] = fsrftest(TBL,'NoShellRings'
IDX =1×83 4 5 7 8 2 6 1
分数=1×8447.6891 736.9619天道酬勤天道酬勤天道酬勤天道酬勤604.6692天道酬勤

中的数值分数是的负面记录p- 值。如果一个p- 值小于EPS(0),则对应的得分值是天道酬勤。创建柱状图之前,确定是否分数包括天道酬勤值。

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

分数包括五个天道酬勤值。

创建预测的重要性分数的柱状图。使用该预测名称X轴刻度标记。

巴(分数(IDX))xlabel(“预测排名”)ylabel(“预测变量重要性评分”)xticklabels(strrep(tbl.Properties.VariableNames(IDX),'_''\ _'))xtickangle(45)

酒吧功能无法绘制的任何条天道酬勤值。为了天道酬勤值,即具有相同的长度作为最大的有限得分图吧。

保持巴(分数(IDX(长度(idxInf)+1))*酮(长度(idxInf),1))图例(“有限分数”“天道酬勤成绩”)保持

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

输入参数

全部收缩

样本数据,指定为表。多列变量和除字符向量的单元阵列的其他单元阵列是不允许的。

每行TBL对应于一个观测,并且每一列对应于一个预测变量。(可选)TBL可以包含用于响应变量和权重观察附加列。

响应变量可以是分类,字符或字符串数​​组,逻辑或数字载体,或字符向量的单元阵列。如果响应变量是一个字符数组,然后响应变量的每个元素必须对应于所述阵列的一行。

  • 如果TBL包含响应变量,要使用所有剩余变量TBL作为预测,然后通过使用指定响应变量ResponseVarName。如果TBL还含有观察权重,那么您可以指定使用权权重

  • 如果TBL包含响应变量,您希望只使用其余变量的一个子集TBL作为预测,然后通过使用指定变量的子集

  • 如果TBL不包含响应变量,然后通过使用指定的响应变量ÿ。响应变量和TBL必须具有相同的行数。

如果fsrftest使用的变量中的一个子集TBL如预测,那么功能指标仅使用子集的预测。在值'CategoricalPredictors'名称 - 值对参数和输出参数IDX不计算预测的功能并不靠前。

fsrftest考虑为NaN“”(空字符向量),“”(空字符串),<缺失><未定义>价值观TBL为响应变量被丢失的值。fsrftest不与响应变量缺失值的使用意见。

数据类型:

响应变量名,指定为包含可变的名称中的一个字符向量或标量串TBL

例如,如果一个响应的变量是柱ÿTBLTbl.Y),然后指定ResponseVarName'Y'

数据类型:烧焦|

响应变量和预测器变量的子集的说明模型,指定为形式的字符向量或标量串'Y〜X1 + X2 + X3'。在这种形式下,ÿ表示响应变量,和X1X2X3代表预测变量。

要指定变量的一个子集TBL作为预测,使用一个公式。如果您指定一个公式,然后fsrftest排名并不靠前的任何变量TBL没有出现在

公式中的变量名必须在两个变量名TBLTbl.Properties.VariableNames)和有效MATLAB®身份标识。有关详细信息,请参阅提示

数据类型:烧焦|

响应变量,指定为数字,类别,或逻辑向量,一个字符或字符串数​​组,或字符向量的单元阵列。每行ÿ表示的对应行的标签X

fsrftest考虑为NaN“”(空字符向量),“”(空字符串),<缺失><未定义>价值观ÿ是缺失值。fsrftest不使用的观察与缺失值ÿ

数据类型:||明确的|合乎逻辑|烧焦||细胞

预测数据,其指定为数值矩阵。每行X对应于一个观测,并且每一列对应于一个预测变量。

数据类型:|

名称 - 值对参数

指定可选的用逗号分隔的对名称,值参数。名称是参数的名称和是对应的值。名称必须出现引号内。您可以按照任何顺序指定多个名称和值对参数名1,值1,...,NameN,值N

例:'NumBins',20 'UseMissing',真设置箱20和指定的数量的预测使用缺失值进行排名。

分类预测变量的列表中,指定为逗号分隔的一对组成的'CategoricalPredictors'并在此表中的值之一。

描述
正整数的向量 向量中的每个条目是对应于预测数据的列(索引值X要么TBL),其中包含一个分类变量。
逻辑向量 一个真正条目表示预测数据的对应的列(X要么TBL)为分类变量。
汉字字模 所述矩阵的每一行是一个预测变量的名称。该名称必须在名称匹配TBL。垫多余的空格的名字,这样的字符矩阵的每一行具有相同的长度。
串阵列或字符向量的单元阵列 数组中的每个元素是一个预测变量的名称。该名称必须在名称匹配TBL
'所有' 所有的预测都是绝对的。

默认情况下,如果预测数据是在一个表(TBLfsrftest假定一个变量是分类,如果它是一个逻辑向量,无序的分类矢量,字符数组,字符串数组,或字符向量的单元阵列。如果预测数据是矩阵(Xfsrftest假设所有的预测都是连续的。要确定任何其他预测作为分类预测,指定它们通过使用'CategoricalPredictors'名称 - 值对的参数。

如果fsrftest使用的变量中的一个子集TBL如预测,那么功能指标仅使用子集的预测。该'CategoricalPredictors'值不计算该功能不排名的预测。

例:'CategoricalPredictors', '所有'

数据类型:||合乎逻辑|烧焦||细胞

箱为像素合并连续预测的数,指定为逗号分隔的一对组成的'NumBins'和一个正整数标量。

例:'NumBins',50

数据类型:|

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

fsrftest考虑为NaN“”(空字符向量),“”(空字符串),<缺失><未定义>值缺失值。

如果您指定'UseMissing',真, 然后fsrftest用途缺失值的排名。为分类变量,fsrftest并将缺失的值作为一个额外的类别。对于连续变量,fsrftest地方为NaN值的分级独立存仓。

如果您指定'UseMissing',假, 然后fsrftest对于排名不使用缺失值。因为fsrftest单独计算得分的重要性对每个预测变量,函数不放弃当行中的值部分缺少一整行。对于每个变量,fsrftest使用未丢失了所有的值。

例:'UseMissing',真

数据类型:合乎逻辑

观察权重,指定为逗号分隔的一对组成的“权重”和标量值的向量或一个变量的名称中的TBL。该函数的权重中的每一行的意见X要么TBL与在相应的值权重。的大小权重必须等于行数X要么TBL

如果您指定的输入数据表TBL, 然后权重可以为变量的名称TBL包含数字向量。在这种情况下,你必须指定权重为一个字符向量或标量的字符串。例如,如果权重向量是列w ^TBLTbl.W),然后指定'权重', 'W'

fsrftest标准化的权重加起来之一。

数据类型:||烧焦|

输出参数

全部收缩

预测的指标的X要么TBL通过预测重要性排序,返回为1逐[R数字向量,其中[R排名的预测数。

如果fsrftest使用的变量中的一个子集TBL如预测,那么功能指标仅使用子集的预测。例如,假设TBL包括10列和您指定的最后五列TBL通过使用预测变量。如果IDX(3),那么第三个最重要的预测是在第10列TBL,这是在该子集中的第五预测。

预测分数,返回为1逐[R数字向量,其中[R排名的预测数。

大分值表示相应的预测是非常重要的。

  • 如果您使用X指定预测或使用中的所有变量TBL作为预测,则在值分数具有相同的顺序在预测X要么TBL

  • 如果指定的变量中的一个子集TBL作为预测,则在值分数具有相同的顺序作为子集。

例如,假设TBL包括10列和您指定的最后五列TBL通过使用预测变量。然后,得分(3)包含在第八列的得分值TBL,这是在该子集中的第三预测值。

提示

  • 如果您使用的输入参数中指定的响应变量和预测变量,则在公式中的变量名必须在两个变量名TBLTbl.Properties.VariableNames)和有效的MATLAB标识符。

    您可以验证的变量名中TBL通过使用isvarname功能。下面的代码返回的逻辑1真正)对于具有合法的变量名每个变量。

    cellfun(@ isvarname,Tbl.Properties.VariableNames)
    如果变量名中TBL是无效的,然后使用它们转换matlab.lang.makeValidName功能。
    Tbl.Properties.VariableNames = matlab.lang.makeValidName(Tbl.Properties.VariableNames);

算法

全部收缩

单因素功能使用排名F-Tests

  • fsrftest检查每个预测单独使用的重要性F-测试。每F-test测试的假设,即由预测变量的值分组的响应值是从群体绘制与针对替代假设总体手段并不都是相同的相同的平均。一个小的p- 值的检验统计量的指示对应的预测器是重要的。

  • 输出分数-log(p。因此,大的分数值表示相应的预测器是重要的。如果一个p- 值小于EPS(0)时,则输出是天道酬勤

  • fsrftest检查连续变量合并后,或离散,变量。您可以使用指定窗口的数量'NumBins'名称 - 值对的参数。

参考

[1] Rasmussen的,C. E.,R. M.尼尔,G. E.欣顿,D.面包车营,M. Revow,Z. Ghahramani,R. Kustra和R. Tibshirani。该DELVE手册,1996。

[2]多伦多大学计算机科学系。藏坑的数据集。

[3]纳什,沃里克J.,编鲍鱼的种群生物学(鲍物种)在塔斯马尼亚。1:黑蝶鲍鱼(H.赤芍)从北海岸和巴斯海峡的岛屿。海洋渔业技术报告/部,塔斯马尼亚48 Taroona:海洋研究实验室,1994年。

[4]沃,S.“扩展和​​基准级联相关性”。博士论文。计算机科学系,塔斯马尼亚州,1995年大学。

[5] Lichman,M. UCI机器学习知识库。尔湾,CA:加州大学信息与计算机科学学院,2013年http://archive.ics.uci.edu/ml。

介绍了在R2020a