1.项目背景
保险单是一种安排,公司承诺为特定的损失、损坏、疾病或死亡提供赔偿保证,以换取支付指定的保费。保费是客户需要定期向保险公司支付的一笔钱,以提供此保证,与医疗保险一样,也有车辆保险,客户每年都需要向保险公司支付一定金额的保险费,以便在车辆不幸发生事故时,保险公司将向客户提供赔偿(称为“保额”)。现在需要建立一个模型,以预测过去一年的投保人(客户)是否也会对公司提供的车辆保险感兴趣。
本项目通过对训练集和测试集进行一致性检验,确保它们在特征分布上的一致性。接着进行了客户感兴趣的影响因素分析,并建立了随机森林模型和XGBoost模型,可能对新的车辆保险产品感兴趣,从而有效地规划其营销策略和优化业务模式。
2.数据说明
英文特征名 | 中文翻译 | 描述 |
---|---|---|
id | 客户ID | 客户的唯一标识符 |
Gender | 性别 | 客户的性别(男/女) |
Age | 年龄 | 客户的年龄 |
Driving_License | 驾照 | 如果客户有驾驶执照,则为1,否则为0 |
Region_Code | 地区代码 | 客户所在地区的代码 |
Previously_Insured | 之前投保 | 如果客户之前已投保车辆保险,则为1,否则为0 |
Vehicle_Age | 车辆年龄 | 车辆的年龄 |
Vehicle_Damage | 车辆损坏 | 如果客户的车辆曾经损坏,则为1,否则为0 |
Annual_Premium | 年保费 | 客户每年需要支付的保费金额 |
Policy_Sales_Channel | 保单销售渠道 | 与客户接触的渠道的匿名代码,即不同的代理、邮件、电话、面对面等 |
Vintage | 客户关系天数 | 客户与公司关系的天数 |
Response | 响应 | 客户是否对车辆保险感兴趣,如果客户对车辆保险感兴趣,则为1,否则为0 |
3.Python库导入及数据读取
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
from scipy.stats import chi2_contingency,ks_2samp,spearmanr
from sklearn.model_selection import train_test_split,RandomizedSearchCV
from imblearn.over_sampling import RandomOverSampler
from sklearn.ensemble import RandomForestClassifier
import xgboost as xgb
from sklearn.metrics import classification_report,confusion_matrix,roc_curve, auc,precision_recall_curve,precision_recall_fscore_support
from joblib import Parallel, delayed
train_data = pd.read_csv("/home/mw/input/08054086/train.csv")
test_data = pd.read_csv("/home/mw/input/08054086/test.csv")