本科论文建模 - Stacking 集成学习电诈预警模型 Python 实现(纯复现,无自研)
任务类型
Python 机器学习 / 论文实验复现 / 分类模型开发
交付时间
3 天内完成(越快越好,预留 1 天调试时间)
需求背景
本科毕业论文《基于集成学习与多源数据融合的电诈预警模型研究与系统实现》建模环节,严格按论文既定逻辑、参数复现实验,无需自研算法,数据已预处理完成,建模结果直接用于论文实验章节,要求代码可一键运行、结果贴合论文结论。
核心建模要求(无自主发挥空间,严格按此执行)
一、数据处理
我提供 CSV 格式数据(17 个核心融合特征 + 1 个 label 标签列,0 = 正常样本、1 = 涉诈样本,非平衡分布,已完成缺失值 / 异常值处理、编码 / 标准化);
按 7:3 划分训练集 / 测试集,必须用stratify=y保证样本比例一致,直接读取数据建模,无需额外预处理。
二、模型实现(参数固定,不得修改)
基础模型:实现随机森林、XGBoost、LightGBM,参数严格按论文最优值:
随机森林:n_estimators=150,max_depth=7,min_samples_split=2,random_state=42;
XGBoost:learning_rate=0.1,n_estimators=100,max_depth=5,reg_lambda=0.5,objective="binary:logistic",random_state=42;
LightGBM:learning_rate=0.1,n_estimators=100,max_depth=5,reg_lambda=0.5,objective="binary",random_state=42。
集成策略:Stacking 两层集成,元模型为逻辑回归(C=1.0,solver="liblinear",random_state=42);
核心步骤:基础模型输出测试集涉诈概率(predict_proba [:,1]),拼接为元模型输入特征,训练后输出最终预测标签。
三、结果输出
计算 4 个模型(RF/XGBoost/LightGBM/Stacking)的准确率、召回率、精确率、F1 分数,结果保留 2 位小数,转百分比形式;
按以下格式输出指标对比表(文本版,可直接复制到论文):
| 模型 | 准确率 | 召回率 | 精确率 | F1 分数 |
|-------------|---------|---------|---------|---------|
| 随机森林 | XX.XX% | XX.XX% | XX.XX% | XX.XX% |
| XGBoost | XX.XX% | XX.XX% | XX.XX% | XX.XX% |
| LightGBM | XX.XX% | XX.XX% | XX.XX% | XX.XX% |
| Stacking | XX.XX% | XX.XX% | XX.XX% | XX.XX% |
要求Stacking 模型各项指标均优于单一基础模型,贴合论文集成模型性能更优的结论。
交付物要求(缺一不可,验收核心依据)
可运行 Python 源码:注释清晰(标注数据划分、模型定义、Stacking 融合、指标计算等关键步骤),仅需修改 CSV 路径即可运行,无报错、无冗余代码,适配 Anaconda3;
结果文件:指标对比表(TXT/MD 格式)、代码运行全程截图(证明可正常运行);
可视化图:2 张基础图(特征重要性柱状图、4 模型指标对比柱状图),图片清晰,可直接插入论文;
简易运行说明:图文版(1-2 页),标注运行环境(Anaconda3/Python3.8+)、所需库、仅需修改的参数、一键运行步骤(适配 Python 零基础);
1 次免费调试:解决运行中简单问题(如路径报错、库版本适配等)。
运行环境要求
适配 Anaconda3(Python3.8 及以上),仅使用常规库:pandas、numpy、scikit-learn、xgboost、lightgbm;
无需 GPU,普通 CPU(i5 及以上)、16G 内存即可,训练耗时控制在 30 分钟内。
验收标准
代码可按说明一键运行,无报错、无逻辑问题;
指标对比表结果符合要求,Stacking 模型指标最优;
可视化图清晰可用,运行说明易懂,零基础可操作;
交付物完整,按要求解决简单运行问题。