task3-模型融合

task3-模型融合

刚刚看点评才发现,特征工程的评分出错了,这里把逻辑回归作为元模型了。

from sklearn.linear_model import LogisticRegression
from sklearn import svm
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier,GradientBoostingClassifier
from xgboost.sklearn import XGBClassifier
from lightgbm.sklearn import LGBMClassifier
from mlxtend.classifier import StackingClassifier

from sklearn.model_selection import cross_val_score

lr   = LogisticRegression(C = 0.1, penalty = 'l1')
sm   = svm.SVC(C = 0.1, kernel = 'linear')
tr   = DecisionTreeClassifier(max_depth=5,min_samples_split=50,min_samples_leaf=60, max_features=9, random_state =2333)
rfc  = RandomForestClassifier(n_estimators=500,max_depth=5, random_state=2333)
gbdtc= GradientBoostingClassifier(n_estimators= 250, subsample=0.9,random_state=2333)
xgbc = XGBClassifier(max_depth=3, min_child_weight=5)
lgbc = LGBMClassifier( max_depth=3, min_child_weight=11)

sclf = StackingClassifier(classifiers=[sm, tr, rfc, gbdtc, xgbc,lgbc], 
                          meta_classifier=lr)

print('5-fold cross validation:\n')
 
for clf, label in zip([sm, tr, rfc, gbdtc, xgbc,lgbc,sclf], 
                      ['svm.SVC_linear', 
                       'DecisionTree',
                       'RandomForestClassifier',
                       'GradientBoosting',
                       'xgb.XGBClassifier',
                       'lgb.LGBMClassifier', 
                       'StackingClassifier',
                      ]):
    scores = cross_val_score(clf, X_train, y_train, 
                                              cv=5, scoring='accuracy')
    print("Accuracy: %0.2f (+/- %0.2f) [%s]" 
          % (scores.mean(), scores.std(), label))

在这里插入图片描述
另外三个模型得分是:
0.79 [xgb.XGBClassifier]
0.79 [lgb.LGBMClassifier]
0.79 [StackingClassifier]

参考:https://yezuolin.com/2018/11/Stacking/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值