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

时间:2022-11-15 12:56:59


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年国际足联最佳球员)的简介、下载、使用方法之详细攻略_一个处女座的程序猿的博客

Date

Team

Opponent

Goal Scored

Ball Possession %

Attempts

On-Target

Off-Target

Blocked

Corners

Offsides

Free Kicks

Saves

Pass Accuracy %

Passes

Distance Covered (Kms)

Fouls Committed

Yellow Card

Yellow & Red

Red

Man of the Match

1st Goal

Round

PSO

Goals in PSO

Own goals

Own goal Time

14-06-2018

Russia

Saudi Arabia

5

40

13

7

3

3

6

3

11

0

78

306

118

22

0

0

0

Yes

12

Group Stage

No

0

14-06-2018

Saudi Arabia

Russia

0

60

6

0

3

3

2

1

25

2

86

511

105

10

0

0

0

No

Group Stage

No

0

15-06-2018

Egypt

Uruguay

0

43

8

3

3

2

0

1

7

3

78

395

112

12

2

0

0

No

Group Stage

No

0

15-06-2018

Uruguay

Egypt

1

57

14

4

6

4

5

1

13

3

86

589

111

6

0

0

0

Yes

89

Group Stage

No

0

15-06-2018

Morocco

Iran

0

64

13

3

6

4

5

0

14

2

86

433

101

22

1

0

0

No

Group Stage

No

0

1

90

# 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值,且进行单个样本力图可视化(分析单个样本预测的解释)

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

 

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

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

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

 

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

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

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

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

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

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

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