人社大赛算法赛题解题思路分享+第五名

news2024/11/13 7:54:34

关联比赛:  [国家社保]全国社会保险大数据应用创新大赛

赛题背景分析及理解

  本次比赛,“精准社保”的赛题为“基本医疗保险医疗服务智能监控”,由参赛队完成数据算法模型的开发设计,实现对各类医疗保险基金欺诈违规行为的准确识别。

 在进行了初步数据探索性分析后,总结了本次比赛数据的几个特点:

- 数据层次有三层:

1)人 df_id_train, df_id_test

2)单据 df_train, df_test

3)明细 fee_detail

- 欺诈标记是在人的层面上,且在这个层面上没有特征可以使用。

- 如同大多欺诈模型,数据存在较大的分类不平衡(3.56% 的欺诈比例)。

 

核心思路

作为一个类别不平衡的二分类问题去解决:

- 采用监督学习的二分类算法模型;

- 特征数据需要提取到人的层次;

- 需要处理类别不平衡问题;

 

俗话说,"特征没做好,参数调到老",特征工程可以说是最为重要的环节。因此我们以特征为重作为比赛指导思想,着重根据业务场景来全方位构建特征。同时兼顾数据驱动和业务驱动两个角度,采取业务逻辑推理与地毯式相结合的逐步迭代论证验证的方式,全方位挖掘有效特征。尽可能在设计特征阶段保证合理性:多角度设计和论证特征,及时查看原始数据和特征数据,验证想法。

 

特征工程

 特征提取

1. 主表信息各项统计

2. 审批金额

3. 明细金额与药费

4. 频次

5. 三目分类

6. 药量

7. 工作日周末就医行为

8. 就医时间间隔

9. 病种

10. 医院

11. 就医日/活跃日

12. 中药饮片

  

特征选择

使用随机森林和GBDT的特征重要性组件对特征进行分组分析。经过实验,只有排名靠前的特征对模型结果影响较大。有些特征虽然重要性靠前,但是人眼观察怀疑为导致过拟合,将其删除。删除特征之后,在验证集上重新训练模型,观察分数是否上升。所删特征包括:双周双月三周三月的统计、重要性弱的医院、中药饮片等。

 

以下是重要性排名前30的特征。

feature30

 

数据处理

    整个特征工程阶段穿插了多种数据处理方式:

缺失值填充

根据每个特征的不同性质使用不同值进行填充

大多数据缺失值填充为0,原因是没有数据就说明没有相关就医行为,数据可以为0

标准化

标准化会对模型效果有一定提升

one-hot编码和KV2Table

医院等特征处理时使用了one-hot编码和KV2Table

文本处理

将诊断病种名称拼接提取到人的层次,分词后过滤掉无效字符,进而统计病种数

分词统计的病种数比简单利用分隔符统计的病种数特征重要性有提高

PCA

尝试对部分相似特征做了主成分分析,初步验证效果不理想,未继续尝试

 

模型

模型选择

    比赛初期考虑了多种模型,包括Logistic Regression、SVM、Decision Tree、Random
Forest、GBDT、XGBoost以及PS-Smart和Neural Network。实验表明,对于本次比赛数据,集成学习模型优于个体学习模型;XGBoost 性能最好,GBDT
相对稳定。同时模型相对简单化也比较重要,比如:过多欠采样子模型进行融合容易过拟合;深度学习效果不理想。最终初赛使用XGBoost,复赛使用
GBDT模型。

 

模型优化与验证

    对于类别不平衡问题,尝试过欠采样和过采样。欠采样是从非欺诈者中进行随机采样,缺点是会丢失数据,实验证明效果欠佳。初赛线下使用过smote过采样,使类别数量达到合理比例,缺点是增加样本数量会增加模型训练时间,而且只是成倍的增加样本权重。

    实验过程中发现,阈值的设定(分类结果代价敏感后处理)可以相对较好的解决不平衡问题。最终,采用分层交叉验证计算最佳阈值,然后给预测结果设定合理阈值得到较好的提交结果。实践证明,有相对较好的效果。

    进行了部分手工调参尝试,效果不是很大,后期基本固定了参数,除了采样比例使用0.8,其它参数都使用了默认参数。良好的模型验证可以确保线上线下的分值基本吻合,利用分层抽样构建了交叉验证,
保证了模型的稳定性。考虑过尝试不同的随机种子进行划分,计算量大,未进行尝试。

 

模型融合思路

    模型融合从样本集、特征集与算法参数集三个维度进行随机采样构建子模型进行融合。

 

模型融合

 

经验与收获

