首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
1
图解机器学习 | 机器学习基础知识
2
图解机器学习 | 模型评估方法与准则
3
图解机器学习 | KNN算法及其应用
4
图解机器学习 | 逻辑回归算法详解
5
图解机器学习 | 朴素贝叶斯算法详解
6
图解机器学习 | 决策树模型详解
7
图解机器学习 | 随机森林分类模型详解
8
图解机器学习 | 回归树模型详解
9
图解机器学习 | GBDT模型详解
10
图解机器学习 | XGBoost模型详解
11
图解机器学习 | LightGBM模型详解
12
图解机器学习 | 支持向量机模型详解
13
图解机器学习 | 聚类算法详解
14
图解机器学习 | 降维算法详解
15
机器学习实战 | Python机器学习算法应用实践
16
机器学习实战 | SKLearn最全应用指南
17
机器学习实战 | XGBoost建模应用详解
18
机器学习实战 | LightGBM建模应用详解
19
机器学习实战 | 综合项目-电商销量预估
20
机器学习实战 | 综合项目-电商销量预估进阶方案
21
机器学习实战 | 机器学习特征工程最全解读
22
机器学习实战 | 自动化特征工程工具Featuretools应用
23
机器学习实战 | AutoML自动化机器学习建模
24
图数据挖掘!使用图分析+AI进行保险欺诈检测 ⛵
25
20 行代码!带你快速构建基础文本搜索引擎 ⛵
26
员工离职困扰?来看AI如何解决,基于人力资源分析的 ML 模型构建全方案 ⛵
27
AI 音辨世界:艺术小白的我,靠这个AI模型,速识音乐流派选择音乐 ⛵
28
钻石价格预测的ML全流程!从模型构建调优道部署应用!⛵
29
二手车价格预测 | 构建AI模型并部署Web应用 ⛵
30
毫秒级!千万人脸库快速比对,上亿商品图片检索,背后的极速检索用了什么神器? ⛵
31
客户流失?来看看大厂如何基于spark+机器学习构建千万数据规模上的用户留存模型 ⛵
32
机器学习模型太慢?来看看英特尔(R) 扩展加速 ⛵
33
全自动化机器学习建模!效果吊打初级炼丹师! ⛵
34
机器学习建模高级用法!构建企业级AI建模流水线 ⛵
35
2022了你还不会『低代码』?数据科学也能玩转Low-Code啦! ⛵

图数据挖掘!使用图分析+AI进行保险欺诈检测 ⛵

本文将基于保险欺诈场景案例讲解如何进行有效的图挖掘,并将挖掘到的信息提供给AI模型,辅助精准检测和识别商业保险欺诈。

💡 作者:韩信子@ShowMeAI 📘 机器学习实战系列:https://www.showmeai.tech/tutorials/41 📘 本文地址:https://www.showmeai.tech/article-detail/307 📢 声明:版权所有,转载请联系平台与作者并注明出处 📢 收藏ShowMeAI查看更多精彩内容

保险欺诈是一个巨大的问题,保险业长期以来一直在与欺诈作斗争。健康保险欺诈是一种作假骗保的行为,整个欺诈过程可能涉及患者、医生和受益人的同行的配合联合行动,联合欺诈的异常行为可能形成一个欺诈圈, 普通机器学习AI算法很难基于基础信息发现欺诈活动。而这类场景有着强有效作用的,是关系网数据的挖掘和信息支撑。

大家可以从下述新闻做一些了解: 📘同盾科技:AI智能助力保险反欺诈,科技能力再升级财经中国网 📘数千亿保险反欺诈市场:人工智能寻觅用武之地_腾讯新闻

在本篇内容中, ShowMeAI 将基于保险欺诈场景案例给大家讲解,如何进行有效的图挖掘,并将挖掘到的信息提供给AI模型,辅助精准检测识别商业保险欺诈。

本篇内容结构如下:

  • Graph 图与图挖掘基础
  • 图搜索和查询以了解关系
  • 使用图特征增强机器学习模型

💡 Graph图与图挖掘基础

📌 什么是Graph图

在图论中,图是一种结构,包含『相关联』的一些节点和连接的边。图中的对象称为『节点』,每个相关的节点之间的连接称为『』。

简而言之,Graph图是任何类型的网络的数学表示,包含:

  • 节点,在医疗保险场景中,可以是
    • 投保人
    • 医生
  • 边是节点之间的关系/交互/行为
    • 索赔保单持有人
    • 索赔被保险人

💡 图挖掘:搜索和查询

图形数据库是专门为图关联数据存储和查询而构建的,图查询语言是根据节点之间的模式匹配来完成查询的。通过图查询语言进行图可视化有助于分析大量数据并识别欺诈活动的模式。典型的图数据库如 📘Nebula Graph,我们本次的分析挖掘用到的数据集是 🏆insurance claims 保索赔数据,大家可以通过 ShowMeAI 的百度网盘地址下载。

🏆 实战数据集下载(百度网盘):公众号『ShowMeAI研究中心』回复『实战』,或者点击 这获取本文 [16]图数据挖掘!使用图分析+AI进行保险欺诈检测 『insurance claims 保险索赔数据集』

ShowMeAI官方GitHubhttps://github.com/ShowMeAI-Hub

📌 欺诈典型案例

查找欺诈性索赔『C4377』的投保人提出的所有索赔,并显示索赔『C4377』患者的疾病。

为了深入了解这个投保人(PH3759),我们看到这个人在不同的提供者那里看到了不同的医生,这是不正常的。

📌 与欺诈性索赔相关的投保人关系

下图显示了具有欺诈风险『C4377』的连接关系。我们看到一个高风险投保人处于 1 度连接中,而另一个高风险投保人处于 3 度连接中。

