医疗保险欺诈识别监测系统
情境
医保欺诈每年造成巨额基金损失,而传统人工抽单审核效率低、漏报率高。当前欺诈手段日益隐蔽复杂,需要一套自动化、智能化的监测系统来提高识别效率与准确性。
任务
我所在的青山队(全国大学生服务外包创新创业大赛队伍)需构建一套网页版医保欺诈识别监测系统:用机器学习对海量医保数据挖掘建模型,准确识别潜在欺诈并预警,同时提供用户友好的数据上传、模型运行与结果展示界面。
行动
在后端侧,我负责整体服务器架构与 API 层:搭建 Django 项目、完成各功能模块开发与测试,通过宝塔面板结合 Nginx + uWSGI 部署至阿里云服务器,支撑前端与机器学习模块间的数据共享。算法侧对比了逻辑回归、KNN、SGD、朴素贝叶斯、SVM 等 6 种分类器,最终选用 GradientBoostingClassifier,配套 SMOTE 过采样解决极不平衡样本、min-max 归一化加速训练、并保留异常值(分析发现异常值常是判断骗保的关键信号)。
结果
- 采用 SMOTE 后模型测试召回率从 0.7065 提升至 0.9508,F1 分数从 0.5327 提升至 0.9590
- Gradient Boosting 实测准确率最高约 0.9681,稳态运行稳定
- 完成前后端联调与生产环境部署,系统可上传数据、运行模型并直观展示识别结果
- 项目获全国大学生服务外包创新创业大赛全国三等奖
反思
这个项目让我第一次完整经历了从数据建模到工程化部署的全流程,也深刻体会到保留异常值这类反直觉决策背后的数据洞察。作为后端负责人,我最深的收获是:模型再准,若没有稳定可靠的工程骨架支撑,也无法在真实场景落地。
架构
技术栈
Pythonscikit-learnGradient BoostingSMOTEDjangoJavaScriptSQLiteNginxuWSGI
关键权衡
- 选择 Gradient Boosting 而非神经网络 / 线性模型:在可解释性、鲁棒性与预测精度间取得平衡,更适合医保反欺诈这类非线性强、需向监管解释判定的场景
- 异常值不做清洗而保留:经验证处理后骗保召回率反而下降,反常数据(如极端就诊费用)往往是识别欺诈的关键信号
- 选用 min-max 而非 Z-score 归一化:两者精度一致,但前者训练与预测耗时仅为其二分之一
个人贡献
后端开发:构建弹性可扩展的服务器架构,保障 API 高性能与安全性,打通前端与机器学习模块的数据链路