python 比赛成绩预测_Python预测NBA比赛结果

下载W3Cschool手机App,0基础随时随地学编程导语

利用Python简单地预测一下NBA比赛结果。。。

这大概就叫蹭热度吧。。。

毕竟貌似今天朋友圈都在刷NBA相关的内容。。。

虽然我并不能看懂。。。

但这并不妨碍我瞎预测一波。。。

So,

以下内容纯属瞎玩,如有雷同,算我倒霉。。。

NBA忠实球迷请自动忽略不好结果。。。

相关文件

密码: 1n93

主要思路

(1)数据选取

获取数据的链接为:

https://www.basketball-reference.com/

获取的数据内容为:

每支队伍平均每场比赛的表现统计;

每支队伍的对手平均每场比赛的表现统计;

综合统计数据;

2016-2017年NBA常规赛以及季后赛的每场比赛的比赛数据;

2017-2018年NBA的常规赛以及季后赛的比赛安排。

(2)建模思路

主要利用数据内容的前四项来评估球队的战斗力。

利用数据内容的第五项也就是比赛安排来预测每场比赛的获胜队伍。

利用方式为:

数据内容的前三项以及根据数据内容的第四项计算的Elo等级分作为每支队伍的特征向量。

Elo等级分介绍(相关文件中有):

499265b6e1306fdca34583d1b1c48385.png

为方便起见,假设获胜方提高的Elo等级分与失败方降低的Elo等级分数值相等。

另外,为了体现主场优势,主场队伍的Elo等级分在原有基础上增加100。

(3)代码流程

数据初始化;

计算每支队伍的Elo等级分(初始值1600);

基于数据内容前三项和Elo等级分建立2016-2017年常规赛和季后赛中每场比赛的数据集;

使用sklearn中的LogisticRegression函数建立回归模型;

利用训练好的模型对17-18年常规赛和季后赛的比赛结果进行预测;

将预测结果保存到17-18Result.CSV文件中。

开发工具

Python版本:3.5.4

相关模块:

pandas模块、numpy模块、sklearn模块以及一些Python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

使用演示

在cmd窗口运行Analysis_NBA_Data.py文件即可:

02487a151c593135b01668fb3a4162d2.png

结果:

6e4938a9bde7f8ebf6abf4fb622195ca.png

更多

文章的初衷是为了让公众号推送的关于Python的小项目涉及的应用领域更加丰富多彩。从而激发部分Python初学者的学习热情,仅此而已。

这篇文章的技术含量并不高,模型简单,数据处理方式也比较随意。。。

可以优化的地方大概包括:

增加训练数据(如多利用几年数据);

优化训练模型(如sklearn中其他机器学习方法或者利用深度学习框架搭建相应的网络进行模型训练)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/356879.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ffmpeg摄像头推流

ffmpeg -f dshow -i video"Integrated Camera" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f mpegts udp://230.0.0.1:6000 默认是640x480 我I5的机器用了10%的CPU -r 25 设置帧率 -s 1280x720 指定分辨率 默认640x480 -g 1 -keyint_min 2 设置关键帧…

python简单实用案例_Ajax的简单实用实例代码

细说SSO单点登录(转)OAuth2.0:https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-security.html#boot-features-security-oauth2-resource-serverhttp...文章developerguy2016-07-131080浏览量怎样在不使用框架的基础上开发一个 Javascript 组件本…

适配器设计模式示例

本文是我们名为“ Java设计模式 ”的学院课程的一部分。 在本课程中,您将深入研究大量的设计模式,并了解如何在Java中实现和利用它们。 您将了解模式如此重要的原因,并了解何时以及如何应用模式中的每一个。 在这里查看 ! 目录 …

[转]Linux下g++编译与使用静态库(.a)和动态库(.os) (+修正与解释)

在windows环境下,我们通常在IDE如VS的工程中开发C项目,对于生成和使用静态库(*.lib)与动态库(*.dll)可能都已经比较熟悉,但是,在linux环境下,则是另一套模式,…

cesium鼠标控制键盘_Cesium中级教程3 - Camera - 相机(摄像机)

CameraCesiumJS中的Camera控制场景的视图。有很多方法可以操作Camera,如旋转(rotate)、缩放(zoom)、平移(pan)和飞到目的地(flyTo)。CesiumJS有鼠标和触摸事件用来处理与Camrea的交互,还有API来以编程方式操作摄像机。了解如何使用Camera API和自定义相机…

JAVA Junit error java.lang.SecurityException: class junit.framework.JUnit4TestCaseFacade

