ML之shap:基于FIFA 2018 Statistics(2018年俄罗斯世界杯足球赛)球队比赛之星分类预测数据集利用RF随机森林+计算SHAP值单样本力图/依赖关系贡献图可视化实现可解释性之攻略

Posted 一个处女座的程序猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ML之shap:基于FIFA 2018 Statistics(2018年俄罗斯世界杯足球赛)球队比赛之星分类预测数据集利用RF随机森林+计算SHAP值单样本力图/依赖关系贡献图可视化实现可解释性之攻略相关的知识,希望对你有一定的参考价值。

ML之shap:基于FIFA 2018 Statistics(2018年俄罗斯世界杯足球赛)球队比赛之星分类预测数据集利用RF随机森林+计算SHAP值单样本力图/依赖关系贡献图可视化实现可解释性之详细攻略

目录

基于FIFA 2018 Statistics(2018年俄罗斯世界杯足球赛)球队比赛之星分类预测数据集利用RF随机森林+计算SHAP值单样本力图可视化实现可解释性

 # 1、定义数据集

# 2、数据预处理

# 2.1、分离特征与标签

# 3、模型建立和训练

# 3.1、数据集切分# 3.2、模型训练

# 4、模型特征重要性解释可视化

# 4.1、单个样本基于shap值进行解释可视化

# (1)、挑选某条样本数据并转为array格式

# (2)、利用Shap值解释RFC模型

    # T1、基于树模型TreeExplainer创建Explainer并计算SHAP值,且进行单个样本力图可视化(分析单个样本预测的解释)

    # T2、基于核模型KernelExplainer创建Explainer并计算SHAP值,且进行单个样本力图可视化(分析单个样本预测的解释)

# 4.2、多个样本基于shap值进行解释可视化

# (1)、基于树模型TreeExplainer创建Explainer并计算SHAP值

# (2)、全验证数据集样本各特征shap值summary_plot可视化

# (3)、依赖关系贡献图dependence_plot可视化


相关文章
ML:机器学习可解释性之SHAP值之理解单样本单特征预测
ML之shap:基于FIFA 2018 Statistics(2018年俄罗斯世界杯足球赛)球队比赛之星分类预测数据集利用RF随机森林+计算SHAP值单样本力图可视化实现可解释性之详细攻略
ML之shap:基于FIFA 2018 Statistics(2018年俄罗斯世界杯足球赛)球队比赛之星分类预测数据集利用RF随机森林+计算SHAP值单样本力图可视化实现可解释性之详细攻略实现

基于FIFA 2018 Statistics(2018年俄罗斯世界杯足球赛)球队比赛之星分类预测数据集利用RF随机森林+计算SHAP值单样本力图可视化实现可解释性

 # 1、定义数据集

数据集来源Dataset:FIFA 2018 Statistics数据集(Predict FIFA 2018 Man of the Match预测2018年国际足联最佳球员)的简介、下载、使用方法之详细攻略_一个处女座的程序猿的博客-CSDN博客

DateTeamOpponentGoal ScoredBall Possession %AttemptsOn-TargetOff-TargetBlockedCornersOffsidesFree KicksSavesPass Accuracy %PassesDistance Covered (Kms)Fouls CommittedYellow CardYellow & RedRedMan of the Match1st GoalRoundPSOGoals in PSOOwn goalsOwn goal Time
14-06-2018RussiaSaudi Arabia54013733631107830611822000Yes12Group StageNo0
14-06-2018Saudi ArabiaRussia0606033212528651110510000NoGroup StageNo0
15-06-2018EgyptUruguay043833201737839511212200NoGroup StageNo0
15-06-2018UruguayEgypt1571446451133865891116000Yes89Group StageNo0
15-06-2018MoroccoIran06413364501428643310122100NoGroup StageNo0190

# 2、数据预处理

# 2.1、分离特征与标签

df_X    Goal Scored  Ball Possession %  Attempts  ...  Yellow & Red  Red  Goals in PSO
0            5                 40        13  ...             0    0             0
1            0                 60         6  ...             0    0             0
2            0                 43         8  ...             0    0             0
3            1                 57        14  ...             0    0             0
4            0                 64        13  ...             0    0             0

[5 rows x 18 columns]
df_y 0     True
1    False
2    False
3     True
4    False
Name: Man of the Match, dtype: bool

# 3、模型建立和训练

# 3.1、数据集切分
# 3.2、模型训练

# 4、模型特征重要性解释可视化

# 4.1、单个样本基于shap值进行解释可视化

# (1)、挑选某条样本数据并转为array格式

输出当前测试样本:5 
 Goal Scored                 2
Ball Possession %          38
Attempts                   13
On-Target                   7
Off-Target                  4
Blocked                     2
Corners                     6
Offsides                    1
Free Kicks                 18
Saves                       1
Pass Accuracy %            69
Passes                    399
Distance Covered (Kms)    148
Fouls Committed            25
Yellow Card                 1
Yellow & Red                0
Red                         0
Goals in PSO                3
Name: 118, dtype: int64
输出当前测试样本的真实label: False
输出当前测试样本的的预测概率: [[0.29 0.71]]

输出当前测试样本:7 
 Goal Scored                 0
Ball Possession %          53
Attempts                   16
On-Target                   4
Off-Target                 10
Blocked                     2
Corners                     7
Offsides                    1
Free Kicks                 20
Saves                       1
Pass Accuracy %            77
Passes                    466
Distance Covered (Kms)    107
Fouls Committed            23
Yellow Card                 1
Yellow & Red                0
Red                         0
Goals in PSO                0
Name: 35, dtype: int64
输出当前测试样本的真实label: False
输出当前测试样本的的预测概率: [[0.56 0.44]]

# (2)、利用Shap值解释RFC模型

    # T1、基于树模型TreeExplainer创建Explainer并计算SHAP值,且进行单个样本力图可视化(分析单个样本预测的解释)

 

    # T2、基于核模型KernelExplainer创建Explainer并计算SHAP值,且进行单个样本力图可视化(分析单个样本预测的解释)

 

# 4.2、多个样本基于shap值进行解释可视化

# (1)、基于树模型TreeExplainer创建Explainer并计算SHAP值

# (2)、全验证数据集样本各特征shap值summary_plot可视化

# (3)、依赖关系贡献图dependence_plot可视化

 

以上是关于ML之shap:基于FIFA 2018 Statistics(2018年俄罗斯世界杯足球赛)球队比赛之星分类预测数据集利用RF随机森林+计算SHAP值单样本力图/依赖关系贡献图可视化实现可解释性之攻略的主要内容,如果未能解决你的问题,请参考以下文章

ML之shap:基于boston波士顿房价回归预测数据集利用shap值对XGBoost模型实现可解释性案例

ML之shap:基于boston波士顿房价回归预测数据集利用Shap值对LiR线性回归模型实现可解释性案例

ML之shap:基于adult人口普查收入二分类预测数据集(预测年收入是否超过50k)利用Shap值对XGBoost模型实现可解释性案例之详细攻略

Py之shap:shap.explainers.shap_values函数的简介解读(shap_values[1]索引为1的原因)使用方法之详细攻略

ML:MLOps系列讲解之《基于ML的软件的三个层次》解读

ML之CB:基于自定义电影数据集利用CB基于内容推荐算法(多个指标基于同种相似度加权得分)实现电影Top5推荐案例