XGBoost的原理过程不作介绍
保险赔偿预测项目是Kaggle比赛上的,相关数据资料可以在kaggle下载。
实现过程是B站up主:Tesra-AI不错哟
视频链接:
【我在B站学习 技能分享】机器学习提升篇
整个流程包含对数据预处理分析,再到XGBoost相关调参。
视频中是在Jupyter上实现,我这里是基于Pycharm+Python3.7
所以遇到有一些报错的代码我会基于环境做一些调整。
比如grid_socres_这个参数,在我的版本变成cv_results_,对应的代码都要调整。
下面是数据预处理过程的代码
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LogisticRegression
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import roc_auc_score as AUC
from sklearn.metrics import mean_absolute_error
from sklearn.decomposition import PCA
from sklearn.preprocessing import LabelEncoder,LabelBinarizer
# from sklearn.cross_validation import cross_val_score
from sklearn.model_selection import cross_val_score
from scipy import stats
import seaborn as sns
from copy import deepcopy
# %matplotlib inline
# %config InlineBackeng.figure_format='retina'
train =pd.read_csv('D:/机器学习算法/allstate-claims-severity/train.csv')
print(train.shape)
print(train.head())
test =pd.read_csv('D:/机器学习算法/allstate-claims-severity/test.csv')
print(test.shape)
print(test.head())
#数据查看
print('First 20 columns:',list(train.columns[:20]))
print('Last 20 columns:',list(train.columns[-20:])