本主题介绍了特征选择算法,并描述了统计和机器学习工具箱™中可用的特征选择功能。
功能选择通过只选择一个被测量特征的子集(预测变量)来创建一个模型来降低数据的维数。特征选择算法根据要求或排除的特征和子集的大小等约束条件,搜索预测器的子集,以最优模型衡量响应。特征选择的主要好处是提高预测性能,提供更快、更经济的预测器,以及更好地理解数据生成过程[1].使用过多的特征会降低预测性能,即使所有特征都是相关的,并且包含有关响应变量的信息。
您可以将特征选择算法分为三种类型:
过滤型功能选择- 过滤器类型特征选择算法根据特征的特征来测量特征重要性,例如特征方差和与响应的功能相关性。您选择重要的功能作为数据预处理步骤的一部分,然后使用所选功能培训模型。因此,过滤器类型特征选择与训练算法不相关。
包装型功能选择-包装器类型的特征选择算法使用特征子集开始训练,然后使用选择标准添加或删除一个特征。选择标准直接度量由于添加或删除一个特性而导致的模型性能的变化。该算法重复训练和改进模型,直到满足其停止准则。
嵌入式类型特征选择-嵌入式类型特征选择算法学习特征的重要性作为模型学习过程的一部分。一旦你训练了一个模型,你就得到了训练模型中特征的重要性。这种类型的算法选择与特定学习过程配合良好的特征。
此外,还可以根据特征排序的顺序对特征选择算法进行分类。最小冗余最大关联(MRMR)算法和逐步回归算法是序列特征选择算法的两个例子。有关详细信息,请参见连续的特征选择.
通过创建部分依赖图(PDP)和个体条件期望图(ICE),您可以直观地比较预测变量的重要性。有关详细信息,请参见plotPartialDependence
.
对于分类问题,在选择特征之后,您可以训练两个模型(例如,一个完整的模型和一个用预测器子集训练的模型),并通过使用CompareHoldout.
那testcholdout.
,或testckfold
功能。
当原始特征及其单元是重要的,建模目标是识别有影响的子集时,特征选择优于特征转换。当类别特征存在且数值转换不合适时,特征选择成为降维的主要手段。
统计和机器学习工具箱提供了几个功能的特征选择。根据您的问题和特征的数据类型选择适当的特征选择功能。
函数 | 万博1manbetx支持问题 | 万博1manbetx支持的数据类型 | 描述 |
---|---|---|---|
fscchi2 |
分类 | 分类和连续特征 | 使用个人卡方检验检验每个预测变量是否独立于一个响应变量,然后使用P.-卡方检验统计量的值。 有关示例,请参阅“功能参考”页面 |
fscmrmr |
分类 | 分类和连续特征 | 有关示例,请参阅“功能参考”页面 |
FSCNCA * |
分类 | 连续特点 | 利用对角自适应邻域成分分析(NCA)确定特征权重。该算法最适合估算基于距离的监督模型的特征重要性,该模型在观察之间使用成对距离来预测响应。 具体请参见功能参考页面 |
FSRFTEST. |
回归 | 分类和连续特征 | 用一个变量来检验每个预测器的重要性F-test,然后使用P.值的F以及统计数据。每一个F- 测试测试通过与替代假设的相同均值的群体中绘制了预测器变量值的响应值的假设,即人口意味着并不相同。 有关示例,请参阅“功能参考”页面 |
fsrnca * |
回归 | 连续特点 | 利用对角自适应邻域成分分析(NCA)确定特征权重。该算法最适合估算基于距离的监督模型的特征重要性,该模型在观察之间使用成对距离来预测响应。 具体请参见功能参考页面 |
fsulaplacian |
无监督学习 | 连续特点 | 使用拉普拉斯算子的分数. 有关示例,请参阅“功能参考”页面 |
relieff |
分类和回归 | 要么是所有的分类特征要么是所有的连续特征 | 使用ReliefF分类算法和分类算法rrelieff.回归算法。该算法最适合估算基于距离的监督模型的特征重要性,该模型在观察之间使用成对距离来预测响应。 有关示例,请参阅“功能参考”页面 |
sequentialfs |
分类和回归 | 要么是所有的分类特征要么是所有的连续特征 | 使用自定义标准顺序选择特性。定义测量数据特性以选择要素的函数,并将功能句柄传递给 |
*你也可以考虑FSCNCA
和fsrnca
作为嵌入式类型特征选择函数,因为它们返回一个经过训练的模型对象,您可以使用对象函数预测
和损失
.但是,通常使用这些对象函数来优化算法的正则化参数。选择功能后使用FSCNCA
或fsrnca
函数作为数据预处理步骤的一部分,则可以针对您的问题应用另一种分类或回归算法。
函数 | 万博1manbetx支持问题 | 万博1manbetx支持的数据类型 | 描述 |
---|---|---|---|
sequentialfs |
分类和回归 | 要么是所有的分类特征要么是所有的连续特征 | 使用自定义标准顺序选择特性。定义实现有监督学习算法的函数或度量学习算法性能的函数,并将函数句柄传递给 有关示例,请参阅“功能参考”页面 |
函数 | 万博1manbetx支持问题 | 万博1manbetx支持的数据类型 | 描述 |
---|---|---|---|
DeltaPredictor A的财产ClassificationDiscriminant 模型对象 |
线性判别分析分类 | 连续特点 | 通过使用创建线性判别分析分类器 例如,请看以下主题: |
fitcecoc 和templateLinear |
基于高维数据的多类学习线性分类 | 连续特点 | 用该方法训练线性分类模型 例如,请参见使用交叉验证找到好的套索惩罚.这个例子通过使用不同的强度值评估模型来确定一个好的套索惩罚强度 |
fitclinear |
基于高维数据的二元学习线性分类 | 连续特点 | 用该方法训练线性分类模型 例如,请参见使用交叉验证的AUC找到良好的套索惩罚.该示例通过使用AUC值评估具有不同强度值的模型来确定良好的租赁状态。使用使用来计算交叉验证的后级概率 |
fitrgp |
回归 | 分类和连续特征 | 通过使用培训高斯过程回归(GPR)模型 例如,请看以下主题: |
Fitrinear. |
具有高维数据的线性回归 | 连续特点 | 通过使用培训线性回归模型 例如,请看以下主题: |
套索 |
线性回归 | 连续特点 | 用。训练线性回归模型套索使用使用正常化 有关示例,请参阅“功能参考”页面 |
lassoglm. |
广义线性回归 | 连续特点 | 用。训练广义线性回归模型套索使用使用正常化 具体请参见功能参考页面 |
OobpermutedPredictorimportance. * *的ClassificationBaggedEnsemble |
使用集合袋装决策树(例如,随机森林)进行分类 | 分类和连续特征 | 利用树学习器训练袋式分类集成 有关示例,请参阅“功能参考”页面和主题 |
OobpermutedPredictorimportance. * *的RegressionBaggedEnsemble |
使用集合袋装决策树(例如,随机森林)进行回归 | 分类和连续特征 | 通过使用树学习器训练袋式回归集成 有关示例,请参阅“功能参考”页面 |
预测的重要性 * *的ClassificationEnsemble |
基于决策树集成的分类 | 分类和连续特征 | 利用树式学习器训练分类集成 有关示例,请参阅“功能参考”页面 |
预测的重要性 * *的ClassificationTree |
用决策树进行分类 | 分类和连续特征 | 用。训练分类树 有关示例,请参阅“功能参考”页面 |
预测的重要性 * *的回归 |
回归决策树的集合 | 分类和连续特征 | 通过使用培训与树学习者的回归集合 有关示例,请参阅“功能参考”页面 |
预测的重要性 * *的RegressionTree |
带有决策树的回归 | 分类和连续特征 | 使用培训回归树 有关示例,请参阅“功能参考”页面 |
stepwiseglm *** |
广义线性回归 | 分类和连续特征 | 利用逐步回归法拟合广义线性回归模型 具体请参见功能参考页面 |
stepwiselm *** |
线性回归 | 分类和连续特征 | 利用逐步回归法拟合线性回归模型 具体请参见功能参考页面 |
**对于基于树的算法,指定'预测圈'
作为'互动曲率'
使用交互测试选择最佳分割预测器。相互作用测试可用于在许多无关变量存在下识别重要变量。此外,如果训练数据包括许多预测因子,则指定“NumVariablesToSample”
作为'全部'
进行训练。否则,软件可能不会选择一些预测器,低估它们的重要性。有关详细信息,请参见fitctree
那fitrtree
,templateTree
.
***stepwiseglm
和stepwiselm
不是包装器类型函数,因为您不能将它们用作另一个培训函数的包装器。然而,这两个函数使用包装器类型算法来寻找重要的特征。
Guyon, Isabelle和A. Elisseeff。“介绍变量和功能选择。”机器学习研究杂志。卷。3,2003,第1157-1182页。
rankfeatures
(生物信息学工具箱)