决策树在商业保险中的应用
决策树在商业保险中的应用
⼀、业务背景
- 业务环境
1.概览
受保险⾏业结构转型时期影响,互联⽹保险整体发展受阻,2018年⾏业保费收⼊为1889亿元, 较去年基本持平,不同险种发展呈现分化格局,其中健康险增⻓迅猛,2018年同⽐增⻓108%,主要由短期医疗险驱动。
格局
供给端专业互联⽹保险公司增⻓迅速,但过⾼的固定成本及渠道费⽤使得其盈利问题凸显,加上发展现状强,⾃营渠道建设及科技输出是未来的破局⽅法,渠道端形成第三⽅平台为主,官⽹为辅的格局,第三⽅平台逐渐发展出B2C、B2A、B2B2C等多种创新业务模式。
模式
互联⽹保险不仅仅局限于渠道创新,其核⼼优势同样体现在产品设计的创新和服务体验的提升。 - 发展趋势
竞合格局
随着⼊局企业增多,流量争夺更加激烈,最终保险公司与第三⽅平台深度合作将成为常态。
保险科技
当前沿科技不断应⽤于保险⾏业,互联⽹保险的概念将会与保险科技概念⾼度融合。 - 衡量指标
- 业务⽬标
针对保险公司的健康险产品的⽤户,制作⽤户画像,然后进⾏精准保险营销。
5.数据分析的流程
1 读入数据
1.1 了解数据
2 了解我们的特征
3 探索特征和响应数据之间的比例关系
4 数据清洗
4.1 删除不需要的列
4.2 拆分训练集和测试集
4.3 空值统计
4.4 空值填充
4.5 数据编码
4.6 测试集相同编码方式
4.7 重复值检查和删除
5 建模
5.1 调参
5.2 网格搜索
二、数据探索性分析
2.1、导入数据和安装包
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.read_csv("保险行业决策树案例\data\ma_resp_data_temp.csv")
df.head()
df.shape
df.info()
在我们正式建模型之前,我们需要对我们的数据进行描述性统计,这样我们就能知道整个数据的大致分布是什么样的,做到心里有数,然后能够数据大致的全貌有一定的了解。
2.2了解数据特征的分布情况
def value_counts(column):
"""函数功能: 传入列名, 返回该列的计数统计
绘制柱状图"""
df[column].value_counts().plot(kind='bar');
return df[column].value_counts()
#查看购买保险人数
value_counts("resp_flag")
#查看性别分布
value_counts("GEND")
#查看是否大学毕业分布
value_counts("COLLEGE")
2.3了解数据特征与标签之间的相关性强弱
1.了解每一个学历下购买的人数占比情况
d = df.groupby("c210mys")["resp_flag"].mean()
plt.figure(dpi = 100)
d.plot(kind = "bar")
plt.xlabel("学历")
plt.ylabel("每一学历购买保险的占比")
从图中可以看到学历等级的高低与购买保险并无太多相关性
2.了解社会经济评分购买保险的人数占比情况
plt.figure(dpi =500)
df.groupby("c210kses")["resp_flag"].count().plot(kind = "kde")