连续的特征选择使用自定义标准
inmodel = sequentialfs(有趣,X, y)
inmodel = sequentialfs(有趣,X, Y, Z,…)
[inmodel、历史]= sequentialfs(有趣,X,…)
[]= sequentialfs (…param1
,val1
,param2
,val2
,……)
inmodel = sequentialfs(有趣,X, y)
选择一个数据矩阵的特征子集X
最好的预测数据y
通过按顺序选择功能,直到没有改善预测。行X
对应于观测;列对应变量或特性。y
是一个列向量的响应值或类标签对每个观察X
。X
和y
必须有相同数量的行。有趣的
是一个函数处理函数,定义了标准用于选择特性和确定何时停止。输出inmodel
是一个逻辑向量表示特性最终选择。
从一个空的特性集,sequentialfs
产生候选特征子集的顺序添加的每个特性尚未选定。对于每一个候选特征子集,sequentialfs
通过反复调用执行10倍交叉验证有趣的
不同的训练的子集X
和y
,XTRAIN
和ytrain
和测试的子集X
和y
,XTEST
和欧美
,如下所示:
标准=乐趣(XTRAIN、ytrain XTEST、欧美)
XTRAIN
和ytrain
包含相同的行子集X
和Y
,而XTEST
和欧美
包含互补的行子集。XTRAIN
和XTEST
包含的列的数据X
对应于当前候选特征集。
每一次,有趣的
必须返回标量值吗标准
。通常情况下,有趣的
使用XTRAIN
和ytrain
火车或适应一个模型,然后预测的值XTEST
使用这种模式,最后返回一定的距离,或者损失这些预测值欧美
。交叉验证计算给定候选特征集,sequentialfs
返回的值有趣的
和分裂的总数和测试观察。然后使用平均值来评估每个候选特征子集。
典型的损失措施包括回归模型的平方误差的总和(sequentialfs
在这种情况下计算均方误差),观察对分类模型(分类错误的数量sequentialfs
计算这种情况下的误分类率)。
请注意
sequentialfs
将返回的值的总和有趣的
在所有测试集的总数测试观察。因此,有趣的
不应将其输出值除以试验观测的数量。
后计算均值标准
值为每个候选特征子集,sequentialfs
选择候选特征子集最小化准则的平均值。这一过程持续进行直到添加更多的功能不降低标准。
inmodel = sequentialfs(有趣,X, Y, Z,…)
允许任意数量的输入变量X
,Y
,Z
,……。sequentialfs
只选择特性(列)X
,但在其他方面强加任何解释X
,Y
,Z
,……。所有数据输入,是否列向量或矩阵,必须有相同数量的行。sequentialfs
调用有趣的
训练和测试的子集X
,Y
,Z
,……如下:
标准=乐趣(XTRAIN YTRAIN ZTRAIN,…,欧美XTEST中兴,…)
sequentialfs
创建XTRAIN
,YTRAIN
,ZTRAIN
,……,XTEST
,欧美
,中兴通讯
,……通过选择的行子集X
,Y
,Z
,……。有趣的
必须返回标量值吗标准
以任何方式,但可能计算这个值。元素的逻辑向量inmodel
对应的列X
并指出哪些特性最终选择。
[inmodel、历史]= sequentialfs(有趣,X,…)
返回信息功能是选择的每一步。历史
是一个标量结构有以下字段:
暴击
——一个向量包含标准的值计算每一步。
在
——一个逻辑矩阵的行我
显示的特性选择步骤我
。
[]= sequentialfs (…
指定可选参数从下表名称/值对。param1
,val1
,param2
,val2
,……)
参数 | 价值 |
---|---|
“简历” |
验证方法用于计算每个候选人的标准特征子集。
默认值是 所谓的包装方法使用一个函数 |
“mcreps” |
一个正整数表示的数量蒙特卡罗重复交叉验证。默认值是 |
“方向” |
顺序搜索的方向。默认值是 |
“keepin” |
一个逻辑向量或一个向量的列必须包含数字指定特性。默认是空的。 |
“禁入” |
一个逻辑向量或一个向量的列数字指定的特性必须被排除在外。默认是空的。 |
“nfeatures” |
特征的数量 |
“nullmodel” |
一个逻辑值,指示是否零模型(不含特性 |
“选项” |
选择结构迭代顺序搜索算法,由
你需要并行计算,并行计算工具箱™。 |
执行顺序的分类特征选择嘈杂的特点:
负载fisheriris rng(“违约”)%的再现性X = randn (150, 10);X(:[1 3 5 7]) =量;y =物种;c = cvpartition (y,“k”, 10);选择= statset(“显示”、“iter”);XT有趣= @ (XT,欧美,欧美)损失(fitcecoc (XT,欧美),XT,欧美);[fs,历史]= sequentialfs(有趣,X, y,“简历”,c,“选项”,选择)开始向前连续特征选择:最初的列包括:没有列不能包括:步骤1,添加列5、准则值0.00266667步骤2,添加列7,则价值0.00222222步骤3,添加列1,标准价值0.00177778步骤4,第三列,则价值0.000888889最后一列包括:1 3 5 7 fs = 1×10逻辑数组1 0 1 0 1 0 1 0 0 0 =历史结构体字段::[4×10逻辑]暴击:[0.0027 0.0022 0.0018 8.8889 e-04)的历史。逻辑阵列ans = 4×10 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0 1 0 1 0 0 0