电信客户流失预测挑战赛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