主要内容

功能选择简介

本主题提供了一种介绍特征选择算法,并介绍统计信息和机器学习工具箱™中的功能选择功能。

特征选择算法

功能选择通过只选择测量特征的子集(预测变量)来创建模型,从而降低数据的维数。特征选择算法搜索预测器的子集,这些预测器最优地模型测量响应,受到诸如所需或排除的特征和子集的大小等限制。特征选择的主要好处是提高预测性能,提供更快、更划算的预测器,并更好地理解数据生成过程[1].使用过多的特征会降低预测性能,即使所有特征都是相关的,并且包含关于响应变量的信息。

您可以将特征选择算法分为三种类型:

  • 过滤型功能选择- 过滤器类型特征选择算法根据特征的特征,例如特征方差和与响应的功能相关性,测量特征重要性。您选择重要的功能作为数据预处理步骤的一部分,然后使用所选功能培训模型。因此,筛选类型特征选择与训练算法不相关。

  • 包装器类型功能选择- 包装型特征选择算法使用功能子集启动训练,然后使用选择标准添加或删除功能。选择标准直接测量添加或删除功能的模型性能的变化。该算法重复培训并改进模型,直到满足其停止标准。

  • 嵌入式类型特征选择-嵌入式类型特征选择算法学习特征的重要性,作为模型学习过程的一部分。一旦您训练了一个模型,您就可以获得训练模型中特征的重要性。这种算法选择适合特定学习过程的特征。

此外,您可以根据算法是否按顺序排列特征来对特征选择算法进行分类。最小冗余最大相关性(MRMR)算法和逐步回归是顺序特征选择算法的两个示例。有关详细信息,请参见顺序特征选择

您可以通过创建部分依赖图(PDP)和单个条件期望图(ICE)直观地比较预测变量的重要性。有关详细信息,请参见情节依存

对于分类问题,选择功能后,您可以培训两种型号(例如,具有预测器子集的完整模型和培训的模型),并通过使用模型的精度来比较模型的准确性CompareSheut.testcholdout.,或testckfold.功能。

特征选择优选在原始特征及其单位很重要时,可以进行变换,并且建模目标是识别有影响的子集。当存在分类特征时,数值转换不合适,特征选择变为尺寸减小的主要方法。

特征选择功能

统计和机器学习工具箱为特征选择提供了多种功能。根据您的问题和功能的数据类型选择合适的特征选择功能。

过滤型功能选择

函数 金宝app支持的问题 金宝app支持的数据类型 描述
fscchi2 分类 分类和连续功能

使用单个卡方检验检验每个预测变量是否独立于响应变量,然后使用P.卡方检验统计量的值。

有关示例,请参阅“功能参考”页面fscchi2

fscmrmr 分类 分类和连续功能

使用的排序功能最小冗余最大相关性(MRMR)算法

有关示例,请参阅“功能参考”页面fscmrmr

FSCNCA.* 分类 连续特点

通过使用邻域分量分析(NCA)的对角线调整来确定特征权重。该算法最适合估算基于距离的监督模型的特征重要性,该模型在观察之间使用成对距离来预测响应。

具体操作请参见功能参考页面FSCNCA.和这些主题:

FSRFTEST. 回归 分类和连续功能

检查每个预测的重要性单独使用F- 最低,然后使用该等级P.值的F以及统计数据。每一个F- 最低测试假设通过预测器变量值分组的响应值从具有相同均值的群体中绘制,群体装置并不相同。

有关示例,请参阅“功能参考”页面FSRFTEST.

fsrnca* 回归 连续特点

通过使用邻域分量分析(NCA)的对角线调整来确定特征权重。该算法最适合估算基于距离的监督模型的特征重要性,该模型在观察之间使用成对距离来预测响应。

具体操作请参见功能参考页面fsrnca和这些主题:

fsulaplacian 无监督学习 连续特点

使用该等级功能拉普里亚人得分

有关示例,请参阅“功能参考”页面fsulaplacian

relieff 分类和回归 要么是所有的范畴特征,要么是所有的连续特征

