主要内容

功能选择简介

本节介绍了特征选择算法,并介绍了Statistics和Machine Learning Toolbox™中提供的特征选择功能。

特征选择算法

功能选择通过仅选择测量功能(预测器变量)的子集来减少数据的维度,以创建模型。特征选择算法搜索最佳模拟测量响应的预测器的子集,受到如所需或排除的特征和子集的大小的约束。特征选择的主要好处是提高预测性能,提供更快,更具成本效益的预测因子,并提供更好地了解数据生成过程[1].即使所有功能相关的功能和包含有关响应变量的信息,使用太多功能也会降低预测性能。

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

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

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

  • 嵌入式功能选择- 嵌入式特征选择算法将学习特征重要性作为模型学习过程的一部分。培训模型后,您可以获得训练模型中的功能的重要性。这种类型的算法选择与特定学习过程合作的功能。

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

您可以通过创建部分依赖性图(PDP)和个人有条件期望(ICE)图来比较预测变量的重要性。有关详细信息,请参阅plotPartialDependence

对于分类问题,在选择特征之后,您可以训练两个模型(例如,一个完整的模型和一个用预测器子集训练的模型),并使用CompareHoldout.testcholdout., 要么testckfold功能。

当原始特征及其单元是重要的,且建模目标是识别有影响的子集时,特征选择优于特征变换。当分类特征存在,而数值变换不恰当时,特征选择成为降维的主要手段。

特征选择功能

统计和机器学习工具箱提供了几个功能的特征选择。根据问题和特性的数据类型选择适当的特性选择函数。

过滤型功能选择

功能 万博1manbetx支持问题 万博1manbetx支持的数据类型 描述
FSCCHI2. 分类 范畴特征和连续特征

检查每个预测变量是否独立于使用单独的Chi-Square测试,然后使用该数据的等级功能P.- Chi-Square测试统计值。

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

FSCMRMR. 分类 范畴特征和连续特征

依次使用排名功能最小冗余最大相关性(MRMR)算法

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

FSCNCA* 分类 连续特点

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

有关详细信息,请参阅“功能参考”页面FSCNCA和这些主题:

FSRFTEST. 回归 范畴特征和连续特征

使用一个单独检查每个预测器的重要性F-test,然后使用P.- 值得的价值F- 统计数据。每个F- 测试测试通过与替代假设的相同均值的群体中绘制了预测器变量值的响应值的假设,即人口意味着并不相同。

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

FSRNCA.* 回归 连续特点

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

有关详细信息,请参阅“功能参考”页面FSRNCA.和这些主题:

fsulaplacian. 无人监督的学习 连续特点

使用拉普拉斯算子的分数

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

refieff 分类和回归 无论是所有分类的或所有连续功能

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

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

sequentialfs 分类和回归 无论是所有分类的或所有连续功能

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

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

包装型功能选择

功能 万博1manbetx支持问题 万博1manbetx支持的数据类型 描述
sequentialfs 分类和回归 无论是所有分类的或所有连续功能

使用自定义标准顺序选择功能。定义实现监督学习算法的功能或测量学习算法性能的功能,并将功能句柄传递给sequentialfs函数。属性可以指定顺序向前选择或顺序向后选择“方向”名称值对参数。sequentialfs使用交叉验证评估标准。

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

嵌入式功能选择

功能 万博1manbetx支持问题 万博1manbetx支持的数据类型 描述
deltapredictorA的财产ClassificationDiscriminant模型对象 线性判别分析分类 连续特点

通过使用创建线性判别分析分类器fitcdiscr..训练有素的分类器,返回ClassificationDiscriminant,存储系数幅度deltapredictor财产。您可以使用值deltapredictor作为预测的措施重要性。此分类器使用两个正则化参数伽玛和三角洲识别并去除多余的预测因子。属性可以获取这些参数的适当值cvshrink.功能或者'OptimizeHyperParameters'名称值对参数。

例如,请参阅以下主题:

fitcecoc.TemplateLinear. 具有高维数据的多牌子学习的线性分类 连续特点

通过使用培训线性分类模型fitcecoc.和线性二元学习者定义TemplateLinear..指定'正规化'TemplateLinear.作为'套索'使用套索正规化。

例如,看到使用交叉验证找到好的套索惩罚.该示例通过使用不同强度值的模型来评估具有不同强度值的模型来确定良好的租赁处罚强度Kfoldloss..您还可以使用KfoldedgeKfoldmargin.边缘损失, 要么利润

fitclinear 具有高维数据的二元学习线性分类 连续特点

通过使用培训线性分类模型fitclinear.指定'正规化'fitclinear作为'套索'使用套索正规化。

