赞
踩
Xgboost相对于逻辑回归模型在进行预测时往往有更好的精度,但是同时也失去了线性模型的可解释性。
Feature importance可以直观地反映出特征的重要性,看出哪些特征对最终的模型影响较大。但是无法判断特征与最终预测结果的关系是如何的。
Lundberg和Lee的论文提出了SHAP值这一广泛适用的方法用来解释各种模型(分类以及回归),如boosting和神经网络模型。
下面我们通过实战讲解SHAP。请在SofaSofa数据竞赛页面进行数据下载,下载解压这个文件。
1.1 数据处理:
import shap
from xgboost import XGBRegressor as XGBR
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
plt.style.use('seaborn')
# 读取数据------
data = pd.read_csv(r'D:\Download\data\train.csv',parse_dates=[3])
# 分类变量编码处理------
pd.set_option('display.max_rows',500) #调整最大显示行
print(data.dtypes) # 找出分类特征,稍后进行OneHotEncoder
col = ['club', 'league', 'height_cm', 'weight_kg',
'nationality'
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。