# MSC双周脑震荡——预测NBA队伍季后赛晋级概率
##数据
[点击下载86-16年NBA季后赛球队数据](http://pan.baidu.com/s/1gfbuN1x)
## 安装
本程序基于python2.7+numpy+scipy+scikit-learn实现。在运行前请先安装所有环境和依赖库。
下面给出所有环境和库的资源下载地址和注意事项。
- python2.7
[点击下载python2.7.13][1]
*注意:安装python时要勾选添加环境变量选项,或者安装后人工添加,详见:[python2.7安装教程][2]。*
- pip
[点击下载pip][3]
*注意:如果你安装的是python2.7版本,pip是预装好的,可以直接使用无需安装。如果你无法使用pip请人工安装,详见:[pip安装教程][4]。*
- numpy+mkl
[点击下载numpy+mkl][5]
*注意:本程序需要的是numpy+mkl库而不是numpy库,若已存在numpy库请先卸载numpy库,然后安装numpy+mkl。*
```
pip uninstall numpy # 卸载numpy
pip install numpy-1.11.3+mkl-cp27-cp27m-win_amd64.whl # 安装numpy-mkl
```
- scipy
[点击下载scipy][6]
*注意:scipy依赖于numpy+mkl请安装好numpy+mkl后进行安装。*
```
pip install scipy-0.18.1-cp27-cp27m-win_amd64.whl #安装scipy
```
- scikit-learn
[点击下载scikit-learn][7]
*注意:完成前面的步骤后,可以直接使用pip下载并安装scikit-learn,或者点击上面的链接下载scikit-learn的whl文件,使用和前面一样的方法安装scikit-learn。*
```
pip install -U scikit-learn # 方法一 下载并安装scikit-learn
pip install scikit_learn-0.18.1-cp27-cp27m-win_amd64.whl # 方法二 安装下载好的whl文件
```
- pyExcelerator
*注意:未找到本库的whl文件,可以直接使用pip安装。*
```
pip install pyExcelerator # 安装pyExcelerator
```
## 运行
使用命令行进入app文件夹路径下,在命令行输入:
```
python main.py
```
程序会自动读取所有测试数据(年份能被3整除的数据),并输出所有预测结果。
若要输出单一年份的结果,在命令行输入:
```
python main.py 86
```
*注意:*
1. *为了解决windows端命令行中文输出乱码问题,代码中对输出进行了转码。此时若使用pyCharm等IDE运行会出现乱码,若使用IDE运行,请将*`nba_predict`*文件中*`predict_output()`*函数的所有*`.decode('utf-8').encode('gbk')`*代码删去即可。*
2. *为了防止作弊程序内没有任何可以直接输出结果的代码,唯一的数据是data文件夹中的原始数据,该数据已经根据对阵情况进行了排名的修正。在程序第一次运行之后data_processed_rank和data_processed_diff文件夹内会有程序处理后的格式化的数据文件缓存,请不要改变目录结构。*
## 解题思路
在季后赛对决中,对阵规则是尽可能的让排名高球队和排名低球队先进行对决,排名高低不仅在一定程度上代表球队实力强弱,也能决定是否具有主场优势。在季后赛晋级预测中仅根据“排名高+主场赢得可能性大”这一规则即可达到较高准确率。
在本规则的基础之上,本程序训练了两个模型进行预测,帮助决策:
- 提取两两季后赛对决球队之间的投篮、三分、罚球命中率、篮板数、助攻数、抢断数、盖帽数、失误数、场均得分、场均失分、胜场数各个值的差值作为特征,对决结果(胜或负)作为label,输入到Gradient Boosting Decision Tree(GBDT)模型中,训练出分类器进行预测。
- 提取每支球队各项数据在当年对应联盟的排名作为特征,该球队每一轮是否晋级作为label,输入到GBDT模型中,训练出模型进行预测。
由于时间跨越30年,联盟的主流打法也有了很大的改变,为了让不同时期的预测符合当时的情况,在训练集构建的时候采用时间滑窗的方法,取与预测年份较为接近的训练数据进行训练。
最终将“排名+主客场”规则和两个模型进行加权融合得到最终的模型。
由于ensemble方法存在一定的随机性,为了使结果稳定,本程序每次预测将用最终模型预测多次,对结果进行投票,输出票数最高者。
[1]: https://www.python.org/downloads/release/python-2713/
[2]: http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001374738150500472fd5785c194ebea336061163a8a974000
[3]: https://pypi.python.org/pypi/pip#downloads
[4]: http://www.tuicool.com/articles/eiM3Er3
[5]: http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
[6]:http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
[7]:http://www.lfd.uci.edu/~gohlke/pythonlibs/#scikit-learn
没有合适的资源?快使用搜索试试~ 我知道了~
大数据竞赛.zip
共65个文件
jar:26个
java:11个
py:9个
需积分: 5 1 下载量 164 浏览量
2024-04-25
23:12:10
上传
评论
收藏 4.51MB ZIP 举报
温馨提示
Big Data (大数据),或称巨量资料,指的是在传统数据处理应用软件不足以处理的大或复杂的数据集。大数据也可以定义为来自各种来源的大量非结构化或结构化数据。从学术角度而言,大数据的出现促成广泛主题的新颖研究。这也导致各种大数据统计方法的发展。大数据并没有统计学的抽样方法;它只是观察和追踪发生的事情。因此,大数据通常包含的数据大小超出传统软件在可接受的时间内处理的能力。由于技术进步,发布新数据的便捷性以及全球大多数政府对高透明度的要求,大数据分析在现代研究中越来越突出。
资源推荐
资源详情
资源评论
收起资源包目录
大数据竞赛.zip (65个子文件)
content
tianchi
clothes_matching
first_season
model_sametime.py 2KB
tf-idf.py 4KB
README.md 255B
o2o
first_season
data_process_upgraded.py 18KB
file_data.py 399B
README.md 1KB
Microsoft
nba
app
main.py 5KB
data_processed.py 19KB
nba_predict.py 23KB
README.md 5KB
BOP2016
.classpath 3KB
.settings
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.jdt.core.prefs 357B
.jsdtscope 555B
org.eclipse.wst.common.component 456B
org.eclipse.wst.common.project.facet.core.xml 335B
org.eclipse.wst.jsdt.ui.superType.container 49B
image
topic.png 96KB
score.png 9KB
src
sgd
GetAPI.java 1KB
Compute.java 14KB
Result.java 393B
ComputeAuId2Id.java 5KB
ReqAndComThread.java 1KB
ReqThread.java 534B
ComputeAuId2AuId.java 3KB
ComputeId2AuId.java 5KB
IdObject.java 456B
JsonTools.java 9KB
com
test
action
TestServlet.java 5KB
WebContent
WEB-INF
lib
ezmorph-1.0.6.jar 84KB
json.jar 92KB
httpmime-4.2.5.jar 26KB
httpclient-cache-4.2.5.jar 113KB
commons-collections-3.2.1.jar 562KB
jaxb-api-2.1.jar 101KB
jettison-1.1.jar 66KB
stax-api-1.0-2.jar 23KB
jaxb-impl-2.1.12.jar 847KB
jersey-core-1.1.5.jar 336KB
jersey-json-1.1.5.jar 128KB
jersey-server-1.1.5.jar 567KB
commons-codec-1.6.jar 227KB
json-lib-2.4-jdk15.jar 155KB
httpcore-4.2.4.jar 222KB
commons-beanutils-1.8.3.jar 227KB
jackson-core-asl-1.1.1.jar 102KB
commons-lang-2.6.jar 278KB
jsr311-api-1.1.1.jar 45KB
asm-3.1.jar 42KB
servlet-api.jar 193KB
jersey-client-1.1.5.jar 88KB
fluent-hc-4.2.5.jar 21KB
commons-logging-1.1.1.jar 59KB
activation-1.1.jar 62KB
httpclient-4.2.5.jar 423KB
web.xml 529B
META-INF
MANIFEST.MF 36B
.project 1001B
.gitignore 8B
README.md 4KB
kaggle
titanic_machine_learning_from_disaster
getting_started
python_upgrade.py 3KB
python.py 2KB
README.md 472B
README.md 334B
共 65 条
- 1
资源评论
生瓜蛋子
- 粉丝: 3815
- 资源: 4660
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 驱动代码驱动代码驱动代码驱动代码
- SVID_20240523_141155_1.mp4
- Code for the complete guide to tkinter tutorial
- 关于百货中心供应链管理系统.zip
- SimpleFolderIcon-master 修改Unity的Project下的文件夹图标
- A python Tkinter widget to display tile based maps
- A pure Python library for adding tables to a Tkinter application
- Vector资源文件.zip
- MobaXterm-Installer
- 88-520告白(520气球).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功