1. 建立有效的线下验证机制

使用随机分层抽样的方法构建交叉验证集,尽可能的保证线下线上分数同步

2. 深入理解业务,完善的特征工程机制

调参只能小范围提高分数。要想大幅度的提升算法效果,需要深入分析业务领域,不放过任何就医行为信息,细致地进行特征工程

3. 步步为营的防错机制

前期有低级错误导致走弯路的情况,后期尽量步步为营防止低级错误

 

 

展望

•  可对当前模型在以下几个方面做进一步研究

       低额低频的欺诈行为

       最优特征子集

       最佳算法参数

       模型融合

•  可对模型在实际应用中进一步研究

       单据级别的特征工程

       结合第三方数据

       结合医疗行为数据,比如诊疗和病种的关系

       兼顾性能与模型复杂度的平衡

查看更多内容,欢迎访问天池技术圈官方地址:人社大赛算法赛题解题思路分享+第五名_天池技术圈-阿里云天池

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2076906.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AI工业ros机械臂

1、基本介绍 该产品是一款面向于人工智能、机器人工程等专业的实验平台,能够学习基于人工智能技术的智能机器臂相关知识。主要由工业六轴机械臂、机械臂控制器、边缘计算主机、安全防护工作台四部分构成。该产品可完成的课程:机器视觉、机器人操作系统RO…

Stable Diffusion 使用详解(10)--- 场景立体字

目录 背景 复刻立体雏形 Lora 模型 参数设置与controlnet 出图效果 融入图片 提取 合成 背景 虽然都是字,带场景的立体字和上一节讲的做法不太一样。一般来说,一般这种带字体的场景字现阶段都是Lora模型居多,Lora 属于轻量级模型&…

linux系统中USB模块基本原理分析

