拓端tecdat|python在Scikit-learn中用决策树和随机森林预测NBA获胜者
原文链接:http://tecdat.cn/?p=5222
原文出处:拓端数据部落公众号
在本文中,我们将以Scikit-learn的决策树和随机森林预测NBA获胜者。美国国家篮球协会(NBA)是北美主要的男子职业篮球联赛,被广泛认为是首屈一指的男子职业篮球联赛在世界上。它有30个队(美国29个,加拿大1个)。
在 常规赛期间,每支球队打82场比赛,每场41场。一支球队每年会有四次面对对手(16场比赛)。每个小组在其四次(24场比赛)中的其他两个小组中的六个小组中进行比赛,其余四个小组三次(12场)进行比赛。最后,每个队都会在另一场比赛中两次参加所有的球队(30场比赛)。
用决策树和随机森林预测NBA获胜者
#导入数据集并解析日期
df = pd.read_csv("NBA_regularGames.csv",parse_dates=["Date"])
从描述中,我们可以计算概率。在每场比赛中,主队和客队都有一半概率赢得比赛。
预测类
在下面的代码中,我们将指定我们的分类。这将帮助我们查看决策树分类的预测是否正确。如果主队获胜,我们将指定我们的等级为1,如果访客队在另一个名为“主队赢”的列中获胜,我们将指定为0。
df["Home Team Win"] = df["Visitor Points"] < df["Home Points"]
主队胜率:58.4%
数组现在拥有scikit-learn可以读取的格式。
特征工程
我们将创建以下功能来帮助我们预测NBA的获胜者。
无论是来访者还是主队都赢得了最后一场比赛。
哪个队更好?
scikit-learn软件包实现CART(分类和回归树)算法作为其默认 决策树类
决策树实现提供了一种方法来停止构建树,以防止过度拟合:
•min_samples_split:可以创建任意叶子,以便在决策树中创建一个新节点。
•min_samples_leaf:保证从节点得到的叶子中的样本数量最少
建议使用min_samples_split或min_samples_leaf来控制叶节点处的采样数。非常小的数字通常意味着树将过度拟合,而大的数据将阻止树学习。
决策的另一个参数是创建决策的标准。基尼的不纯和信息收益是两种流行的:
•基尼:测量决策节点错误预测样本类别的频率
•信息增益:指示决策节点获得了多少额外信息
函数选择
我们通过指定我们希望使用的列并使用数据框视图的values参数,从数据集中提取要素以与我们的scikit-learn的DecisionTreeClassifier一起使用。我们使用cross_val_score函数来测试结果。
X_features_only = df [[ 'Home Win Streak' ,'Visitor Win Streak' ,'Home Team Ranks Higher' ,'Home Team Won Last' ,'Home Last Win' ,'Visitor Last Win' ]]
结果准确性:56.0%
有可能通过添加更多参数来提高准确性。
混淆矩阵显示了我们决策树的正确和不正确的分类。对角线1,295分别表示主队的真正获胜与否。左下角的1表示假阴性的数量。而右上角的195,误报的数量。我们也可以查看大约0.602的准确性分数,这表明决策树模型已经将60.2%的样本正确地归类为主队获胜与否。
导入pydotplus 图
出于探索的目的,较少数量的变量对获得决策树输出的理解会很有帮助。我们的第一个解释变量,主队获胜概率更高。如果主队排名低于4.5,那么主队输的概率更高。
如有任何问题、意见,请留言咨询
最受欢迎的见解
1.从决策树模型看员工为什么离职
2.R语言基于树的方法:决策树,随机森林
3.python中使用scikit-learn和pandas决策树
4.机器学习:在SAS中运行随机森林数据分析报告
5.R语言用随机森林和文本挖掘提高航空公司客户满意度
6.机器学习助推快时尚精准销售时间序列
7.用机器学习识别不断变化的股市状况——隐马尔可夫模型的应用
8.python机器学习:推荐系统实现(以矩阵分解来协同过滤)
9.python中用pytorch机器学习分类预测银行客户流失
拓端tecdat|python在Scikit-learn中用决策树和随机森林预测NBA获胜者相关推荐
- python在Scikit-learn中用决策树和随机森林预测NBA获胜者
在本文中,我们将以Scikit-learn的决策树和随机森林预测NBA获胜者.美国国家篮球协会(NBA)是北美主要的男子职业篮球联赛,被广泛认为是首屈一指的男子职业篮球联赛在世界上.它有30个团队(美 ...
- python在Scikit-learn中用决策树和随机森林预测NBA获胜者 1
最近我们被要求撰写关于预测NBA的研究报告,包括一些图形和统计输出.我们将以Scikit-learn的决策树和随机森林预测NBA获胜者.美国国家篮球协会(NBA)是北美主要的男子职业篮球联赛,被广泛认 ...
- python 决策树和随机森林_【python机器学习笔记】使用决策树和随机森林预测糖尿病...
决策树:一种有监督的机器学习分类算法,可以训练已知数据,做出对未知数据的预测. 机器学习中的分类任务殊途同归,都是要根据已知的数据特征获得最佳的分类方法.对于一个有多个特征的数据,我们需要知道根据哪些 ...
- 拓端tecdat荣获掘金社区入驻新人奖
2021年7月,由掘金发起了"入驻成长礼"颁奖活动.本次活动邀请到知名开发者.服务机构代表等业界人士. 据了解,掘金社区"新入驻创作者礼"主要对已经积累了一定历 ...
- 拓端tecdat荣获2022年度51CTO博主之星
相信技术,传递价值,这是51CTO每一个技术创作者的动力与信念,2022 年度,拓端tecdat 作为新锐的数据分析咨询公司,在51CTO平台上,不断的输出优质的技术文章,分享前沿创新技术,输出最佳生 ...
- 数据分享|Python决策树、随机森林、朴素贝叶斯、KNN(K-最近邻居)分类分析银行拉新活动挖掘潜在贷款客户...
原文链接:http://tecdat.cn/?p=23518 项目背景:银行的主要盈利业务靠的是贷款,这些客户中的大多数是存款大小不等的责任客户(存款人).银行拥有不断增长的客户(点击文末" ...
- python决策树 value_直播案例 | 决策树、随机森林和 AdaBoost 的 Python 实现
获取案例链接.直播课件.数据集在本公众号内发送"机器学习". 本案例使用 Python 逐步实现了三种基于树的模型:分类回归决策树(CART).随机森林和 AdaBoost .在实 ...
- 原理+代码|深入浅出Python随机森林预测实战
点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 寒梅最堪恨,长作去年花. 前言 组 ...
- Python随机森林预测含水率
Python随机森林预测含水率 import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn. ...
- Python进行决策树和随机森林
Python进行决策树和随机森林 一.决策树 第一步,导入库: 第二步,导入数据: 第三步,数据预处理: 第四步,决策树: 第五步,决策树评价: 第六步,生成决策树图. 二.随机森林 第一步,随机森林 ...
最新文章
- 项目经理面试中可能遇到的问题
- 为SSIS编写自定义数据流组件(DataFlow Component)之进阶篇:自定义编辑器
- Asp.Net Core 5 REST API - Step by Step(一)
- Hibernate的懒加载session丢失解决方法
- TransFM:基于因子分解机的序列推荐方法
- 机器学习-吴恩达-笔记-2-逻辑回归
- 在Vue.js中使用Mixin
- pop3协议auth指令总结
- [unity独立游戏]多人游戏插件
- 微信服务号、订阅号和企业号的区别
- 关于键盘右边的 数字小写键盘不能使用的解决办法
- 360可以修复服务器系统吗,可以通过360急救箱修复系统
- excel中单元格的回车替换成其他字符
- 五个成人必看的故事!
- 超详细的canal使用总结
- 全网都在求的「蚂蚁呀嘿」教程--基于PaddleGAN的First order motion model实现
- 计算机二级Python真题(六)
- 正排索引和倒排索引的区别
- 微软使用郑码输入法10年未付费遭起诉
- 【CodeCombat-Python】地牢-kithgard 斗殴
热门文章
- 在Windows上使用Git和GitHub
- Silverlight 项目结构解析
- “相约重渡沟 情定鸡冠洞”消夏养生欢乐行活动
- 4月1日标准IO和文件IO的区别(个人收藏)
- python super().__init__()
- Practical Lessons from Predicting Clicks on Ads at Facebook
- Linux Mint---开启桌面三维特效
- 一维搜索——进退法matlab实现(含代码)
- 撩课-Web大前端每天5道面试题-Day4
- 使用Spring自定义注解实现任务路由