分享

利用Python编写的机器学习系统预测NBA比赛

 melon1024 2016-08-16

运动痴狂者们不想建立系统来预测比赛,但是如果你想赢得堵注或仅仅想要满足好奇心则一定要自己来建立系统。

幸运的是,如今互联网上有很多可以公开使用的先进统计工具如排球预测系统和优秀的机器学习图书馆,它们适用于各种变成语言。本文不是一篇综合性的编程设计文章,我只是想谈谈我这几个月的发现,并和大家分享一些代码,这些代码对于那些想要使用python进行机器学习的人非常有用。

我从哪里开始?

机器学习从建立模型开始,这些模型通过历史数据计算各属性权重与属性之间的关系,进而通过这些模型预测结果。所以,你需要了解你想要预测的运动,知道哪些变量可以影响预测结果,进而建立一个可以包含这些信息的数据库,最后运行机器学习算法分析历史数据从而计算这些变量的权重。

建立自己的数据库

你很幸运,因为我已经花费大量时间建立了NBANCAA的爬虫,这个爬虫可以下载NBANCAA全赛季的的比赛。所有你在建立相关数据库时可能遇到的问题在我的爬虫中都已经解决,并且你可以获得独一无二的信息。

我的爬虫(http://github.com/frangoitia/basketball-reference)抓取篮球比赛中表现优秀的球员,并将信息用复杂的json格式表示出来。现在,你需要设计一个方案来表示这些信息并添加到你自己的数据库中。我使用SQLAlchemy编写模型,这个模型可以建立数据库并建立分析系统。这些都可以在我的Github(http://github.com/frangoitia/basketball-analytics)主页中找到。

预测比赛

Scikit-Learn是一种利用python建立机器学习系统的方法。你需要知晓些属性可以通过历史数据更好的预测比赛。正如我前面所说,这样可以更好的了解这项运动并且使用优秀球员Dean Oliver的四元素矩阵(http://en./wiki/dean_oliver_(statistician))与其他人类学分析如Vegas线可以有更好的结果。

结果

如果你自己建立了机器学习模型你就会发现你可以预测比赛胜者,正确率70%。这个准确率对于想要赢得赌注的你来说还不够,但是还是要好过Espn专家与很多互联网上学术论文的准确率。你还可以学到很多关于这项运动、数据库、机器学习与Python的相关知识。我提前告诉你,一旦你开始试图证明这些运动员的能力时你可能会卷入一些麻烦中。


英文原文:https:///@frgoitia/how-to-create-your-own-machine-learning-predictive-system-in-the-nba-using-python-7189d964a371#.3c8219m43
译者:rainbow1991


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多