特征选择__包裹型

包裹型--递归特征删除算法

把特征选择看做一个特征子集搜索问题,筛选各种特征子集,用模型评估效果。 典型的包裹型算法为 “递归特征删除算法”(recursive feature elimination algorithm)

比如用逻辑回归,怎么做这个事情呢?

  • 用全量特征跑一个模型
  • 根据线性模型的系数(体现相关性),删掉5-10%的弱特征,观
    察准确率/auc的变化
  • 逐步进行,直至准确率/auc出现大的下滑停止
from sklearn.feature_selection import RFE
from sklearn.linear_model import LogisticRegression
lg = LogisticRegression()
rfe = RFE(lg,n_features_to_select=2)
rfe.fit(data,target)
# names = db['feature_names']
# names为方差名称 ,round函数,保留函数
sorted(zip(map(lambda x:round(x,4),rfe.ranking_),names))

你可能感兴趣的:(特征选择__包裹型)