利用Python预测NBA比赛结果

关注「实验楼」,每天分享一个项目教程   

NBA总决赛正在火热上演,而有数据的地方就有预测,本教程就教你使用Python预测NBA比赛的结果。

正文共:3240 字 

预计阅读时间:8 分钟

一、实验介绍

1.1 内容简介

不知道你是否朋友圈被刷屏过nba的某场比赛进度或者结果?或者你就是一个nba狂热粉,比赛中的每个进球,抢断或是逆转压哨球都能让你热血沸腾。除去观赏精彩的比赛过程,我们也同样好奇比赛的结果会是如何。因此本节课程,将给同学们展示如何使用nba比赛的以往统计数据,判断每个球队的战斗力,及预测某场比赛中的结果。

我们将基于2015-2016年的NBA常规赛及季后赛的比赛统计数据,预测在当下正在进行的2016-2017常规赛每场赛事的结果。

640?wx_fmt=png

1.2 实验知识点

  • nba球队的Elo score计算

  • 特征向量

  • 逻辑回归

1.3 实验环境

  • python2.7

  • Xfce终端

1.4 实验流程

本次课程我们将按照下面的流程实现NBA比赛数据分析的任务:

  1. 获取比赛统计数据

  2. 比赛数据分析,得到代表每场比赛每支队伍状态的特征表达

  3. 利用**机器学习**方法学习每场比赛与胜利队伍的关系,并对2016-2017的比赛进行预测

1.5 代码获取

本次实验的源码可通过以下命令获得:

$ wget http://labfile.oss.aliyuncs.com/courses/782/prediction.py

二、获取 NBA比赛统计数据

2.1 比赛数据介绍

在本次实验中,我们将采用Basketball Reference.com中的统计数据。在这个网站中,你可以看到不同球员、队伍、赛季和联盟比赛的基本统计数据,如得分,犯规次数等情况,胜负次数等情况。而我们在这里将会使用2015-16 NBA Season Summary中数据。

640?wx_fmt=png

在这个2015-16总结的所有表格中,我们将使用的是以下三个数据表格:

  • Team Per Game Stats:每支队伍平均每场比赛的表现统计

| 数据名 | 含义 || ------------------------------------ | -------------- || Rk -- Rank | 排名 || G -- Games | 参与的比赛场数(都为82场) || MP -- Minutes Played | 平均每场比赛进行的时间 || FG--Field Goals | 投球命中次数 || FGA--Field Goal Attempts | 投射次数 || FG%--Field Goal Percentage | 投球命中次数 || 3P--3-Point Field Goals | 三分球命中次数 || 3PA--3-Point Field Goal Attempts | 三分球投射次数 || 3P%--3-Point Field Goal Percentage | 三分球命中率 || 2P--2-Point Field Goals | 二分球命中次数 || 2PA--2-point Field Goal Attempts | 二分球投射次数 || 2P%--2-Point Field Goal Percentage | 二分球命中率 || FT--Free Throws | 罚球命中次数 || FTA--Free Throw Attempts | 罚球投射次数 || FT%--Free Throw Percentage | 罚球命中率 || ORB--Offensive Rebounds | 进攻篮板球 || DRB--Defensive Rebounds | 防守篮板球 || TRB--Total Rebounds | 篮板球总数 || AST--Assists | 助攻 || STL--Steals | 抢断 || BLK -- Blocks | 封盖 || TOV -- Turnovers | 失误 || PF -- Personal Fouls | 个犯 || PTS -- Points | 得分 |

  • Opponent Per Game Stats:所遇到的对手平均每场比赛的统计信息,所包含的统计数据与Team Per Game Stats中的一致,只是代表的该球队对应的对手的

  • Miscellaneous Stats:综合统计数据