使用该等级功能recieff.分类算法和分类算法rrelieff.回归算法。该算法最适合估算基于距离的监督模型的特征重要性,该模型在观察之间使用成对距离来预测响应。

有关示例,请参阅“功能参考”页面relieff

序列 分类和回归 要么是所有的范畴特征,要么是所有的连续特征

使用自定义条件按顺序选择特性。定义测量数据特性以选择要素的函数,并将功能句柄传递给序列函数。属性可以指定顺序向前选择或顺序向后选择'方向'名称值对参数。序列使用交叉验证评估标准。

*你也可以考虑FSCNCA.fsrnca作为嵌入式类型特征选择函数,因为它们返回一个训练过的模型对象,你可以使用对象函数预测损失.但是,您通常使用这些对象函数来调整算法的正则化参数。使用该功能选择功能后FSCNCA.fsrnca功能作为数据预处理步骤的一部分,您可以为您的问题应用另一分类或回归算法。

包装器类型功能选择

函数 金宝app支持的问题 金宝app支持的数据类型 描述
序列 分类和回归 要么是所有的范畴特征,要么是所有的连续特征

使用自定义条件按顺序选择特性。定义一个实现监督学习算法的函数或一个衡量学习算法性能的函数,并将函数句柄传递给序列函数。属性可以指定顺序向前选择或顺序向后选择'方向'名称值对参数。序列使用交叉验证评估标准。

有关示例,请参阅“功能参考”页面序列和这些主题:

嵌入式类型特征选择

函数 金宝app支持的问题 金宝app支持的数据类型 描述
DeltaPredictorA的财产分类Discriminant.模型对象 线性判别分析分类 连续特点

通过使用创建线性判别分析分类器fitcdiscr.训练有素的分类器,返回分类Discriminant.,存储系数幅度DeltaPredictor财产。中的值可以使用DeltaPredictor来衡量预测的重要性。这个分类器使用两个正则化参数伽玛和三角洲识别和删除冗余预测器。您可以使用该参数获得适当的值cvshrink.函数或'OptimizeHyperParameters'名称值对参数。

有关示例,请参阅以下主题:

fitcecoctemplateLinear 用高维数据进行多类学习的线性分类 连续特点

利用。训练线性分类模型fitcecoc线性二元学习者定义为templateLinear.指定'正规化'TemplateLinear.作为'套索'使用套索正则化。

例如,请参见使用交叉验证找到良好的套索惩罚.这个例子通过使用不同的强度值来评估模型来确定一个好的套索惩罚强度kfoldLoss.您还可以使用KfoldedgekfoldMargin边缘损失,或保证金

FitClinear. 基于高维数据的二元学习的线性分类 连续特点

利用。训练线性分类模型FitClinear..指定'正规化'FitClinear.作为'套索'使用套索正则化。

例如,请参见使用交叉验证的AUC找到良好的套索惩罚.该示例通过使用AUC值评估具有不同强度值的模型来确定良好的租住力量。通过使用计算交叉验证的后级概率Kfoldpredict.,并使用perfcurve.您还可以使用KfoldedgekfoldLosskfoldMargin边缘损失保证金,或预测

Fitrgp. 回归 分类和连续功能

通过使用培训高斯过程回归(GPR)模型Fitrgp..设定“KernelFunction”名称值对参数使用自动相关性确定(ARD)。可用选项是'ardsquaredexponential''ardexponential'“ardmatern32”“ardmatern52”,“ardrationalquadratic”.通过占用负面学习长度尺度的指数来找到预测器权重,存储在KernelInformation财产。

有关示例,请参阅以下主题:

Fitrinear. 具有高维数据的线性回归 连续特点

通过使用培训线性回归模型Fitrinear..指定'正规化'Fitrinear.作为'套索'使用套索正则化。

有关示例,请参阅以下主题:

套索 线性回归 连续特点

用。训练线性回归模型套索使用使用正常化套索.您可以使用使用方法指定套索与岭的重量“α”名称值对参数。

有关示例,请参阅“功能参考”页面套索和这些主题:

lassoglm. 广义线性回归 连续特点

