医疗保险欺诈识别监测系统

2024-04 团队 团队 5 人 已完成

基于机器学习 + Django 的医保反欺诈一体化 Web 平台

情境

医保欺诈每年造成巨额基金损失,而传统人工抽单审核效率低、漏报率高。当前欺诈手段日益隐蔽复杂,需要一套自动化、智能化的监测系统来提高识别效率与准确性。

任务

我所在的青山队(全国大学生服务外包创新创业大赛队伍)需构建一套网页版医保欺诈识别监测系统:用机器学习对海量医保数据挖掘建模型,准确识别潜在欺诈并预警,同时提供用户友好的数据上传、模型运行与结果展示界面。

行动

在后端侧,我负责整体服务器架构与 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,稳态运行稳定
  • 完成前后端联调与生产环境部署,系统可上传数据、运行模型并直观展示识别结果
  • 项目获全国大学生服务外包创新创业大赛全国三等奖

反思

这个项目让我第一次完整经历了从数据建模到工程化部署的全流程,也深刻体会到保留异常值这类反直觉决策背后的数据洞察。作为后端负责人,我最深的收获是:模型再准,若没有稳定可靠的工程骨架支撑,也无法在真实场景落地。

架构

流程:数据上传 → 数据预处理(缺失值/归一化)→ 特征处理(L1 正则化)→ SMOTE 过采样 → Gradient Boosting 训练 → 欺诈识别与预警 → 结果展示
流程:数据上传 → 数据预处理(缺失值/归一化)→ 特征处理(L1 正则化)→ SMOTE 过采样 → Gradient Boosting 训练 → 欺诈识别与预警 → 结果展示

技术栈

Pythonscikit-learnGradient BoostingSMOTEDjangoJavaScriptSQLiteNginxuWSGI

关键权衡

  • 选择 Gradient Boosting 而非神经网络 / 线性模型:在可解释性、鲁棒性与预测精度间取得平衡,更适合医保反欺诈这类非线性强、需向监管解释判定的场景
  • 异常值不做清洗而保留:经验证处理后骗保召回率反而下降,反常数据(如极端就诊费用)往往是识别欺诈的关键信号
  • 选用 min-max 而非 Z-score 归一化:两者精度一致,但前者训练与预测耗时仅为其二分之一

个人贡献

后端开发:构建弹性可扩展的服务器架构,保障 API 高性能与安全性,打通前端与机器学习模块的数据链路