主要内容

特征选择简介

本主题介绍了特征选择算法,并描述了统计和机器学习工具箱™中可用的特征选择功能。

特征选择算法

特征选择通过只选择一个被测量特征的子集(预测变量)来创建一个模型来降低数据的维数。特征选择算法根据要求或排除的特征和子集的大小等约束条件,搜索预测器的子集,以最优模型衡量响应。特征选择的主要好处是提高预测性能,提供更快、更经济的预测器,以及更好地理解数据生成过程[1].使用过多的特征会降低预测性能,即使所有特征都是相关的,并且包含有关响应变量的信息。

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

  • 过滤类型特征选择—过滤型特征选择算法基于特征的特征度量特征的重要性,如特征方差和特征对响应的相关性。选择重要的特征作为数据预处理步骤的一部分,然后使用选定的特征训练模型。因此,滤波器类型特征的选择与训练算法不相关。

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

  • 嵌入式功能选择-嵌入式类型特征选择算法学习特征的重要性作为模型学习过程的一部分。一旦你训练了一个模型,你就得到了训练模型中特征的重要性。这种类型的算法选择与特定学习过程配合良好的特征。

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

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

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

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

特征选择的功能

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

过滤类型特征选择

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

使用个人卡方检验检验每个预测变量是否独立于一个响应变量,然后使用p- Chi-Square测试统计值。

例如,参见函数参考页FSCCHI2.

fscmrmr 分类 分类和连续特征

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

例如,参见函数参考页fscmrmr

fscnca 分类 连续的特性

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

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

fsrftest 回归 分类和连续特征

用一个变量来检验每个预测器的重要性F- 最低,然后使用该等级的特征p值的F以及统计数据。每一个F-test对以下假设进行检验:根据预测变量值分组的响应值是从具有相同均值的总体中抽取的;而对总体均值不完全相同的备择假设进行检验。

例如,参见函数参考页fsrftest

fsrnca 回归 连续的特性

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

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

fsulaplacian. 无监督学习 连续的特性

使用拉普拉斯算子的分数

例如,参见函数参考页fsulaplacian.

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

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

例如,参见函数参考页refieff.

sequentialfs 分类和回归 要么是所有的分类特征要么是所有的连续特征

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

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

包装器类型特征选择

函数 万博1manbetx支持问题 万博1manbetx支持的数据类型 描述
sequentialfs 分类和回归 要么是所有的分类特征要么是所有的连续特征

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

例如,参见函数参考页sequentialfs和这些主题:

嵌入式功能选择

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

创建线性判别分析分类器使用fitcdiscr..一个经过训练的分类器,返回为ClassificationDiscriminant,将系数大小存储在DeltaPredictor财产。中使用的值DeltaPredictor作为预测器重要性的度量。该分类器使用两个正则化参数γ和δ识别和删除冗余预测器。属性获取这些参数的适当值cvshrink函数或“OptimizeHyperparameters”名称-值对的论点。

例如,请看以下主题:

fitcecoctemplateLinear 基于高维数据的多类学习线性分类 连续的特性

用该方法训练线性分类模型fitcecoc线性二元学习者由templateLinear.指定“正规化”templatelinear作为“套索”使用套索正规化。

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

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

用该方法训练线性分类模型fitclinear.指定“正规化”fitclinear作为“套索”使用套索正规化。

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

fitrgp 回归 分类和连续特征

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

例如,请看以下主题:

fitrlinear 高维数据的线性回归 连续的特性

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

例如,请看以下主题:

套索 线性回归 连续的特性

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

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

lassoglm 广义线性回归 连续的特性

用。训练广义线性回归模型套索正则化使用lassoglm.你可以指定重量的套索与脊优化使用“α”名称-值对的论点。

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

oobPermutedPredictorImportance* *的ClassificationBaggedEnsemble 使用集合袋装决策树(例如,随机森林)进行分类 分类和连续特征

利用树学习器训练袋式分类集成fitcensemble并指定“方法”作为'包'.然后,用oobPermutedPredictorImportance来计算出袋,通过排列的预测重要性估计.该函数衡量的是模型中的预测变量在预测响应方面的影响力。

有关示例,请参阅函数参考页面和主题oobPermutedPredictorImportance

oobPermutedPredictorImportance* *的RegressionBaggedEnsemble 使用集合袋装决策树(例如,随机森林)进行回归 分类和连续特征

通过使用树学习器训练袋式回归集成fitrensemble并指定“方法”作为'包'.然后,用oobPermutedPredictorImportance来计算出袋,通过排列的预测重要性估计.该函数衡量的是模型中的预测变量在预测响应方面的影响力。

例如,参见函数参考页oobPermutedPredictorImportance为随机森林选择预测器

predictorImportance* *的ClassificationEnsemble 基于决策树集成的分类 分类和连续特征

利用树式学习器训练分类集成fitcensemble.然后,用predictorImportance来计算预测的重要性对每个预测器上的分裂导致的风险变化求和,然后除以分支节点的数量。

例如,参见函数参考页predictorImportance

predictorImportance* *的ClassificationTree. 用决策树进行分类 分类和连续特征

用。训练分类树fitctree.然后,用predictorImportance来计算预测的重要性对每个预测器的分割导致的风险变化求和,然后除以分支节点的数量。

例如,参见函数参考页predictorImportance

predictorImportance* *的RegressionEnsemble 回归与决策树集成 分类和连续特征

通过使用树学习器训练回归集成fitrensemble.然后,用predictorImportance来计算预测的重要性对每个预测器上的分裂导致的风险变化求和,然后除以分支节点的数量。

例如,参见函数参考页predictorImportance

predictorImportance* *的RegressionTree 带有决策树的回归 分类和连续特征

训练一个回归树使用fitrtree.然后,用predictorImportance来计算预测的重要性对每个预测器的分割导致的均方误差(MSE)的变化求和,然后除以分支节点的数量。

例如,参见函数参考页predictorImportance

stepwiseglm*** 广义线性回归 分类和连续特征

利用逐步回归法拟合广义线性回归模型stepwiseglm.或者,您可以通过使用fitglm然后对模型进行调整一步.逐步回归是在解释响应变量时,根据变量的统计显著性在模型中添加项和删除项的系统方法。

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

stepwiselm*** 线性回归 分类和连续特征

利用逐步回归法拟合线性回归模型stepwiselm.或者,您可以通过使用fitlm然后对模型进行调整一步.逐步回归是在解释响应变量时,根据变量的统计显著性在模型中添加项和删除项的系统方法。

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

**对于基于树的算法,指定“PredictorSelection”作为“interaction-curvature”使用交互检验来选择最佳的分裂预测器。交互测试是有用的,在存在许多不相关的变量时识别重要的变量。此外,如果训练数据包含许多预测器,则指定“NumVariablesToSample”作为“所有”进行训练。否则,软件可能不会选择一些预测器,低估它们的重要性。有关详细信息,请参见fitctreefitrtree,templateTree

***stepwiseglmstepwiselm不是包装器类型函数,因为您不能将它们用作另一个培训函数的包装器。然而,这两个函数使用包装器类型算法来寻找重要的特征。

参考

Guyon, Isabelle和A. Elisseeff。“介绍变量和功能选择。”机器学习研究杂志。Vol. 3, 2003, pp. 1157-1182。

另请参阅

(生物信息学工具箱)

相关的话题