如何解释来自神经网络的预测

时间:2018-12-28 21:09:42

标签: keras deep-learning interpretation

我训练了一个神经网络,可以根据一些指标来预测冰球比赛的胜负(输赢)。 我一直在输入的数据看起来像这样:

Each row represents a team in one game, so two specific rows make a match.

Won/Lost   Home   Away  metric2 metric3 metric4 team1 team2 team3 team4
1          1      0      10      10      10      1     0     0      0
0          0      1      10      10      10      0     1     0      0
1          1      0      10      10      10      0     0     1      0
0          0      1      10      10      10      0     0     0      1




The predictions from the NN looks like this.
[0.12921564 0.87078434]
[0.63811845 0.3618816 ]
[5.8682327e-04 9.9941313e-01]
[0.97831124 0.02168871]
[0.04394475 0.9560553 ]
[0.76859254 0.23140742]
[0.45620263 0.54379743]
[0.01509337 0.9849066 ]

我相信我知道第一列是Lost(0),第二列是Won(1), 但是我不明白的是:谁赢了谁? 我现在不对这些预测做出什么判断,对我来说,它们甚至没有任何意义吗?

2 个答案:

答案 0 :(得分:1)

根据您在此处显示的数据集,似乎网络的结果将显示在比赛中获胜或输掉球队的概率,具体取决于比赛主持人。我想您应该在数据集中增加一项功能,以在比赛中显示对手的战队,如果您想让自己的网络显示出与其他战队的比赛获胜的可能性以及托管情况(如果托管对您而言并不重要,您应该删除HomeAway列)。

答案 1 :(得分:0)

让我们获取数据集的前两行

Won/Lost   Home   Away  metric2 metric3 metric4 team1 team2 team3 team4
1          1      0      10      10      10      1     0     0      0
0          0      1      10      10      10      0     1     0      0

#predictions 
[0.12921564 0.87078434]
[0.63811845 0.3618816 ]

第1队在家中玩游戏并赢得比赛。模型预测也与之保持一致,因为它在第二列中分配了很高的概率,这就是您提到的获胜概率。

同样,第2队参加比赛并输掉比赛。模型预测也在这里对齐!

您刚才提到两个特定的行进行了匹配,但是根据可用的信息,我们不能说谁和谁一起玩。它只是一个模型,可以独立预测一个特定团队获胜的可能性。

编辑:

假设您有这样的数据!

gameID          Won/Lost   Home   Away  metric2 metric3 metric4   team1 team2 team3 team4
2017020001         1          1      0      10      10      10      1     0     0      0
2017020001         0          0      1      10      10      10      0     1     0      0

您可以按以下方式转换数据,从而改善模型。

Won/Lost  metric2 metric3 metric4 h_team1 h_team2 h_team3 h_team4 a_team1 a_team2 a_team3 a_team4
1            10      10      10      1       0        0      0         0      1        0      0

注意:赢/输的价值是主队的价值,这是h_team提到的。