拓端tecdat|python在Scikit-learn中用决策树和随机森林预测NBA获胜者

news2025/4/8 18:10:03

全文链接:http://tecdat.cn/?p=5222

原文出处:拓端数据部落公众号

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

 视频:从决策树到随机森林:R语言信用卡违约分析信贷数据实例

从决策树到随机森林:R语言信用卡违约分析信贷数据实例

,时长10:11

在 常规赛期间,每支球队打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机器学习分类预测银行客户流失

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

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

相关文章

【Transformers】第 5 章:微调文本分类的语言模型

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

Go语言入门【1】数据类型、变量、常量

常见基本数据类型 uint8&#xff1a;无符号8位整形&#xff0c;取值范围&#xff1a;0-255 uint16&#xff1a;无符号16位整形&#xff0c;取值范围&#xff1a;0-65535 uint32&#xff1a;无符号32位整形&#xff0c;取值范围&#xff1a;0-4294967295 uint64&#xff1a;…

高分辨空间代谢组学测试的样品要求以及常见问题

高分辨空间代谢组学可实现定量检测&#xff0c;亦可定性检测&#xff0c;且可一次可同时检出多种类型的化合物&#xff0c;包括脂类、小分子代谢物、蛋白质、药物及其载体等&#xff0c;并且能够呈现出这些物质的空间分布情况。高分辨空间代谢组学测试的样品要求&#xff1a; …

单链表思路讲解+C语言代码实现

单链表的实现什么是单链表单链表的结构图讲解创建链表打印链表尾插链表尾删链表头插链表和头删链表查询链表特定位置插入特定位置删除销毁链表总结学海无涯&#xff0c;苦作舟啊&#xff01; 老铁们加油 源代码放在总结处&#xff0c;需要的同志可以直接跳转到最后什么是单链表…

题库API调用详细教程

题库API调用详细教程 本平台优点&#xff1a; 多题库查题、独立后台、响应速度快、全网平台可查、功能最全&#xff01; 1.想要给自己的公众号获得查题接口&#xff0c;只需要两步&#xff01; 2.题库&#xff1a; 查题校园题库&#xff1a;查题校园题库后台&#xff08;点击…

洛谷千题详解 | P1010 [NOIP1998 普及组] 幂次方【C++、Java、Python、Pascal语言】

博主主页&#xff1a;Yu仙笙 专栏地址&#xff1a;洛谷千题详解 目录 题目描述 输入格式 输出格式 输入输出样例 解析&#xff1a; C源码&#xff1a; Pascal源码&#xff1a; Java源码&#xff1a; Python源码&#xff1a; ------------------------------------------------…

C#基础:类class与结构struct的区别

一、类class 类class是引用类型&#xff0c;可以直接赋值为null&#xff0c;默认值也是null XClass xClass null;//语法正确 一般来说&#xff0c;某个类对象使用另一个类的对象赋值时&#xff0c;则两者共用一个内存地址【节约内存空间】&#xff0c;ReferenceEquals引用比…

JDK的安装-详细版

大家好&#xff0c;我是研究大数据领域的 查德-常&#xff0c;大数据是一个随着数据量快速增长而应运而生的行业&#xff0c;让我来带你了解大数据吧。 JDK的安装JDK安装1.1 搜索jdk1.2 登录Oracle1.3 安装jdk1.4 环境配置1.5 验证是否安装好jdk由于粉丝中初学者比较多&#xf…

《web课程设计》用HTML CSS做一个简洁、漂亮的个人博客网站

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: ​​【主页——&#x1f680;获取更多优质源码】​​ &#x1f393; web前端期…

西祠胡同社区彻底消失

我是卢松松&#xff0c;点点上面的头像&#xff0c;欢迎关注我哦&#xff01; 今天打开西祠胡同&#xff0c;发现网站备案注销了&#xff0c;域名(www.xici.net)停止解析了&#xff0c;半年前1元转让股权的事也不了了之&#xff0c;西祠胡同就这样静悄悄的消失了&#xff0c;连…

MongoDB 数据库(一):MongoDB的介绍与安装