数据项数据含义
Rk (Rank)排名
Age队员的平均年龄
W (Wins)胜利次数
L (Losses)失败次数
PW (Pythagorean wins)基于毕达哥拉斯理论计算的赢的概率
PL (Pythagorean losses)基于毕达哥拉斯理论计算的输的概率
MOV (Margin of Victory)赢球次数的平均间隔
SOS (Strength of Schedule)用以评判对手选择与其球队或是其他球队的难易程度对比,0为平均线,可以为正负数
SRS (Simple Rating System)3
ORtg (Offensive Rating)每100个比赛回合中的进攻比例
DRtg (Defensive Rating)每100个比赛回合中的防守比例
Pace (Pace Factor)每48分钟内大概会进行多少个回合
FTr (Free Throw Attempt Rate)罚球次数所占投射次数的比例
3PAr (3-Point Attempt Rate)三分球投射占投射次数的比例
TS% (True Shooting Percentage)二分球、三分球和罚球的总共命中率
eFG% (Effective Field Goal Percentage)有效的投射百分比(含二分球、三分球)
TOV% (Turnover Percentage)每100场比赛中失误的比例
ORB% (Offensive Rebound Percentage)球队中平均每个人的进攻篮板的比例
FT/FGA罚球所占投射的比例
eFG% (Opponent Effective Field Goal Percentage)对手投射命中比例
TOV% (Opponent Turnover Percentage)对手的失误比例
DRB% (Defensive Rebound Percentage)球队平均每个球员的防守篮板比例
FT/FGA (Opponent Free Throws Per Field Goal Attempt)对手的罚球次数占投射次数的比例

毕达哥拉斯定律:640?wx_fmt=png

我们将用这三个表格来评估球队过去的战斗力,另外还需2015-16 NBA Schedule and Results中的2015~2016年的nba常规赛及季后赛的每场比赛的比赛数据,用以评估Elo score(在之后的实验小节中解释)。在Basketball Reference.com中按照从常规赛至季后赛的时间。列出了2015年10月份至2016年6月份的每场比赛的比赛情况。

640?wx_fmt=png

可在上图中,看到2015年10月份的部分比赛数据。在每个*Schedule*表格中所包含的数据为:

数据项数据含义
Date比赛日期
Start (ET)比赛开始时间
Visitor/Neutral客场作战队伍
PTS客场队伍最后得分
Home/Neutral主场队伍
PTS主场队伍最后得分
Notes备注,表明是否为加时赛等

在预测时,我们同样也需要在2016-17 NBA Schedule and Results中2016~2017年的NBA的常规赛比赛安排数据。

2.2 获取比赛数据

我们将以获取Team Per Game Stats表格数据为例,展示如何获取这三项统计数据。

  1. 进入到用Basketball Reference.com中,在导航栏中选择Season并选择2015~2016赛季中的Summary

    640?wx_fmt=png

  2. 进入到2015~2016年的Summary界面后,滑动窗口找到Team Per Game Stats表格,并选择左上方的Share & more,在其下拉菜单中选择Get table as CSV (for Excel)

    640?wx_fmt=png

  3. 复制在界面中生的的csv格式数据,并复制粘贴至一个文本编辑器保存为csv文件即可:

    640?wx_fmt=gif

为了方便同学们进行实验,我们已经将数据全部都保存成*csv*文件上传至实验楼的云环境中。在后续的代码实现小节里,我们将给出获取这些文件的地址。

三、数据分析

在获取到数据之后,我们将利用每支队伍过去的比赛情况Elo 等级分来判断每支比赛队伍的可胜概率。在评价到每支队伍过去的比赛情况时,我们将使用到Team Per Game StatsOpponent Per Game StatsMiscellaneous Stats(之后简称为T、O和M表)这三个表格的数据,作为代表比赛中某支队伍的比赛特征。我们最终将实现针对每场比赛,预测比赛中哪支队伍最终将会获胜,但并不是给出绝对的胜败情况,而是预判胜利的队伍有多大的获胜概率。因此我们将建立一个代表比赛的特征向量。由两支队伍的以往比赛情况统计情况(T、O和M表),和两个队伍各自的Elo等级分构成。

关于Elo score等级分,不知道同学们是否看过《社交网络》这部电影,在这部电影中,Mark(主人公原型就是扎克伯格,FaceBook创始人)在电影起初开发的一个美女排名系统就是利用其好友Eduardo在窗户上写下的排名公式,对不同的女生进行等级制度对比,最后PK出胜利的一方。

