主要内容

FSCCHI2.

使用Chi-Square测试进行分类的单变量特征排名

描述

例子

idx.= fscchi2(TBL.responsevarname.使用秩(预测器)使用Chi-Square测试。桌子TBL.包含预测变量和响应变量,以及responsevarname.是响应变量的名称TBL.。函数返回idx.,其中包含通过预测的重要性排序的预测器指数,意思IDX(1)是最重要的预测指标的指数。您可以使用idx.选择分类问题的重要预测因子。

idx.= fscchi2(TBL.公式指定要在变量中考虑的响应变量和预测变量TBL.通过使用公式

idx.= fscchi2(TBL.y排名预测因素TBL.使用响应变量y

例子

idx.= fscchi2(Xy排名预测因素X使用响应变量y

例子

idx.= fscchi2(___名称,价值除了以前语法中的任何输入参数组合之外,使用一个或多个名称值对参数指定其他选项。例如,您可以指定先前的概率和观察权重。

例子

[idx.得分] = fscchi2(___还返回预测的分数得分。大得分值表示相应的预测器很重要。

例子

全部收缩

在数字矩阵中排名预测器,并创建预测值重视分数的条形图。

加载样本数据。

加载电离层

电离层包含预测变量(X)和一个响应变量(y)。

使用Chi-Square测试等待预测器。

[Idx,scores] = fscchi2(x,y);

价值得分是否定的日志P.- 值。如果一个P.-Value小于EPS(0),那么相应的分数值是INF.。在创建条形图之前,请确定是否得分包括INF.价值观。

查找(ISINF(分数))
ans = 1x0空双排向量

得分不包括INF.价值观。如果得分包括INF.值,可以替换INF.在为可视化目的创建条形图之前,通过一个大数字号码。有关详细信息,请参阅桌子中的排名预测器

创建一个预测标志重要评分的条形图。

BAR(分数(IDX))XLABEL('预测的排名')ylabel('预测重点评分'

图包含轴。轴包含类型栏的物体。

选择前五大最重要的预测因子。找到这些预测器的列X

IDX(1:5)
ans =.1×55 7 3 8 6

第五列X是最重要的预测因子y

排名在表中的预测器,并创建一个预测的标准重要性分数的条形图。

如果您的数据在表格中FSCCHI2.在表中排列变量的子集,然后函数仅使用子集索引变量。因此,良好的做法是移动你不想排名在表格的末尾的预测器。移动响应变量和观察权重向量。然后,输出参数的索引与表的索引一致。

加载人口普查1994数据集。

加载人口普查1994.

桌子AdultData.人口普查1994.包含来自美国人口普查局的人口统计数据,以预测个人每年赚超过50,000美元。显示表的前三行。

头(AdultData,3)
ans =.3×15表年龄workClass fnlwgt教育education_num婚姻状况职业关系种族性别capital_gain capital_loss hours_per_week NATIVE_COUNTRY工资___ ________________ __________ _________ _____________ __________________ _________________ _____________ _____ ____ ____________ ____________ ______________ ______________ ______ 39国政务77516个学士13未婚ADM-文书不在位家庭白人男性2174 0 40美国联合国<= 50K 50自我emp-not-Inc 83311学士学位13结婚 -  Civ-Spouse exec-Manigher丈夫白色男0 0 1 13美国<= 50K 38私人2.1565E + 05 HS-GRAD 9离婚处理人员 - 清洁剂Not-In-Family White Male 0 0 0 40美国<= 50K

在表格中AdultData.,第三列fnlwgt.是样品的重量,以及最后一列薪水是响应变量。移动fnlwgt.至左侧薪水通过使用搬运活动功能。

AdultData = MoveVars(AdultData,'fnlwgt''前''薪水');头(AdultData,3)
ans =.3×15表年龄workClass教育education_num婚姻状况职业关系种族性别capital_gain capital_loss hours_per_week NATIVE_COUNTRY fnlwgt工资___ ________________ _________ _____________ __________________ _________________ _____________ _____ ____ ____________ ____________ ______________ ______________ __________ ______ 39国政务学士13未婚ADM-文书不在位家庭白人男性21740 40美国77516 <= 50K 50自我Emp-Not Inc学士13结婚 -  Civ-Spouse Exec-Manager Justric Males 0 0 1 13美国83311 <= 50K 38私人HS-Grad 9离婚处理器 - 清洁剂Not-In-Family White Male 0 0 0 40美国2.1565E + 05 <= 50K

排名预测因子AdultData.。指定列薪水作为响应变量,并指定列fnlwgt.作为观察权重。

[Idx,scores] = fscchi2(amertandata,'薪水''重量''fnlwgt');

价值得分是否定的日志P.- 值。如果一个P.-Value小于EPS(0),那么相应的分数值是INF.。在创建条形图之前,请确定是否得分包括INF.价值观。

idxinf = find(isinf(scores))
Idxinf =.1×81 3 4 5 6 7 10 12

得分包括八个INF.价值观。

创建一个预测标志重要分数的条形图。使用预测的名称X-axis刻度标签。

图栏(分数(IDX))XLabel('预测的排名')ylabel('预测重点评分')XTicklabels(Strrep(Adjordata.properties.variablenames(Idx),'_''\ _'))xtickangle(45)

酒吧功能不会为此提供任何条形INF.价值观。为了INF.值,具有与最大有限分数相同的绘图栏。

抓住BAR(分数(IDX(长度(idxinf)+1))*(长度(idxinf),1))图例('有限分数''INF分数') 抓住离开

图包含轴。轴包含2个类型的栏杆。这些对象代表有限分数,INF分数。

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

输入参数

全部收缩

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

每一排TBL.对应于一个观察,并且每列对应于一个预测变量。可选地,TBL.可以包含响应变量和观察权重的附加列。

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

  • 如果TBL.包含响应变量,并且您希望使用所有剩余的变量TBL.作为预测器,然后通过使用指定响应变量responsevarname.。如果TBL.还包含观察权重,然后您可以通过使用来指定权重重量

  • 如果TBL.包含响应变量,并且只想仅使用剩余变量的子集TBL.作为预测器,然后使用的是使用变量的子集公式

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

如果FSCCHI2.使用变量子集TBL.作为预测器,该函数仅使用子集索引预测器。价值'pationoricalpricictors'名称值对参数和输出参数idx.不要计算函数不等级的预测器。

FSCCHI2.考虑''(空字符向量),(空字符串),<缺失>, 和<未定义>价值TBL.对于缺少值的响应变量。FSCCHI2.不使用响应变量缺失值的观察。

数据类型:桌子

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

例如,如果响应变量是列yTBL.tbl.y.),然后指定responsevarname.作为'是'

数据类型:char|细绳

响应变量的解释模型和预测变量的子集,指定为表单中的字符向量或字符串标量'y〜x1 + x2 + x3'。在这种形式,y表示响应变量,和X1X2, 和X3代表预测变量。

指定变量的子集TBL.作为预测器,使用公式。如果您指定公式,那么FSCCHI2.没有排列任何变量TBL.没有出现在公式

公式中的变量名称必须是变量名称TBL.tbl.properties.variablenames.)和有效的matlab®身份标识。您可以验证变量名称TBL.通过使用isvarname.功能。如果变量名称无效,则可以使用使用的转换它们matlab.lang.makevalidname.功能。

数据类型:char|细绳

响应变量,指定为数字,分类或逻辑向量,字符或字符串数​​组,或字符向量的小区数组。每一排y表示相应行的标签X

FSCCHI2.考虑''(空字符向量),(空字符串),<缺失>, 和<未定义>价值y缺少值。FSCCHI2.不使用具有缺失值的观察y

数据类型:单身的|双倍的|分类|逻辑|char|细绳|细胞

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

数据类型:单身的|双倍的

名称值对参数

指定可选的逗号分离对名称,价值论点。名称是参数名称和价值是相应的价值。名称必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:'numbins',20,'usemissing',真实将箱数设置为20,并指定在预测器中使用缺失值进行排名。

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

价值 描述
正整数矢量

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

如果FSCCHI2.使用输入变量的子集作为预测器,然后函数仅使用子集索引预测器。这'pationoricalpricictors'值不计算响应变量,观察权重变量和功能不使用的任何其他变量。

逻辑矢量

一种真的条目意味着预测器数据的相应列是分类变量。矢量的长度是P.

字符矩阵 矩阵的每一行是预测器变量的名称。名称必须与名称匹配TBL.。使用额外的空白填充名称,因此字符矩阵的每行具有相同的长度。
字符串阵列或字符向量的单元数组 数组中的每个元素是预测器变量的名称。名称必须与名称匹配TBL.
'全部' 所有预测因素都是分类的。

默认情况下,如果预测器数据在表中(TBL.),FSCCHI2.假设变量是分类的,如果它是逻辑向量,无序分类向量,字符数组,字符串数组或字符向量的单元数组。如果预测器数据是矩阵(X),FSCCHI2.假设所有预测因子都是连续的。要将任何其他预测因子识别为分类预测器,请通过使用来指定它们'pationoricalpricictors'名称值参数。

例子:'patericalpricictors','全部'

数据类型:单身的|双倍的|逻辑|char|细绳|细胞

用于排名的类的名称,指定为逗号分隔的配对组成'classnames'和一个分类,字符或字符串阵列,逻辑或数字矢量,或字符向量的单元格数组。Classnames.必须具有相同的数据类型y或响应变量TBL.

如果Classnames.是一个字符数组,那么每个元素都必须对应于数组的一行。

'classnames'至:

  • 指定的顺序事先的对应于类顺序的尺寸。

  • 选择排名的类别。例如,假设所有不同类别名称的集合y{'a','b','c'}。使用课程的观察排列预测器'一种''C'仅限,指定'classnames',{'a','c'}

默认值'classnames'是所有不同类名的集合y或响应变量TBL.。默认值'classnames'如果响应变量是序数,则值具有数学排序。否则,默认值具有字母顺序排序。

例子:'classnames',{'b','g'}

数据类型:分类|char|细绳|逻辑|单身的|双倍的|细胞

融合连续预测器的箱数,指定为逗号分隔对'numbins'和一个正整数标量。

例子:'numbins',50

数据类型:单身的|双倍的

每个类的先前概率,指定为以下之一:

  • 字符矢量或字符串标量。

    • '经验'确定响应变量中的类频率的类概率y或者TBL.。如果你通过观察权重,FSCCHI2.使用权重来计算类概率。

    • '制服'设置所有类概率等于。

  • 向量(每个类的一个标量值)。指定相应元素的类顺序'事先的',设置'classnames'名称值参数。

  • 结构S.有两个领域。

    • S.Classnames.包含类名作为与响应变量相同类型的变量y或者TBL.

    • S.Classprobs.包含相应概率的向量。

FSCCHI2.将每个类中的重量正常化('重量')要加入相应类的现有概率的值。

例子:'先前','制服'

数据类型:char|细绳|单身的|双倍的|塑造

用于在预测器中使用或丢弃缺失值的指示,指定为包括的逗号分隔对'veremissing'和任何一种真的使用或错误的在排名中丢弃缺失的值。

FSCCHI2.考虑''(空字符向量),(空字符串),<缺失>, 和<未定义>值缺少值。

如果您指定'veremissing',真实, 然后FSCCHI2.使用缺失的排名值。对于一个分类变量,FSCCHI2.将缺失的值视为额外的类别。对于连续变量,FSCCHI2.地点单独的垃圾箱中的值用于分布。

如果您指定'veremissing',false, 然后FSCCHI2.不使用缺失的排名值。因为FSCCHI2.为每个预测器单独计算重要性分数,当行中的值部分丢失时,函数不会丢弃整行。对于每个变量,FSCCHI2.使用不缺少的所有值。

例子:'veremissing',真实

数据类型:逻辑

观察权重,指定为逗号分隔的配对组成'重量'和标量值的矢量或变量的名称TBL.。函数重量每行中的观察X或者TBL.具有相应的价值重量。的大小重量必须等于行的数量X或者TBL.

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

FSCCHI2.将每个类中的权重标准化,以加入相应类的现有概率的值。

数据类型:单身的|双倍的|char|细绳

输出参数

全部收缩

预测因素的指标X或者TBL.通过预测的重要性命令,返回为1-by-R.数字矢量,在哪里R.是排名的预测因子的数量。

如果FSCCHI2.使用变量子集TBL.作为预测器,该函数仅使用子集索引预测器。例如,假设TBL.包含10列,您可以指定最后五列TBL.作为预测因子变量使用公式。如果IDX(3)5.然后第三个最重要的预测器是第10列TBL.,这是子集中的第五预测器。

预测的分数,返回为1-by-R.数字矢量,在哪里R.是排名的预测因子的数量。

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

  • 如果你使用X指定预测器或使用所有变量TBL.作为预测因子,那么值得分与预测器有相同的订单X或者TBL.

  • 如果指定了变量的子集TBL.作为预测因子,那么值得分与子集具有相同的顺序。

例如,假设TBL.包含10列,您可以指定最后五列TBL.作为预测因子变量使用公式。然后,得分(3)包含第8列的分数值TBL.,这是子集中的第三预测器。

算法

全部收缩

使用Chi-Square测试排名单变量特征

  • FSCCHI2.检查每个预测变量是否与使用单独的Chi-Square测试无关。一个小的P.- 测试统计值表示相应的预测器变量取决于响应变量,因此是一个重要特征。

  • 输出得分-日志(P.。因此,大得分值表示相应的预测器是重要的。如果一个P.-Value小于EPS(0),然后输出是INF.

  • FSCCHI2.在排放后或离散化的变量后检查连续变量。您可以使用使用的垃圾箱数'numbins'名称值对参数。

在R2020A中介​​绍