什么是SBS
SBS是减少数据维度的最佳解决方案,它能够实现将数据的特征维度从m降到k的功能
SBS原理
- 降低一个维度,使用剩下的维度进行预测,获得结果分数
- 重置维度,重复第一步,其中降低另一个维度,直到获得了所有的降低其中一个维度获得的分数
- 选择第二步中得分最高的组合
- 检查当前数据维度k是否等于目标维度,如果等于,当前特征组合则为目标特征组合,否则从第一步重新开始
总得来说就是递减维度,每次递减获取评估分数最高的维度组合
源码
代码来自python machine learning 3rd,我只是添加了很多注释,便于理解,注释英文很简单
class SBS(object):
def __init__(self, estimator, k_features, scoring=accuracy_score, test_size=0.25, random_state=1):
self.scoring = scoring # scoring function. usually: accuracy_score func in sklearn
self.estimator = estimator # usually sklearn estimator, e.g. RandomForestClassifer
self.k_features = k_features # your target dimension
self.test_size = test_size # array like or tuple: indices for test sets in dataset
self.random_state &#

SBS是一种有效的降维方法,通过逐步减少特征并评估预测效果,选取最佳特征组合。本文介绍SBS原理,并提供来自《Python Machine Learning 3rd》的源码,适合学习Python和机器学习。
最低0.47元/天 解锁文章

4098

被折叠的 条评论
为什么被折叠?