640?wx_fmt=png

这条对比公式就是Elo Score等级分制度。Elo的最初为了提供国际象棋中,更好地对不同的选手进行等级划分。在现在很多的竞技运动或者游戏中都会采取Elo等级分制度对选手或玩家进行等级划分,如足球、篮球、棒球比赛或LOL,DOTA等游戏。

在这里我们将基于国际象棋比赛,大致地介绍下Elo等级划分制度。在上图中Eduardo在窗户上写下的公式就是根据Logistic Distribution计算PK双方(A和B)对各自的胜率期望值计算公式。假设A和B的当前等级分为$$R_A$$$$R_B$$,则A对B的胜率期望值为:

640?wx_fmt=png

B对A的胜率期望值为

640?wx_fmt=png

如果棋手A在比赛中的真实得分$$S_A$$(胜1分,和0.5分,负0分)和他的胜率期望值$$E_A$$不同,则他的等级分要根据以下公式进行调整:

640?wx_fmt=png

在国际象棋中,根据等级分的不同K值也会做相应的调整:

  • $$\ge2400$$,K=16

  • 2100~2400分,K=24

  • $$\le2100$$,K=32

因此我们将会用以表示某场比赛数据的特征向量为(加入A与B队比赛):[A队Elo score, A队的T,O和M表统计数据,B队Elo score, B队的T,O和M表统计数据]

四、基于数据进行模型训练和预测

4.1 实验前期准备

在本次实验环境中,我们将会使用到python的pandasnumpyscipysklearn库,不过实验楼中已经安装了numpy,所以在实验前,我们需要先利用pip命令安装另外三个Python库。

$ sudo pip install pandas
$ sudo pip install scipy
$ sudo pip install sklearn

在安装完所需的实验库之后,进入到实验环境的Code目录下,创建cs_782文件夹,并且通过以下地址获取我们为大家处理好的csv文件压缩包data.zip

$ cd Code
$ mkdir cs_782 && cd cs_782

# 获取数据文件
$ wget http://labfile.oss.aliyuncs.com/courses/782/data.zip

# 解压data压缩包并且删除该压缩包
$ unzip data.zip
$ rm -r data.zip

data文件夹中,包含了2015~2016年的NBA数据T,O和M表,及经处理后的常规赛和挑战赛的比赛数据2015~16result.csv,这个数据文件是我们通过在basketball-reference.com的2015-16 Schedule and result的几个月份比赛数据中提取得到的,其中包括三个字段:

  • WTeam: 比赛胜利队伍

  • LTeam: 失败队伍

  • WLoc: 胜利队伍一方所在的为主场或是客场

另外一个文件就是16-17Schedule.csv,也是经过我们加工处理得到的NBA在2016~2017年的常规赛的比赛安排,其中包括两个字段:

  • Vteam: 访问/客场作战队伍

  • Hteam: 主场作战队伍

4.2 代码实现

Code\cs_782目录下,创建prediction.py开始实验。首先插入实验相关模块:

# -*- coding:utf-8 -*-
import pandas as pd
import math
import csv
import random
import numpy as np
from sklearn import linear_model
from sklearn.model_selection import cross_val_score

设置回归训练时所需用到的参数变量:

# 当每支队伍没有elo等级分时,赋予其基础elo等级分
base_elo = 1600
team_elos = {}
team_stats = {}
X = []
y = []
folder = 'data' #存放数据的目录

在最开始需要初始化数据,从T、O和M表格中读入数据,去除一些无关数据并将这三个表格通过Team属性列进行连接:

# 根据每支队伍的Miscellaneous Opponent,Team统计数据csv文件进行初始化
def initialize_data(Mstat, Ostat, Tstat):
new_Mstat = Mstat.drop(['Rk', 'Arena'], axis=1)
new_Ostat = Ostat.drop(['Rk', 'G', 'MP'], axis=1)
new_Tstat = Tstat.drop(['Rk', 'G', 'MP'], axis=1)

team_stats1 = pd.merge(new_Mstat, new_Ostat, how='left', on='Team')
team_stats1 = pd.merge(team_stats1, new_Tstat, how='left', on='Team')
return team_stats1.set_index('Team', inplace=False, drop=True)