例如,看到使用交叉验证的AUC找到良好的套索惩罚.该示例通过使用AUC值评估具有不同强度值的模型来确定良好的租赁状态。使用使用来计算交叉验证的后级概率kfoldPredict,并通过使用计算AUC值perfcurve.您还可以使用KfoldedgeKfoldloss.Kfoldmargin.边缘损失利润, 要么预测

fitrgp 回归 范畴特征和连续特征

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

例如,请参阅以下主题:

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

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

例如,请参阅以下主题:

套索 线性回归 连续特点

训练线性回归模型套索使用使用正常化套索.您可以使用该方法指定套索与脊优化的重量'Α'名称值对参数。

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

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

用培训一般性的线性回归模型套索使用使用正常化lassoglm..您可以使用该方法指定套索与脊优化的重量'Α'名称值对参数。

有关详细信息,请参阅“功能参考”页面lassoglm.和这些主题:

OobpermutedPredictorimportance.* *的ClassificationBaggedEnsemble 与袋装决策树的集合进行分类(例如,随机森林) 范畴特征和连续特征

使用树学习器训练袋式分类集成fitcensemble.并指定'方法'作为“包”.然后,用OobpermutedPredictorimportance.计算禁止的禁止,预测值估算.该功能测量模型中预测器变量的影响程度如何预测响应。

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

OobpermutedPredictorimportance.* *的回归释迦缩短 使用袋装决策树(例如,随机森林)集成的回归 范畴特征和连续特征

使用树学习器训练袋式回归集成fitrensemble.并指定'方法'作为“包”.然后,用OobpermutedPredictorimportance.计算禁止的禁止,预测值估算.该功能测量模型中预测器变量的影响程度如何预测响应。

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

预测的重要性* *的ClassificationEnsemble 与决策树的集合分类 范畴特征和连续特征

使用树学习者培训分类集合fitcensemble..然后,用预测的重要性估算预测的重要性通过在每个预测器上的拆分和分支节点的数量划分危险的裂缝而求解风险的变化。

有关示例,请参阅“功能参考”页面预测的重要性

预测的重要性* *的ClassificationTree. 使用决策树进行分类 范畴特征和连续特征

通过使用培训分类树fitctree.然后,用预测的重要性估算预测的重要性通过在每个预测器上施加裂缝并将总和除以分支节点的数量来求解风险的变化。

有关示例,请参阅“功能参考”页面预测的重要性

预测的重要性* *的回归 回归决策树的集合 范畴特征和连续特征

通过使用培训与树学习者的回归集合fitrensemble..然后,用预测的重要性估算预测的重要性通过在每个预测器上的拆分和分支节点的数量划分危险的裂缝而求解风险的变化。

有关示例,请参阅“功能参考”页面预测的重要性

预测的重要性* *的RegressionTree 决策树回归 范畴特征和连续特征

使用培训回归树fitrtree.然后,用预测的重要性估算预测的重要性由于每个预测器上的拼接和分支节点的数量将总和除以分支节点的拆分,因此通过求解平均平方误差(MSE)的变化来实现树。

有关示例,请参阅“功能参考”页面预测的重要性

挺身油*** 广义线性回归 范畴特征和连续特征

采用逐步回归拟合广义线性回归模型挺身油.或者,您可以使用以下方法来拟合线性回归模型Fitglm.然后通过使用来调整模型一步.逐步回归是一种基于解释响应变量的统计显著性对模型进行添加和删除的系统方法。

有关详细信息,请参阅“功能参考”页面挺身油和这些主题:

stepwiselm*** 线性回归 范畴特征和连续特征

采用逐步回归拟合线性回归模型stepwiselm.或者,您可以使用以下方法来拟合线性回归模型Fitlm.然后通过使用来调整模型一步.逐步回归是一种基于解释响应变量的统计显著性对模型进行添加和删除的系统方法。

有关详细信息,请参阅“功能参考”页面stepwiselm和这些主题:

**对于基于树的算法,请指定'预测圈'作为'互动曲率'使用交互测试选择最佳分割预测器。相互作用测试可用于在许多无关变量存在下识别重要变量。此外,如果训练数据包括许多预测因子,则指定“NumVariablesToSample”作为'全部'为了训练。否则,软件可能无法选择一些预测器,低估了他们的重要性。有关详细信息,请参阅fitctreefitrtree, 和templateTree

***挺身油stepwiselm不是包装器类型函数,因为不能将它们用作另一个训练函数的包装器。但是,这两个函数使用包装器类型算法来查找重要的特性。

参考

盖恩,伊莎贝尔和A. Elisseeff。"变量和特征选择的介绍"机床学习研究。卷。3,2003,第1157-1182页。

也可以看看

(生物信息学工具箱)

相关话题