用。训练广义线性回归模型套索使用使用正常化lassoglm..您可以使用使用方法指定套索与岭的重量“α”名称值对参数。

具体操作请参见功能参考页面lassoglm.和这些主题:

OobpermutedPredictorimportance.** 的ClassificationBaggedensemble. 使用袋装决策树(例如,随机森林)进行分类 分类和连续功能

通过使用与树学习者一起培训袋装分类集合fitcensemble并指明“方法”作为“包”.然后,使用OobpermutedPredictorimportance.计算禁令外,预测值估算排列.该功能测量模型中预测器变量的影响程度如何预测响应。

有关示例,请参阅“功能参考”页面和主题OobpermutedPredictorimportance.

OobpermutedPredictorimportance.** 的RegressionBaggedEnsemble 回归与袋装决策树的集合(例如,随机森林) 分类和连续功能

使用树学习者训练一个装袋回归集合fitrensemble并指明“方法”作为“包”.然后,使用OobpermutedPredictorimportance.计算禁令外,预测值估算排列.该功能测量模型中预测器变量的影响程度如何预测响应。

有关示例,请参阅“功能参考”页面OobpermutedPredictorimportance.选择随机森林的预测器

预测算法** 的分类索斯 用决策树集合进行分类 分类和连续功能

利用树学习器训练分类集成fitcensemble.然后,使用预测算法计算估算预测重点通过对每个预测器的分裂所造成的风险变化进行求和,并除以分支节点的数量来进行集成。

有关示例,请参阅“功能参考”页面预测算法

预测算法** 的ClassificationTree 与决策树分类 分类和连续功能

使用fitctree.然后,使用预测算法计算估算预测重点通过在每个预测器上施加风险的变化来实现树的变化,并将总和除以分支节点的数量。

有关示例,请参阅“功能参考”页面预测算法

预测算法** 的回归 回归决策树的集合 分类和连续功能

使用树学习者培训回归集合fitrensemble.然后,使用预测算法计算估算预测重点通过对每个预测器的分裂所造成的风险变化进行求和,并除以分支节点的数量来进行集成。

有关示例,请参阅“功能参考”页面预测算法

预测算法** 的回归植物 与决策树的回归 分类和连续功能

使用培训回归树Fitrtree..然后,使用预测算法计算估算预测重点由于在每个预测器上拆分并且通过分支节点的数量划分,因此通过求解平均平方误差(MSE)的变化来实现树木的变化。

有关示例,请参阅“功能参考”页面预测算法

stepwiseglm*** 广义线性回归 分类和连续功能

使用逐步回归使用逐步回归来拟合普遍的线性回归模型stepwiseglm.或者,您可以使用线性回归模型fitglm然后通过使用调整模型.逐步回归是一种系统方法,用于根据其统计显着性在解释响应变量时从模型中添加和移除术语。

具体操作请参见功能参考页面stepwiseglm和这些主题:

Stepwiselm.*** 线性回归 分类和连续功能

使用逐步回归适合线性回归模型Stepwiselm..或者,您可以使用线性回归模型Fitlm.然后通过使用调整模型.逐步回归是一种系统方法,用于根据其统计显着性在解释响应变量时从模型中添加和移除术语。

具体操作请参见功能参考页面Stepwiselm.和这些主题:

**对于基于树的算法,指定'预测互联'作为'互动曲率'使用交互测试选择最佳分割预测器。相互作用测试可用于在许多无关变量存在下识别重要变量。此外,如果培训数据包括许多预测因子,则指定'numvariablestosample'作为'全部'进行训练。否则,软件可能不会选择一些预测因子,低估它们的重要性。有关详细信息,请参见fitctreeFitrtree.,Templatetree.

***stepwiseglmStepwiselm.不是包装器类型功能,因为您无法将它们用作其他培训函数的包装器。但是,这两个函数使用包装器类型算法找到重要的功能。

参考文献

[1] Guyon,Isabelle和A. Elisseeff。“变量和特征选择的介绍。”机器学习研究杂志。卷。3,2003,第1157-1182页。

也可以看看

(生物信息学工具箱)

相关的话题