获取每支队伍的Elo Score等级分函数,当在开始没有等级分时,将其赋予初始base_elo值:

def get_elo(team):
try:
return team_elos[team]
except:
# 当最初没有elo时,给每个队伍最初赋base_elo
team_elos[team] = base_elo
return team_elos[team]

定义计算每支球队的Elo等级分函数:

# 计算每个球队的elo值
def calc_elo(win_team, lose_team):
winner_rank = get_elo(win_team)
loser_rank = get_elo(lose_team)

rank_diff = winner_rank - loser_rank
exp = (rank_diff * -1) / 400
odds = 1 / (1 + math.pow(10, exp))
# 根据rank级别修改K值
if winner_rank < 2100:
k = 32
elif winner_rank >= 2100 and winner_rank < 2400:
k = 24
else:
k = 16
new_winner_rank = round(winner_rank + (k * (1 - odds)))
new_rank_diff = new_winner_rank - winner_rank
new_loser_rank = loser_rank - new_rank_diff

return new_winner_rank, new_loser_rank

基于我们初始好的统计数据,及每支队伍的Elo score计算结果,建立对应2015~2016年常规赛和季后赛中每场比赛的数据集(在主客场比赛时,我们认为主场作战的队伍更加有优势一点,因此会给主场作战队伍相应加上100等级分):

def  build_dataSet(all_data):
print("Building data set..")
X = []
skip = 0
for index, row in all_data.iterrows():

Wteam = row['WTeam']
Lteam = row['LTeam']

#获取最初的elo或是每个队伍最初的elo值
team1_elo = get_elo(Wteam)
team2_elo = get_elo(Lteam)

# 给主场比赛的队伍加上100的elo值
if row['WLoc'] == 'H':
team1_elo += 100
else:
team2_elo += 100

# 把elo当为评价每个队伍的第一个特征值
team1_features = [team1_elo]
team2_features = [team2_elo]

# 添加我们从basketball reference.com获得的每个队伍的统计信息
for key, value in team_stats.loc[Wteam].iteritems():
team1_features.append(value)
for key, value in team_stats.loc[Lteam].iteritems():
team2_features.append(value)

# 将两支队伍的特征值随机的分配在每场比赛数据的左右两侧
# 并将对应的0/1赋给y值
if random.random() > 0.5:
X.append(team1_features + team2_features)
y.append(0)
else:
X.append(team2_features + team1_features)
y.append(1)

if skip == 0:
print X
skip = 1

# 根据这场比赛的数据更新队伍的elo值
new_winner_rank, new_loser_rank = calc_elo(Wteam, Lteam)
team_elos[Wteam] = new_winner_rank
team_elos[Lteam] = new_loser_rank

return np.nan_to_num(X), y

最终在main函数中调用这些数据处理函数,使用sklearn的Logistic Regression方法建立回归模型:

if __name__ == '__main__':

Mstat = pd.read_csv(folder + '/15-16Miscellaneous_Stat.csv')
Ostat = pd.read_csv(folder + '/15-16Opponent_Per_Game_Stat.csv')
Tstat = pd.read_csv(folder + '/15-16Team_Per_Game_Stat.csv')

team_stats = initialize_data(Mstat, Ostat, Tstat)

result_data = pd.read_csv(folder + '/2015-2016_result.csv')
X, y = build_dataSet(result_data)

# 训练网络模型
print("Fitting on %d game samples.." % len(X))

model = linear_model.LogisticRegression()
model.fit(X, y)

#利用10折交叉验证计算训练正确率
print("Doing cross-validation..")
print(cross_val_score(model, X, y, cv = 10, scoring='accuracy', n_jobs=-1).mean())

最终利用训练好的模型在16~17年的常规赛数据中进行预测。利用模型对一场新的比赛进行胜负判断,并返回其胜利的概率:

def predict_winner(team_1, team_2, model):
features = []

# team 1,客场队伍
features.append(get_elo(team_1))
for key, value in team_stats.loc[team_1].iteritems():
features.append(value)