大家好,今天主要给大家分享一下,USB设备的发展历程。 第一:USB发展变化 随着时代的发展,USB模块也随之不断的升级。 USB1.1:规范了USB低全速传输; USB2.0:规范了USB高速传输,采用NRZI(反向不归零)编码(NRZI采用8bit编码方式),位填充(在数据进行NRZI编码前…

每日一练-threejs实现三维动态热力图

前言&#xff1a;学习自用Three.js搞个炫酷热力山丘图&#xff0c;作者讲解的十分详细&#xff0c;在这里不再过多赘述&#xff0c;直接上代码&#xff01; <template><div class"map" ref"map"></div> </template><script set…

亿发工单管理系统助力五金行业智造升级:高效生产新篇章

在五金制造行业&#xff0c;效率和质量决定了企业的竞争力。五金厂通过引入先进的工单管理系统&#xff0c;成功实现了从传统制造向智能制造的转型。今天&#xff0c;我们将带您深入了解这场变革背后的力量&#xff0c;揭示工单管理系统如何在五金工厂的各个环节中发挥重要作用…

Redis的哨兵(高可用)

实验环境&#xff1a;用一主两从来实现Redis的高可用架构。 一、Redis哨兵 Sentinel 进程是用于监控redis集群中Master主服务器工作的状态&#xff0c;在Master主服务器发生故障的时候&#xff0c; 可以实现Master和Slave服务器的切换&#xff0c;保证系统的高可用&#xff0c…

java一键生成数据库说明文档html格式

要验收项目了&#xff0c;要写数据库文档&#xff0c;一大堆表太费劲了&#xff0c;直接生成一个吧&#xff0c;本来想用个别人的轮子&#xff0c;网上看了几个&#xff0c;感觉效果不怎么好&#xff0c;自己动手写一个吧。抽空再把字典表补充进去就OK了 先看效果&#xff1a; …

找不到msvcp140.dll无法继续执行代码的基本解决策略,快速修复msvcp140.dll错误文件

在我们日常使用电脑的过程中&#xff0c;偶尔会遇到一些令人头疼的技术问题。其中&#xff0c;"找不到 msvcp140.dll 无法继续执行代码" 的错误提示便是许多 Windows 用户常见的难题之一。这条错误消息通常在尝试启动某些程序时出现&#xff0c;指出系统缺少一个关键…

SAP HR 逻辑数据库PNP简单说明

逻辑数据库是专门在逻辑数据库生成器中编辑的开发对象&#xff0c;其核心价值在于为其他ABAP程序提供来自分层树结构节点的数据访问能力。尽管在SAP的最新帮助文档中&#xff0c;逻辑数据库被标记为已过时的&#xff0c;但是在HR模块中仍然被广泛使用&#xff0c;提供读取和处理…

基于Echarts的大屏可视化

效果图 基于vue3echartsTailwind CSS技术实现 实现思路 新建一个新项目 找任一目录进行 pnpm create vitelatest选择vue和js开始项目 导入tailwindcss https://tailwindcss.com/ 选择vue按照里面的步骤一步一步完成即可 将事先准备好的资料导入到assets包中即可 写入项…

Android setText不生效问题(文字不显示)

1.直接说解决方案&#xff1a; 在代码没问题的情况下&#xff0c;将你的TextView的Id改一下&#xff0c;然后再重启编译器即可(注意&#xff0c;不修改TextView的ID&#xff0c;单独重启是没有作用的&#xff01;) 2.出现问题的过程&#xff1a; 新增的一个页面与之前做好的界…

“workon不是内部命令“/virtualenvwrapper-win安装配置

如果出现“workon不是内部命令”&#xff0c;先卸载 pip uninstall virtualenvwrapper-win -y 一&#xff0c;指定所有虚拟环境存放路径&#xff1a; # “E:/Python_Envs_List”换成自己想要的路径 setx WORKON_HOME "E:/Python_Envs_List"二&#xff0c;增加pytho…

【轻松掌握】Jenkins入门指南:构建高效的CI/CD Pipeline

文章目录 前言安装部署安装JDK安装Jenkins下载Jenkins运行Jenkins访问页面填写管理员密码安装推荐的插件 Maven安装下载上传到Linux解压配置镜像运行查看Maven使用的JDK版本 Jenkins安装Maven插件 创建Demo项目创建Jenkins任务填写代码仓库地址Linux安装GIT解决报错配置Maven版…

一文吃透SpringMVC

一、SpringMVC简介 1、什么是MVC MVC是一种软件架构模式&#xff08;是一种软件架构设计思想&#xff0c;不止Java开发中用到&#xff0c;其它语言也需要用到&#xff09;&#xff0c;它将应用分为三块&#xff1a; M&#xff1a;Model&#xff08;模型&#xff09;&#xf…

Phone X│“齐刘海”里到底搭载了哪些传感器?

揭开 “齐刘海”面纱 随着iPhone X的发布&#xff0c;3D人脸识别功能一度成为人们口中津津乐道的新科技&#xff0c;下面就让SITRI的专业团队带领大家揭开人脸识别的神秘面纱。 先从苹果iPhone X说起&#xff0c;让我们看一看这个可爱的“齐刘海”里到底搭载了哪些传感器&am…

杀软对抗 ----> 简简单单免杀某60

在开始之前还是宇宙免责 本Blog讨论的技术问题仅限于学习用&#xff0c;严禁用于非授权情况下执行攻击活动&#xff0c;如未授权攻击所造成一切后果由攻击者独自承担&#xff0c;所展示的代码仅用于杀软对抗学习&#xff0c;测试环境并非真实环境&#xff0c;并无对任何杀软有任…

我的sql我做主!Mysql 的集群架构详解之组从复制、半同步模式、MGR、Mysql路由和MHA管理集群组

目录 Mysql 集群技术一、Mysql 在服务器中的部署方法1.1 在Linux下部署mysql1.1.1 安装依赖性&#xff1a;1.1.2 下载并解压源码包1.1.3 源码编译安装mysql1.1.4 部署mysql 二、Mysql的组从复制2.1 配置mastesr2.2 配置salve2.3 当有数据时添加slave22.4 延迟复制2.5 慢查询日志…

医疗器械法规标准相关资料

文章目录 前言如何查找法规文件与标准1. 法规清单2. 医疗器械法规文件汇编常用链接常见网站微信公众号前言 在前文 医疗器械软件相关法律法规与标准 中介绍了在软件设计过程常见的法规与标准,并给出部分标准如何查找和下载的方法,但是上文中列举的部分不全面,真实在产品设计…

springboot公众号模板消息推送

文章目录 参考1、微信公众平台测试号管理1.1 访问微信公众平台测试账号页面1.2 获取appID和appsecret1.3 扫码二维码添加测试号1.4 添加模版消息 2、集成微信SDK2.1 引入微信工具包2.2 添加配置文件 3、API调用3.1 发送消息模版的实现3.2 测试类调用3.3 效果展示 4、回调配置回…

通过IMB看高效裁员

高效裁员是企业在面临经营压力或战略调整时不得不采取的措施之一。为了确保裁员过程既高效又尽量减少负面影响,可以遵循以下步骤和策略: 一、明确裁员目标和计划 分析需求:首先,企业需要明确裁员的原因,比如经营困难、业务重组、技术升级等,并基于这些原因确定裁员的范…