运行junit4时报错: java.lang.SecurityException: class "junit.framework.JUnit4TestCaseFacade"s signer information does not match signer information of other classes in the same package at java.lang.ClassLoader.checkCerts(Unknown Source) at java.lan…

windows下统一mysql编码_mysql5.7 windows7编码统一utf-8

查看mysql数据编码登录mysql服务,查看mysql数据库默认的编码mysql> show variables like character%;---------------------------------------------------------------------------| Variable_name | Value |------------------------------------------------…

复制选中的listbox内容

private void lt_log_MouseClick(object sender, MouseEventArgs e){Clipboard.SetDataObject(lt_log.SelectedItem.ToString()); }转载于:https://www.cnblogs.com/XuPengLB/p/5779554.html

heroku_WhateverOrigin –与Heroku和Play对抗原产地政策! 构架

heroku不久前,在编写 Bitcoin Pie时 ,我发现有必要克服臭名昭著的Same Origin Policy ,该政策限制了运行在客户端浏览器上的javascript可以访问的域。 通过Stack Overflow,我找到了一个名为Any Origin的站点,这基本上是…

python读取配置文件失败原因_python读取配置文件报keyerror-文件路径不正确导致的错误...

- 在其他模块使用反射读取配置文件报错,但是在反射模块中读取GetData.check_list又是正确的反射模块如下:# get_data.pyfrom API_AUTO.p2p_project_7.tools import project_pathimport pandas as pdfrom API_AUTO.p2p_project_7.tools.read_config impor…

备忘录设计模式示例

本文是我们名为“ Java设计模式 ”的学院课程的一部分。 在本课程中,您将深入研究大量的设计模式,并了解如何在Java中实现和利用它们。 您将了解模式如此重要的原因,并了解何时以及如何应用模式中的每一个。 在这里查看 ! 目录 …

redis命令学习

清空所有flushall 转载于:https://www.cnblogs.com/dragkiss/p/5784814.html

打印机一直显示正在删除不掉怎么办?

1、停止打印服务,按WinR键打开运行对话框,然后输入“services.msc ” 打开任务管理。 找到“Print Spooler”,先停止该服务。 按WinR键打开运行对话框,然后输入“Spool” 回车打开“spool” 文件夹,打开“PRINTERS”文…

java 并发 面试_Java 并发基础常见面试题总结

1. 什么是线程和进程?1.1. 何为进程?进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。在 Java 中,当我们启动 main 函数时其实就是启动了一个 JVM…

web性能测试基础 知识(引用)

1.1基本概念 并发用户:用户并发一般发生在使用比较频繁的模块中,而且遇到异常通常都是程序的问题。 用户并发数量:在线用户数量是计算并发用户数量的主要依据之一。使用系统的用户数量*(5%~20%) 并发主要针对WEB服务器而言,是否并…

javafx动画_JavaFX:创建Sprite动画

javafx动画到目前为止,尽管我的大多数文章都涉及JavaFX属性和绑定,但是今天我想写一讲我也致力于JavaFX运行时的另一部分:动画API。 在本文中,我将解释如何在JavaFX中编写自定义动画,以及如何使用这种方法为Sprite动画…

java自定义迭代器作用_Java实现的自定义迭代器功能示例

本文实例讲述了Java实现的自定义迭代器功能。分享给大家供大家参考,具体如下:编写自己的Iterator,实现Iterator接口,这里多说一句,实现Iterable后,可以用“foreach”循环遍历你的对象。import java.util.It…

FZU Problem 2238 Daxia Wzc's problem

Daxia在2016年5月期间去瑞士度蜜月,顺便拜访了Wzc,Wzc给他出了一个问题: Wzc给Daxia等差数列A(0),告诉Daxia首项a和公差d; 首先让Daxia求出数列A(0)前n项和,得到新数列A(1); 然后让Daxia求出数列A(1)前n项和,得到新数列A(2); 接着让Daxia求出数列A(2)前n项和,得到新…

生成器设计模式示例

本文是我们名为“ Java设计模式 ”的学院课程的一部分。 在本课程中,您将深入研究大量的设计模式,并了解如何在Java中实现和利用它们。 您将了解模式如此重要的原因,并了解何时以及如何应用模式中的每一个。 在这里查看 ! 目录 …

java项目遇到的问题_java系列:项目中遇到的一些问题(持续更新中)

JSONArray去重的问题 JSONArray array = ["2","0","0","0","0","0"]; private String[] instanceAaary(JSONArray array) throws JSONException{String[] strs = new String[array.length()]; for (int i = 0; i …