# team 2,主场队伍
features.append(get_elo(team_2) + 100)
for key, value in team_stats.loc[team_2].iteritems():
features.append(value)

features = np.nan_to_num(features)
return model.predict_proba([features])

在main函数中调用该函数,并将预测结果输出到16-17Result.csv文件中:

#利用训练好的model在16-17年的比赛中进行预测
print('Predicting on new schedule..')
schedule1617 = pd.read_csv(folder + '/16-17Schedule.csv')
result = []
for index, row in schedule1617.iterrows():
team1 = row['Vteam']
team2 = row['Hteam']
pred = predict_winner(team1, team2, model)
prob = pred[0][0]
if prob > 0.5:
winner = team1
loser = team2
result.append([winner, loser, prob])
else:
winner = team2
loser = team1
result.append([winner, loser, 1 - prob])

with open('16-17Result.csv', 'wb') as f:
writer = csv.writer(f)
writer.writerow(['win', 'lose', 'probability'])
writer.writerows(result)

运行prediction.py

640?wx_fmt=png

生成预测结果文件16-17Result.csv文件:

640?wx_fmt=png

640?wx_fmt=png

五、总结

在本节课程中,我们利用Basketball-reference.com的部分统计数据,计算每支nba比赛队伍的Elo socre,和利用这些基本统计数据评价每支队伍过去的比赛情况,并且根据国际等级划分方法Elo Score对队伍现在的战斗等级进行评分,最终结合这些不同队伍的特征判断在一场比赛中,哪支队伍能够占到优势。但在我们的预测结果中,与以往不同,我们没有给出绝对的正负之分,而是给出胜算较大一方的队伍能够赢另外一方的概率。当然在这里,我们所采用评价一支队伍性能的数据量还太少(只采用了15~16年一年的数据),如果想要更加准确、系统的判断,有兴趣的你当然可以从各种统计数据网站中获取到更多年份,更加全面的数据。结合不同的回归决策机器学习模型,搭建一个更加全面,预测准确率更高的模型。在kaggle中有相关的篮球预测比赛项目,有兴趣的同学可尝试一下。

六、参考阅读

  • 知乎:在哪能看到最全面细致的NBA数据统计

  • How I won my NCAA tournament bracket pool using machine learning

七、课后习题

本次课程中,我们只是利用了scikit-learn提供的Logisitc Regression方法进行回归模型的训练,你可否尝试scikit-learn中的其他机器学习方法,或者其他类似于TensorFlow的开源框架,结合我们所提供的数据集进行训练。若采用Scikit-learn中的方法,可参看实验楼的课程:ebay在线拍卖数据分析。或是结合下图进行模型的尝试:

640?wx_fmt=png

八、常见疑问解答补充

在这里我们将对之前在文档中解释得比较模糊的部分做一点补充,之后有疑问的欢迎同学们在课程讨论区提出讨论。

Q1: 在生成训练集时,“将特征值随机分配在每场比赛数据的左右侧”是什么意思?为什么要做如下的随机分配:

640?wx_fmt=png

Q2: 为什么按照X: [winTeam, loseTeam]对应标签Y: 0X: [loseTeam, winTeam]对应标签Y: 1,这样的取法在后边进行预测[team1, team2]的比赛结果时,是否应该按照$$prob<0.5$$team1胜出,胜出概率为$$1-prob$$$$prob>0.5$$team2胜出,胜出概率为$$prob$$

答案和完整代码点击 阅读原文 即可观看敲代码是学编程的唯一方式~PC端登陆实验楼,亲手敲出这个项目吧!


学习更多


楼+「 PHP7实战 」、「 Linux运维与Devops实战 」优惠报名中——来自腾讯、Intel、IBM等互联网大厂的一线大牛,带你从零入门成为PHP、Linux大咖!

点击下面的链接了解详情:

11周打通 Linux 任督二脉,实验楼技术天团带你飞!

他在一线互联网大厂研发PHP数年,用6周时间带你打通“全宇宙最好的语言

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

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

相关文章

PayPal,Stripe,Square轮询支付系统

