原文链接: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获胜者相关推荐

  1. python在Scikit-learn中用决策树和随机森林预测NBA获胜者

    在本文中,我们将以Scikit-learn的决策树和随机森林预测NBA获胜者.美国国家篮球协会(NBA)是北美主要的男子职业篮球联赛,被广泛认为是首屈一指的男子职业篮球联赛在世界上.它有30个团队(美 ...

  2. python在Scikit-learn中用决策树和随机森林预测NBA获胜者 1

    最近我们被要求撰写关于预测NBA的研究报告,包括一些图形和统计输出.我们将以Scikit-learn的决策树和随机森林预测NBA获胜者.美国国家篮球协会(NBA)是北美主要的男子职业篮球联赛,被广泛认 ...

  3. python 决策树和随机森林_【python机器学习笔记】使用决策树和随机森林预测糖尿病...

    决策树:一种有监督的机器学习分类算法,可以训练已知数据,做出对未知数据的预测. 机器学习中的分类任务殊途同归,都是要根据已知的数据特征获得最佳的分类方法.对于一个有多个特征的数据,我们需要知道根据哪些 ...

  4. 拓端tecdat荣获掘金社区入驻新人奖

    2021年7月,由掘金发起了"入驻成长礼"颁奖活动.本次活动邀请到知名开发者.服务机构代表等业界人士. 据了解,掘金社区"新入驻创作者礼"主要对已经积累了一定历 ...

  5. 拓端tecdat荣获2022年度51CTO博主之星

    相信技术,传递价值,这是51CTO每一个技术创作者的动力与信念,2022 年度,拓端tecdat 作为新锐的数据分析咨询公司,在51CTO平台上,不断的输出优质的技术文章,分享前沿创新技术,输出最佳生 ...

  6. 数据分享|Python决策树、随机森林、朴素贝叶斯、KNN(K-最近邻居)分类分析银行拉新活动挖掘潜在贷款客户...

    原文链接:http://tecdat.cn/?p=23518 项目背景:银行的主要盈利业务靠的是贷款,这些客户中的大多数是存款大小不等的责任客户(存款人).银行拥有不断增长的客户(点击文末" ...

  7. python决策树 value_直播案例 | 决策树、随机森林和 AdaBoost 的 Python 实现

    获取案例链接.直播课件.数据集在本公众号内发送"机器学习". 本案例使用 Python 逐步实现了三种基于树的模型:分类回归决策树(CART).随机森林和 AdaBoost .在实 ...

  8. 原理+代码|深入浅出Python随机森林预测实战

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 寒梅最堪恨,长作去年花. 前言 组 ...

  9. Python随机森林预测含水率

    Python随机森林预测含水率 import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn. ...

  10. Python进行决策树和随机森林

    Python进行决策树和随机森林 一.决策树 第一步,导入库: 第二步,导入数据: 第三步,数据预处理: 第四步,决策树: 第五步,决策树评价: 第六步,生成决策树图. 二.随机森林 第一步,随机森林 ...

最新文章

  1. 项目经理面试中可能遇到的问题
  2. 为SSIS编写自定义数据流组件(DataFlow Component)之进阶篇:自定义编辑器
  3. Asp.Net Core 5 REST API - Step by Step(一)
  4. Hibernate的懒加载session丢失解决方法
  5. TransFM:基于因子分解机的序列推荐方法
  6. 机器学习-吴恩达-笔记-2-逻辑回归
  7. 在Vue.js中使用Mixin
  8. pop3协议auth指令总结
  9. [unity独立游戏]多人游戏插件
  10. 微信服务号、订阅号和企业号的区别
  11. 关于键盘右边的 数字小写键盘不能使用的解决办法
  12. 360可以修复服务器系统吗,可以通过360急救箱修复系统
  13. excel中单元格的回车替换成其他字符
  14. 五个成人必看的故事!
  15. 超详细的canal使用总结
  16. 全网都在求的「蚂蚁呀嘿」教程--基于PaddleGAN的First order motion model实现
  17. 计算机二级Python真题(六)
  18. 正排索引和倒排索引的区别
  19. 微软使用郑码输入法10年未付费遭起诉
  20. 【CodeCombat-Python】地牢-kithgard 斗殴

热门文章

  1. 在Windows上使用Git和GitHub
  2. Silverlight 项目结构解析
  3. “相约重渡沟 情定鸡冠洞”消夏养生欢乐行活动
  4. 4月1日标准IO和文件IO的区别(个人收藏)
  5. python super().__init__()
  6. Practical Lessons from Predicting Clicks on Ads at Facebook
  7. Linux Mint---开启桌面三维特效
  8. 一维搜索——进退法matlab实现(含代码)
  9. 撩课-Web大前端每天5道面试题-Day4
  10. 使用Spring自定义注解实现任务路由