向泰坦尼克号乘客出售人身保险

(1)问题描述

问题研究的是从一个保险公司角度思考,是否要向泰坦尼克号乘客出售人身保险的问题

假设保险公司已知船会撞到冰山,幸存者和遇难者的匿名特征

问题研究的目的 最小化遇难者的索赔,最大化保险公司的保单金额

可作为 保险行业向高风险客户(职业,习惯,疾病)出售保险的参考模型

(2)问题定义

如何根据已有的数据(船会撞向冰山,幸存者和遇难者的匿名特征数据),分出投保人是遇难者和幸存者

理想的结果是,保险公司向所有的幸存者出售了保险(全保单),未向所有遇难者出售保险(0索赔)

如果无法精确区分幸存者和遇难者,保险公司的原则是 宁可减少保单,不增加索赔

这个问题源于分类问题(根据已知数据,分类幸存者和遇难者),又高于分类问题(幸存者对应的保单与遇难者对应的索赔,从保险公司来说不对等且相差很大)

重点关注幸存者,如果100%分出幸存者,那就可以只向这部分人出售保险。

(3)准备数据

导入数据

导入原始数据文件

选择特征矩阵和目标因子

1)原始数据中,一共包含12条数据项,从信息的有效性和数据处理的角度出发,剔除”PassangerId”,“Name”, “Ticket”, “Cabin”这4条数据项,”Survived”作为目标因子。

2)按照数字特征和离散特征,分离特征矩阵

数值特征缩放

1)归一化对数值特征进行缩放处理(缩放处理对于算法收敛必不可少),如果数据中存在缺失值,用平均值填充。

2)一般地,

在分类、聚类算法中,需要使用距离来度量相似性的时候、或者使用PCA技术进行降维的时候,StandardScaler表现更好。

在不涉及距离度量、协方差计算、数据不符合正太分布的时候,可以使用MinMaxScaler。比如图像处理中,将RGB图像转换为灰度图像后将其值限定在[0255]的范围。

特征处理(离散特征)

对离散特征进行数字化处理

离散特征的编码分为两种情况:

a.离散特征的取值之间没有大小的意义,比如color: [red, blue],那么就使用one-hot编码;

b.离散特征的取值有大小的意义,比如size:[X, XL, XXL],那么就使用数值的映射     {X: 1, XL: 2, XXL: 3}。

选取训练集和测试集数据

model_selection ()

(4)训练模型,调整模型精度

模型选用,SGD

调整模型精确度

根据SGD的特征,验证迭代次数,确认模型收敛(确认迭代2000次,算法可以收敛);

衡量模型算法的性能,混淆矩阵,准确率,精确度,PR曲线;

根据训练数据的PR曲线得到的阈值,验证测试数据,调整阈值。

(5)总结

根据我们的模型和阈值设置(用作模型精度调整),可以将幸存者的分类精度由0.73提高到1.0。棒!

PS:详细代码及代码解析见github:https://github.com/Miriam6/data-analysis-Kaggle

百度网盘:https://pan.baidu.com/s/1jAn3e1nK2x5RjGvLiSwTaA,uryr

你可能感兴趣的:(向泰坦尼克号乘客出售人身保险)