轮询展示 展示我们轮询的页面 轮询套餐 根据不同的用户和需求&#xff0c;可以选择不同的套餐 普通版 1500元 1年 1个用户 支持Paypal/Stripe 不限制A站个数 不限制B站个数 不限制提交模式 订单管理 物流管理 风控管理 必要的网站数据处理 24小时远程协助 开始…

使用chatgpt过掉邮生活滑块记录 ob+wasm print参数

****## 邮生活滑块记录 地址 &#xff1a;‘aHR0cHM6Ly95b3VzaGVuZ2h1by4xMTE4NS5jbi93eC8jL2xheGluUmVnaXN0P3VzZXJJZD0yMTA1NTQ2MTYxOSZhY3Rpdml0eUlkPTI4MiZydWxlSWQ9Mjg’ 如图 如上图 大概就这点参数 基本都是前面请求拿的 除了print enmiid 。。。。。。 结果&#xff1…

连续支付(周期扣款)功能开发及注意事项

最近有一个版本需求&#xff0c;需要接入周期扣款做连续会员的功能&#xff0c;没想到这一做就是小半个月&#xff0c;趟了很多坑&#xff0c;所以觉得有必要记录一下 1.周期扣款总体设计 在支付宝和微信中&#xff08;非苹果支付&#xff09;&#xff0c;周期扣款的流程主要有…

证监会计算机类笔试上岸经验,公务员考试笔试166分上岸经验(全干货)

原标题&#xff1a;公务员考试笔试166分上岸经验(全干货) 一、考前自审 1、具备公务员考试需要的相关知识结构与基本素质(70%)。包括政治素质(理解和掌握国家大政方针与政策)&#xff0c;基本科学素质&#xff0c;常识&#xff0c;阅读理解能力&#xff0c;语言功底&#xff0c…

行政职业能力测试软件,公务员行政职业能力测试考试宝典

公务员行政职业能力考试宝典是一款通用的考试练习软件&#xff0c;丰富的题库&#xff0c;包含历年真题和模拟试题&#xff0c;有时间就可以开启刷题模式&#xff0c;对于错误的题目可以进行错题重做、解题思路介绍、统计分析等&#xff0c;达到熟练的程度&#xff0c;大大提高…

一政网是真实助公考上岸的吗?

在当下的经济时代&#xff0c;需要不断的学习&#xff0c;不断的提升自我。报考公务员考试成为了不二选择。报考公务员考试成为了毕业生、在职员工、宝妈等等众多不同类型人的最佳选择。但是公务员考试的难度大&#xff0c;想要公考一次上岸&#xff0c;那么就必需选择报班学习…

2021四川紧急选调/国考备考策略----申论/行测(2020.8.22号开始)

文章目录 1 申论1.1 申论题型1.2 申论备考策略1.3 申论做题顺序及复习阶段 2 行测备考2.1 行测题型2.2 行测备考策略 3 参考资料 1 申论 1.1 申论题型 申论部分一共有五大题型(归纳概括、提出措施、综合分析、公文写作、大作文) 1.2 申论备考策略 这五个题型在国考中是一样…

公务员考试要求及流程梳理

背景 虽然我不考, 但考公这么热门, 在信息层面不能落伍. 本文以 浙江2023省考 (考试时间在2022年12月) 为例, 主要梳理 怎么报名, 选职位, 考试科目与题型, 录用流程等. 为什么考公/考编这么热 因为当下的社会环境对员工太不友好了: 工作强度大, 精神压力大, 还有硬性比例淘…

基于JavaWeb的事业单位公务员招考信息发布平台-考务考试报名系统

本文介绍了使用Java技术开发公务员招考信息发布平台的设计与实现过程&#xff0c;首先对实现该系统的技术进行分析&#xff0c;说明选择Java和MySQL数据库的必要性&#xff0c;然后对公务员招考信息发布平台的需求进行分析。并接着对系统进行设计&#xff0c;包括架构设计、功能…

OpenAI发布了GPT的最新一代版本ChatGPT-4

今日凌晨&#xff0c;OpenAI发布了GPT的最新一代版本ChatGPT-4&#xff0c;相比上一代&#xff0c;其AI能力再度提升&#xff0c;同时支持输入的内容不再仅限于文字&#xff0c;而且支持图像内容的输入&#xff0c;成为一个能够理解照片的人工智能。 其AI能力的恐怖之处体现在哪…

