特征选择简介

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

特征选择算法

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

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

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

  • 包装型功能选择-包装器类型特征选择算法使用特征子集开始训练,然后使用选择标准添加或删除特征。选择标准直接度量由于添加或删除特性而导致的模型性能变化。该算法重复训练和改进模型,直到算法满足其停止准则。

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

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

对于回归问题,您可以通过创建部分依赖性图(PDP)和个人有条件期望(ICE)图来比较预测变量的重要性。有关详细信息,请参见绘图竞争依赖性

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

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

特征选择的功能

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

过滤类型特征选择

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

依次使用排名功能MRMR (Minimum Redundancy Maximum Relevance)算法

例如,请参阅函数参考页面FSCMRMR.

FSCNCA 分类 连续特点

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

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

FSRNCA. 回归 连续特点

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

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

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

等级功能使用拉普拉斯的分数

例如,请参阅函数参考页面fsulaplacian.

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

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

例如,请参阅函数参考页面refieff

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

使用自定义条件按顺序选择特性。定义一个函数来测量数据的特征以选择特征,并将函数句柄传递给序列功能。您可以使用使用的顺序转发选择或顺序向后选择'方向'名称-值对的论点。序列使用交叉验证评估标准。

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

包装型功能选择

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

使用自定义条件按顺序选择特性。定义实现监督学习算法的功能或测量学习算法性能的功能,并将功能句柄传递给序列功能。您可以使用使用的顺序转发选择或顺序向后选择'方向'名称-值对的论点。序列使用交叉验证评估标准。

例如,请参阅函数参考页面序列和这些主题:

嵌入式功能选择

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

使用。创建线性判别分析分类器fitcdiscr..训练有素的分类器,返回分类Discriminant.,存储系数幅度deltapredictor财产。您可以使用值deltapredictor来衡量预测的重要性。这个分类器使用两个正则化参数伽玛和三角洲识别和删除冗余预测器。您可以使用该参数获取适当的值cvshrink功能或者“OptimizeHyperparameters”名称-值对的论点。

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

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

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

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

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

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

例如,看到使用交叉验证的AUC找到好的套索惩罚.这个例子通过使用AUC值来评估具有不同强度值的模型来确定一个良好的套索惩罚强度。使用。计算交叉验证的后验类概率Kfoldpredict,并通过使用计算AUC值灌注.您还可以使用型号使用KfoldedgekfoldLossKfoldmargin.边缘损失保证金,或预测

fitrgp. 回归 分类和连续功能

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

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

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

用。训练线性回归模型Fitrinear..指定“正规化”Fitrinear.作为'套索'使用套索正规化。

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

套索 线性回归 连续特点

训练线性回归模型套索正则化使用套索.您可以指定的重量套索与脊优化使用'Α'名称-值对的论点。

例如,请参阅函数参考页面套索和这些主题:

lassoglm 广义线性回归 连续特点

用培训一般性的线性回归模型套索正则化使用lassoglm.您可以指定的重量套索与脊优化使用'Α'名称-值对的论点。

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

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

使用树学习者培训一个装袋分类集合fitcensemble并指定“方法”作为'包'.然后,使用OobpermutedPredictorimportance.来计算out - bag, Predictor Importance estimate by Permutation.该功能测量模型中预测器变量的影响程度如何预测响应。

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

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

通过使用培训与树学习者的袋装回归集合fitrensemble.并指定“方法”作为'包'.然后,使用OobpermutedPredictorimportance.来计算out - bag, Predictor Importance estimate by Permutation.该功能测量模型中预测器变量的影响程度如何预测响应。

例如,请参阅函数参考页面OobpermutedPredictorimportance.选择随机林的预测器

predictorImportance** 的分类素.. 用决策树集合进行分类 分类和连续功能

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

例如,请参阅函数参考页面predictorImportance

predictorImportance** 的ClassificationTree. 与决策树分类 分类和连续功能

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

例如,请参阅函数参考页面predictorImportance

predictorImportance** 的RegressionEnsemble 回归决策树的集合 分类和连续功能

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

例如,请参阅函数参考页面predictorImportance

predictorImportance** 的回归植物 与决策树的回归 分类和连续功能

使用培训回归树fitrtree..然后,使用predictorImportance计算估计预测重要性通过对每个预测器的分裂所引起的均方误差(MSE)的变化进行求和,并除以分支节点的数量,对树进行计算。

例如,请参阅函数参考页面predictorImportance

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

使用逐步回归符合广义的线性回归模型stepwiseglm.或者,您可以使用线性回归模型fitglm然后通过使用调整模型.逐步回归是基于解释响应变量的统计学意义,从模型添加和移除术语的系统方法。

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

步骤行程 线性回归 分类和连续功能

使用逐步回归使用线性回归模型步骤行程.或者,您可以使用线性回归模型fitlm然后通过使用调整模型.逐步回归是基于解释响应变量的统计学意义,从模型添加和移除术语的系统方法。

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

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

参考

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

另请参阅

相关话题