用 Python 编写的机器学习系统预测 NBA 的尝试

用 Python 编写的机器学习系统预测 NBA 的尝试

原文:https://medium.com/hackernoon/how-to-predict-the-nba-with-a-machine-learning-system-written-in-python-part-ii-f276b19520b9

我现在想用更多的技术术语来谈谈我在第一篇中讨论的模型。我想,迟到一年总比不到好。

为了预测比赛的结果,我使用了逻辑回归模型。我将其与基于朴素贝叶斯、神经网络、随机森林和支持向量机的模型进行了比较。每个模型都被交叉验证,并找到了它们的最佳超参数。'

我坚持使用逻辑回归模型的原因是,它的预测精度与更复杂的解决方案相当,甚至更高,而且模型的透明性意味着你可以用它进行定性分析。通过逻辑回归,你可以了解什么是关键特征及其权重。此外,逻辑回归会返回非常准确的概率,这对于了解您对预测的信心非常重要。

特征

该模型由以下特征及其系数组成。在拟合模型之前,特征是标准化的:

  • 主场优势:0.10218887
  • 有效射门百分比差值:0.16118265
  • 成交百分比差异:-0.05958713
  • 进攻篮板百分比差:0.07061777
  • 罚球命中率差距:0.03267933
  • 过去 7 天内行驶的距离差值:-0.01459163
  • 最近七场比赛的形式差异:0.0828436
  • 进攻分差:0.17885523
  • 防御等级差异:-0.33924331
  • 有效射门百分比差(球场*): 0.10808104
  • 成交百分比差额(法院*): -0.09548481
  • 进攻篮板百分比差(场*): 0.07055131
  • 罚球投篮次数差(court*): 0.0748545
  • 最近七场比赛的形式差异(court *):-0.0086437
  • 进攻分差(法院*): 0.14822224
  • 防守评分差(法院*): -0.21756487

*考虑球场情况意味着,例如,如果 A 队是东道主,B 队是客队,有效投篮命中率将是:主场比赛时的有效投篮命中率——客场比赛时的有效投篮命中率)

给定比赛的输入将是两个团队之间的这些指标的差异。

表演

我们以上一个凯尔特人戒指赛季为例:2007-2008。这个模型可以正确预测 70 %的匹配。

这个数字好吗?显然,我们希望随机选择赢家的虚拟模型有 50 %的正确率。然而,我们有一个更好的基准:维加斯货币线。一个简单地预测维加斯最喜欢的人会赢的模型,在 69.8 %的时间里是正确的。考虑到这是博彩公司的谋生之道,花费大量资源建立模型来设定赔率,并利用市场的力量,我认为有类似于拉斯维加斯的表现是一个伟大的结果。

有趣的是,我们的模型在 87.6%的时候选择了拉斯维加斯的最爱,而 12.4 %的时候选择了失败者。51 %的情况下,它正确地预测到了处于劣势的一方会赢。


本站为非盈利网站,作品由网友提供上传,如无意中有侵犯您的版权,请联系删除