python特征筛选包_如何在python的sklearn中使用gridsearchcv进行特征选择

基本上,在使用递归特征消除(交叉验证)进行特征选择之后,您需要微调分类器的超参数(使用交叉验证)。在

Pipeline对象正是用于组装数据转换和应用估计器的目的。在

可能您可以使用不同的模型(GradientBoostingClassifier,等等)进行最终分类。可以采用以下方法:from sklearn.datasets import load_breast_cancer

from sklearn.feature_selection import RFECV

from sklearn.model_selection import GridSearchCV

from sklearn.model_selection import train_test_split

from sklearn.ensemble import RandomForestClassifier

X, y = load_breast_cancer(return_X_y=True)

X_train, X_test, y_train, y_test = train_test_split(X, y,

test_size=0.33,

random_state=42)

from sklearn.pipeline import Pipeline

#this is the classifier used for feature selection

clf_featr_sele = RandomForestClassifier(n_estimators=30,

random_state=42,

class_weight="balanced")

rfecv = RFECV(estimator=clf_featr_sele,

step=1,

cv=5,

scoring = 'roc_auc')

#you can have different classifier for your final classifier

clf = RandomForestClassifier(n_estimators=10,

random_state=42,

class_weight="balanced")

CV_rfc = GridSearchCV(clf,

param_grid={'max_depth':[2,3]},

cv= 5, scoring = 'roc_auc')

pipeline = Pipeline([('feature_sele',rfecv),

('clf_cv',CV_rfc)])

pipeline.fit(X_train, y_train)

pipeline.predict(X_test)

现在,您可以将此管道(包括特性选择)应用于测试数据。在

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值