chatgpt赋能python:Python循环暂停和继续的方法

Python循环暂停和继续的方法 Python是一种高级编程语言&#xff0c;在编程中使用循环结构非常常见。很多情况下&#xff0c;我们需要在循环中暂停或者继续执行。在本文中&#xff0c;我们将介绍如何在Python中实现循环暂停和继续的方法。 循环暂停和继续的意义 在Python编程…

Chat GPT5如果问世会对世界产生什么影响?以及未来chat gpt 5会取代什么类型的工作。

Chat GPT-5是一种基于人工智能技术的自然语言处理系统&#xff0c;可以自动回复和生成各种文本随着其技术的不断发展和改进&#xff0c;Chat GPT-5对未来世界将会产生以下几方面的影响&#xff1a; 1. 提升人类语言交流的效率和质量 Chat GPT-5可以高效地处理自然语言&#xf…

chatgpt 正面案例 2018-11-13T20:20:39+00:00 后面的 +00:00 代表什么意思

chatgpt 百度 2018-11-13T20:20:3900:00 后面的 00:00 代表什么意思? &#xff01;&#xff01;&#xff01;有任何问题请让我知道&#xff0c;十分感激&#xff01;谢谢&#xff01; 2021-07-29T21:35:5408:00 2021-07-29T21:35:54Z 中间的T&#xff08;当日期与时间组合…

chatpdf+mindshow由论文pdf直接生成报告PPT,拯救研究牲

chatpdfmindshow由论文pdf直接生成报告PPT&#xff0c;拯救研究牲 感谢AIGC技术&#xff0c;现在可以从论文的pdf直接生成展示的PPT。 (STEP1STEP2)最终效果预览 步骤 STEP1、论文PDF到PPT的markdown格式 chatpdf 把论文pdf提交给chatpdf并善用以下prompts 你会说中文吗 接下…

chatgpt赋能python:Python打包整个项目:打包与分享

Python打包整个项目&#xff1a;打包与分享 如果您是一名Python开发者&#xff0c;您可能已经经历过在多个环境中为您的项目安装依赖项的困惑。解决方案是将您的应用程序打包为一个易于安装的软件包。 在本文中&#xff0c;我们将学习如何使用pipenv和pyinstaller创建、打包和…

tiktoken (a fast BPE tokeniser for gpt4、chatgpt)

OpenAI在其官方GitHub上公开了一个最新的开源Python库&#xff1a;tiktoken&#xff0c;这个库主要是用做字节对编码(BPE)的。相比较HuggingFace的tokenizer&#xff0c;其速度提升了好几倍。 chatgpt 按token 数量收费&#xff0c;1000个token大约700个单词&#xff0c;可以用…

chatgpt赋能python:Python下载安装教程

Python下载安装教程 Python是一种高级编程语言&#xff0c;具有简单易学、强大多样的特点&#xff0c;不仅可以用来开发网站、应用程序、游戏&#xff0c;还可以用于数据科学、机器学习、人工智能等领域&#xff0c;被广泛应用于各行各业。 本文将为您提供详细的Python下载安…

LLaMA模型系统解读

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

3月份读文+学习思考记录

基于GPT3.5搭建定制化知识库 https://mp.weixin.qq.com/s?__bizMzIyNDAzMzYxNQ&mid2652028778&idx1&sn985a386f915dea0d4dc97186af7c50b6&srcid0316LqkslRQXM1UyluqQFTxe 当然&#xff0c;还有一个问题&#xff1a;程序员怎么办&#xff1f;程序员会被替代吗…

大神李沐被曝离职亚马逊,投身大模型创业!网友:“AI 已成创业致富新思路?”...

整理 | 朱珂欣 出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09; 横空出世的 ChatGPT 在火爆出圈之后&#xff0c;硅谷巨头、各大互联网大厂可谓是上演了一场群雄逐“ChatGPT”……在 AIGC 新风口之下&#xff0c;人才无疑成为这场“硬仗”的主力军。 近日…