目录一、MongoDB数据库的介绍与安装1.1 NoSQL数据库简介1.2 MongoDB 简介1.2.1 再议业务应用场景1.2.2 为什么要使用 MongoDB1.2.3 适用场景二、安装和使用MongoDB客户端2.1 Windows 安装 MongoDB2.2 Linux-Centos7 安装 MongoDB2.3 安装Studio 3T一、MongoDB数据库的介绍与安装…

PyCharm连接远程Docker环境

1. docker 配置 使用-p参数暴露一个端口用于ssh连接。 docker run -itd --name wangchao_paddle --gpus all -p 8899:8888 -p 8822:22 -v /data:/root/data registry.baidubce.com/paddlepaddle/paddle:2.3.0-gpu-cuda10.2-cudnn7 /bin/bash如果镜像没有ssh则需要先安装。&am…

后台获取不到请求头中token信息的解决方法

前言 项目要做单点登录功能&#xff0c;于是在shiro的基础上加入了自定义的 Filter&#xff0c;使用 JWT 自定义生成和校验token信息。 功能写好后自己在 postman 中测试了效果&#xff0c;将 token 放在 Headers 中请求后台接口&#xff08;如下图&#xff0c;还没发现问题&…

【微服务】基于Ribbon实现负载均衡

前言 我们在上篇文章中讲解了如何通过Nacos实现服务治理&#xff0c;由此引发的负载均衡的问题。这篇文章就介绍一个SpringCloud alibaba的另一个组件&#xff1a;Ribbon&#xff0c;如何通过Ribbon实现负载均衡。 负载均衡 什么是负载均衡&#xff1f; 通俗的讲&#xff0…

C语言学习笔记

系列文章目录 1.元件基础 2.电路设计 3.PCB设计 4.元件焊接 5.板子调试 6.程序设计 7.算法学习 8.编写exe 9.检测标准 10.项目举例 11.职业规划 文章目录前言C的面向过程和C的面向对象1.C的数据类型与常量2.C中的变量1、什么是变量&#xff1f;2、变量名字的命名规则&#…

openlayer 加载4547坐标系 以及 wfs服务数据(或其他坐标系)

1.首先查看坐标系基础信息如范围等&#xff1a;如下图&#xff1a; 2.若将地图设置成4547坐标系&#xff1a; 核心代码&#xff1a; proj4.defs("EPSG:4547","projtmerc lat_00 lon_0114 k1 x_0500000 y_00 ellpsGRS80 unitsm no_defs typecrs");register…

ModelBox姿态匹配:抖抖手动动脚勤做深呼吸

摘要&#xff1a;本案例使用Windows版本的ModelBox SDK进行二次开发&#xff0c;主要是针对姿态匹配案例开发实践。本文分享自华为云社区《姿态匹配&#xff1a;抖抖手动动脚勤做深呼吸》&#xff0c;作者&#xff1a;吴小鱼。 在之前发布的AI说ModelBox推理真的高效吗一文中&…

对于含有琥珀酰亚胺酯的叠氮试剂Azidoacetic Acid NHS Ester,N3-C5-NHS ester,N3-C3-NHS ester 知识分享

本文重点为大家总结关于含有琥珀酰亚胺酯基团的叠氮基相关试剂的性质特点&#xff0c;西安凯新生物科技有限公司​主要从Azidoacetic Acid NHS Ester、N3-C5-NHS ester、N3-C3-NHS ester进行分享。 一、Azidoacetic Acid NHS Ester CAS&#xff1a;824426-32-6 中文名&#xff…

Linux shell脚本之回顾及实用笔记

一、前言 我们从事运维的小伙伴,除了自动化运维外,在没有自动化条件下,借助shell脚本/Python脚本来提升运维效率,无疑是一个必选项,当前也可以自建自动化运维平台,我们这里还是以Linux shell脚本为主,来汇总一些常用的运维脚本,对于有基础的同学,也随本文一起回顾下相…

【学习笔记】《模式识别》2:聚类分析

聚类分析 文章目录聚类分析一、聚类分析的概念二、相似性的测度1.距离的四条基本公理2.欧氏距离&#xff08;Euclid,欧几里得&#xff09;--距离3.马氏距离&#xff08;Maharanobis&#xff09;4.马氏距离与欧氏距离之间的关系5.明氏距离&#xff08;Minkowaki&#xff09;6.汉…