💡 使用图特征增强机器学习模型

特征工程是从现有数据中抽取有用信息的过程。

关于机器学习特征工程,大家可以参考 ShowMeAI 整理的特征工程最全解读教程。

📘机器学习实战 | 机器学习特征工程最全解读

大部分机器学习应用依赖于结构化表格数据建模,而没有有效利用图关联关系和上下文数据,在我们今天提到的这类关联场景中,这类信息至关重要。如果不考虑关联,单独看每个索赔/提供者都像是合法的。

在下面内容中,ShowMeAI 会演示把结构化表格数据转换为图,并提取图特征进而增强机器学习模型方法示例。包括下面几个环节:

  • 将结构化数据提取到 Python 图结构中
  • 图数据的特征工程
  • 将图特征整合到机器学习管道中

📌 将结构化数据提取到图结构中

我们这里用到Python图工具 📘iGraph 来完成基本操作,它可以有效地和 pandas Dataframe 等结构结合。

数据集来自医疗保险领域,包括提供者提出的索赔以及每项索赔的受益人信息,可以通过 ShowMeAI 的百度网盘地址下载。

🏆 实战数据集下载(百度网盘):公众号『ShowMeAI研究中心』回复『实战』,或者点击 这获取本文 [16]图数据挖掘!使用图分析+AI进行保险欺诈检测 『insurance claims 保险索赔数据集』

ShowMeAI官方GitHubhttps://github.com/ShowMeAI-Hub

具体的信息包括:

  • 患者相关特征:年龄、性别、位置、健康状况等。
  • 索赔相关特征:起止日期、索赔金额、诊断代码、程序代码、提供者、主治医师、手术医师等。

我们本篇中的节点主要选取了『提供者』和『主治医师』,分别对应目标。(以下仅提供核心代码作为示例)

代码语言:python
复制
# 导入包 
from igraph import *
import pandas as pd

# 读取数据
df = pd.read_csv('CLAIM.csv')
G_df = df[['CLAIM_ID', 'POLICYHOLDER_ID']]

# 从Dataframe创建Graph无向图 
G = Graph.DataFrame(G_df, directed=False)

📌 图数据特征工程

我们可以使用图算法对图结构进行挖掘,拿到潜在有意义的表征特征,例如连接度量和基于关系的聚类特征,进而加强后续机器学习的检测效果。

Degree 度

节点的度可以定义为连接节点的边数。

代码语言:python
复制
degree = pd.DataFrame({'Node': G.vs["name"],
        'Degree': G.strength()})
degree.shape

closeness 接近中心性

在连通图中,节点的接近中心性(closeness)是网络中中心性的度量,计算为该节点与图中所有其他节点之间的最短路径长度之和的倒数。

代码语言:python
复制
closeness = pd.DataFrame({'Node': G.vs["name"],
        'Closeness': G.closeness()})
closeness.shape

Infomap 信息图

Infomap是一种能够实现高质量社区的图聚类算法。

代码语言:python
复制
communities_infomap = pd.DataFrame({'Node': G.vs["name"],
        'communities_infomap': G.community_infomap().membership})
communities_infomap.shape

我们把抽取的图特征合并成Dataframe,以便后续机器学习建模使用。

代码语言:python
复制
# 合并图特征 
graph_feature = [degree, closeness, communities_infomap]
graph_feature = reduce(lambda left,right: pd.merge(left,right, how = 'left',on='Node'), graph_feature)

📌 将图特征整合到机器学习管道中

接下来我们将图特征合并到原始数据中,并基于时间对数据集拆分,从而为机器学习模型准备完整的数据。

代码语言:python
复制
train = Final_Dataset_Train[Final_Dataset_Train['ClaimStartDt'] < '2009-10-01'].reset_index(drop = True).drop('ClaimStartDt', axis = 1)
print(train.shape)
test = Final_Dataset_Train[Final_Dataset_Train['ClaimStartDt'] >= '2009-10-01'].reset_index(drop = True).drop('ClaimStartDt', axis = 1)
print(test.shape)x_tr = train.drop(axis=1,columns=['PotentialFraud'])
y_tr = train['PotentialFraud']x_val = test.drop(axis=1,columns=['PotentialFraud'])
y_val = test['PotentialFraud']

下面,为了进行对比,我们使用 2 个算法和 3 类特征,建模和对比效果:

算法

  • 逻辑回归
  • 随机森林

特征空间

  • 原始功能
  • 原始特征+节点级特征
  • 原始特征+节点级特征+聚类特征
代码语言:python
复制
# 建模示例代码
lr = LogisticRegression(penalty='none', solver='saga', random_state=42, n_jobs=-1)
rf = RandomForestClassifier(n_estimators=300, max_depth=5, min_samples_leaf=50, 
                            max_features=0.3, random_state=42, n_jobs=-1)
lr.fit(x_tr, y_tr)
rf.fit(x_tr, y_tr)
preds_lr = lr.predict_proba(x_val)[:,1]
preds_rf = rf.predict_proba(x_val)[:,1]

我们使用 AUC 作为测试集的评估指标,ROC 曲线如下:

结合最终的效果图,可以很清晰地看到:

  • 具有图特征的模型表现出色
  • 节点级别特征效果非常好
  • 聚类特征对结果也有补充作用

💡 总结

对于关联型业务场景,我们可以查询、可视化和分析图数据,构建有效的信息支撑更强大的商业欺诈方案,特别是对于试图通过复杂网络结构隐藏的欺诈活动,相比传统方法有很大效果提升。

将关系信息和图的预测特征添加到机器学习管道中可以提高模型性能,针对多方参与欺诈活动的场景尤其明显。

参考资料

下一篇
举报
领券