主要内容

特征选择简介

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

特征选择算法

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

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

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

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

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

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

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

对于分类问题,选择特征后,可以训练两个模型(例如,完整模型和使用预测子集训练的模型),并使用compareHoldout,testcholdouttestckfold功能。

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

特征选择功能

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

过滤器类型特征选择

函数 金宝app支持问题 金宝app支持的数据类型 描述
fscchi2 分类 范畴特征和连续特征

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

有关示例,请参见函数参考页fscchi2

fscmrmr 分类 范畴特征和连续特征

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

有关示例,请参见函数参考页fscmrmr

fscnca* 分类 连续的特性

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

具体操作请参见功能参考页面fscnca这些主题包括:

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

使用一个简单的方法分别检查每个预测值的重要性F-test,然后使用P值的F以及统计数据。每一个F-测试测试了由预测变量值分组的响应值来自具有相同平均值的总体的假设,与总体平均值不完全相同的替代假设相反。

有关示例,请参见函数参考页fsrftest

fsrnca* 回归 连续的特性

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

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

fsulaplacian 无监督学习 连续的特性

使用拉普拉斯算子的分数

有关示例,请参见函数参考页fsulaplacian

relieff 分类与回归 所有分类特征或所有连续特征

使用救济分类算法及其应用瑞利夫回归算法。该算法最适合估计基于距离的监督模型的特征重要性,该模型使用观测值之间的成对距离来预测响应。

有关示例,请参见函数参考页relieff

sequentialfs 分类与回归 所有分类特征或所有连续特征

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

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

包装器类型特征选择

函数 金宝app支持问题 金宝app支持的数据类型 描述
sequentialfs 分类与回归 所有分类特征或所有连续特征

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

有关示例,请参见函数参考页sequentialfs这些主题包括:

嵌入式类型特征选择

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

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

例如,请参阅以下主题:

fitcecoc模板线性 用高维数据进行多类学习的线性分类 连续的特性

利用。训练线性分类模型fitcecoc线性二元学习者定义为模板线性.指定“正规化”templatelinear“套索”使用套索正规化。

例如,请参见使用交叉验证找到好的套索惩罚. 本例通过使用不同的强度值来评估模型,从而确定好的套索惩罚强度kfoldLoss.您还可以使用kfoldEdge,kfoldMargin,边缘,损失边缘

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

利用。训练线性分类模型fitclinear.指定“正规化”fitclinear“套索”使用套索正规化。

例如,请参见使用交叉验证的AUC找到好的套索惩罚. 本例通过使用AUC值评估具有不同强度值的模型来确定良好的套索惩罚强度。使用kfoldPredict,并使用perfcurve.您还可以使用kfoldEdge,kfoldLoss,kfoldMargin,边缘,损失,边缘预测

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

利用该方法训练高斯过程回归(GPR)模型fitrgp. 设定“KernelFunction”名称-值对参数使用自动相关性确定(ARD)。可用的选项是“ardsquaredexponential”,“ardexponential”,“ardmatern32”,“ardmatern52”,“理性二次”.通过取负学习长度尺度的指数来找到预测权值,存储在核信息财产。

例如,请参阅以下主题:

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

利用遗传算法训练线性回归模型fitrlinear.指定“正规化”fitrlinear“套索”使用套索正规化。

例如,请参阅以下主题:

套索 线性回归 连续的特性

用。训练线性回归模型套索应用正则化套索. 您可以使用“α”名称-值对参数。

有关示例,请参见函数参考页套索这些主题包括:

拉索格姆 广义线性回归 连续的特性

用。训练广义线性回归模型套索应用正则化拉索格姆. 您可以使用“α”名称-值对参数。

具体操作请参见功能参考页面拉索格姆这些主题包括:

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

使用树学习器训练袋式分类集成菲特森布尔并指定“方法”“包”.然后,用oobPermutedPredictorImportance计算out - bag, Predictor Importance estimate by Permutation.该函数测量模型中的预测变量在预测响应方面的影响程度。

例如,请参阅函数参考页面和主题oobPermutedPredictorImportance

oobPermutedPredictorImportance* *的RegressionBaggedEnsemble 使用袋装决策树(例如,随机森林)集成的回归 范畴特征和连续特征

使用树学习器训练袋式回归集成fitrensemble并指定“方法”“包”.然后,用oobPermutedPredictorImportance计算out - bag, Predictor Importance estimate by Permutation.该函数测量模型中的预测变量在预测响应方面的影响程度。

有关示例,请参见函数参考页oobPermutedPredictorImportance选择随机森林的预测器

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

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

有关示例,请参见函数参考页预测重要性

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

通过使用fitctree.然后,用预测重要性估算预测的重要性通过对每个预测器的分裂所造成的风险变化进行求和,并除以分支节点的数量,对树进行求和。

有关示例,请参见函数参考页预测重要性

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

通过使用fitrensemble.然后,用预测重要性估算预测的重要性通过对每个预测器的分裂所造成的风险变化进行求和,并除以分支节点的数量来进行集成。

有关示例,请参见函数参考页预测重要性

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

使用fitrtree.然后,用预测重要性估算预测的重要性对于树,将由于每个预测器上的分裂而导致的均方误差(MSE)的变化相加,并将总和除以分支节点的数量。

有关示例,请参见函数参考页预测重要性

逐步GLM*** 广义线性回归 范畴特征和连续特征

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

具体操作请参见功能参考页面逐步GLM这些主题包括:

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

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

具体操作请参见功能参考页面stepwiselm这些主题包括:

**对于基于树的算法,指定“PredictorSelection”“interaction-curvature”使用交互测试选择最佳分割预测值。交互测试有助于在存在许多不相关变量的情况下识别重要变量。此外,如果训练数据包含许多预测值,则指定“NumVariablesToSample”“所有”用于培训。否则,软件可能不会选择一些预测因子,低估了它们的重要性。有关详细信息,请参阅fitctree,fitrtree,templateTree

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

参考文献

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

另请参阅

(生物信息学工具箱)

相关的话题