机器学习案例实战——保险产品推荐
业务背景分析
Ø保险已成为高净值人士的青睐之选,特别是在目前投资机会较少,股市、楼市、实体经济等投资风险较高的情况下,保险业迎来蓬勃发展的春天,大量保险企业纷纷推出各种各样的人寿型、医疗型、投资理财型等产品,竞争十分激烈。
Ø由于保险业务各项条款细则较复杂,且出险认定以及赔付流程较长,传统保险采用代理人制度。但受限于代理人的能力和业绩考核压力等,保险代理人并不能有效地向客户推荐其需要的险种,反而使客户对保险代理人和保险产生抵触心理,影响了企业的品牌信誉。
Ø因此,目前保险行业采用机器学习技术支持,通过对客户过往的保险购买记录进行分析,并以此为依据验证是否需要推荐其他险种,对于分析结果中某一客户购买概率较低的险种,则不再向其推荐。这不仅减少了资源浪费,而且提高了投放精准性,促进了保险公司的业务发展。
数据概况
Ø本案例使用保险公司统计后的数据,以家庭为单位将客户属性、购买保险的种类、金额等数据进行计算。以家庭房产数为例,统计整个家庭中房产的总数量,结果的取值范围为1~10,即最少1套,最多10variable used in lambda
套。不同的属性有不同的取值,其代表的含义也不尽相同。按照数值的类型划分为5个种类,如表所示。
Ø数据包括了86个变量,前43个变量为人口属性,后面的变量为产品购买属性。最后1个字段是目标字段,表示客户是否购买移动房车险,分别取值为0或1。
字段类型字段类型说明
实际数值型家庭房产数量(1~10)、平均房产数量(1~6)
L0客户子类别标签,取值1~41,分别代表高收入、单身青年、中产阶级、丁克等
L1年龄范围,取值1~6,1表示20~29岁,…,6表示70~79岁
L2客户主类别标签,取值1~10,分别代表了功成享受、退休信教、保守家庭等
L3百分比,取值0~10,0表示0%,1表示1%~10%,…,9表示91%~100%
L4金额(欧元),取值0~9,0表示0,1表示1~49,2表示50~99,9表示超过20000
变量取值类型说明
整体流程
Ø保险产品推荐的流程包含的9个步骤如表所示。
步骤编号内容1读取训练集和检验集
2对数据进行去重,并合并训练集和检验集以统计预处理
3填补数据中的缺失值
4选择相对重要的特征,降低数据维度
5对于数据中的类型变量,将其独热编码化
6对于数据中的数值变量,将其规范化
7完成预处理工作,重新切分训练集和检验集
8构造保险预测的逻辑回归模型
9生成模型评估结果
流程步骤说明
数据提取
Ø原始数据集为“balance.xlsx”和“eval.xlsx”。本步骤包括以下2部分。
Ø(1)读取数据。这里将数据的列标题转化为拼音的形式,并对数据进行初步的查看。
Ø(2)将数据重新生成为CSV文件。
import pandas as pd
from pypinyin import lazy_pinyin
train_df = pd.read_excel('data\\balance.xlsx')
ame(lambda x: ' '.join(lazy_pinyin(x)), axis='columns', inplace=True)
valid_df = pd.read_excel('data\\eval.xlsx')
ame(lambda x: ' '.join(lazy_pinyin(x)), axis='columns', inplace=True)
print(train_df.shape)
print(train_df.describe())
_csv("csv\\train.csv", index=0)
_csv("csv\\valid.csv", index=0)
Ø查看控制台输出,部分输出如图所示。可见有1756条数据,共86个特征
维度,每个特征的数值统计也显示在控制台中。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论