其他分享
首页 > 其他分享> > 电信客户流失预测挑战赛baseline分析

电信客户流失预测挑战赛baseline分析

作者:互联网

1、使用了五折

kf = KFold(n_splits=folds, shuffle=True, random_state=seed)

2、lgbm的结果最好,训练速度相比于xgb和cat也比较快

 train_matrix = clf.Dataset(trn_x, label=trn_y)
            valid_matrix = clf.Dataset(val_x, label=val_y)

            params = {
                'boosting_type': 'gbdt',
                'objective': 'binary',
                'metric': 'auc',
                'min_child_weight': 5,
                'num_leaves': 2 ** 5,
                'lambda_l2': 10,
                'feature_fraction': 0.7,
                'bagging_fraction': 0.7,
                'bagging_freq': 10,
                'learning_rate': 0.2,
                'seed': 2022,
                'n_jobs':-1
            }

            model = clf.train(params, train_matrix, 50000, valid_sets=[train_matrix, valid_matrix], 
                              categorical_feature=[], verbose_eval=3000, early_stopping_rounds=200)
            val_pred = model.predict(val_x, num_iteration=model.best_iteration)
            test_pred = model.predict(test_x, num_iteration=model.best_iteration)
            
            print(list(sorted(zip(features, model.feature_importance("gain")), key=lambda x: x[1], reverse=True))[:20])

3、对每一折中,预测测试集后的结果除以5,每一折都加上之前折结果和。

4、baseline结果

 

 5、简单的三个模型融合平均,结果会降低

 

 普通的融合使得错误预测的结果增加,lgbm的训练验证结果是最好的,使用三者平均之后,没有提高性能,这个问题还在考虑。

6、需要把重心放在特征工程上。

标签:baseline,val,clf,iteration,流失,train,挑战赛,model,matrix
来源: https://www.cnblogs.com/zhong-minghao/p/16376944.html