【足球走地软件】走地数据分析预测【大模型篇】走地预测软件实战分享

了解什么是走地数据?

走地数据分析,在足球赛事的上下文中,是一种针对正在进行中的比赛进行实时数据分析的方法。这种方法主要用于预测比赛中的某些结果或趋势,如总进球数、比分变化、球队表现等。

在足球走地数据分析中,大小球策略是一种非常实用的投注方式。它主要预测的是一场比赛中的总进球数是否超过或低于一个预设的数值。例如,如果盘口设置为“2.5球”,那么投注“大球”意味着预测比赛的总进球数将至少为3个,而投注“小球”则意味着预测比赛的总进球数将少于或等于2个1。

之前研究过一款软件,是根据预设条件来推断比赛的结果,效果也还可以,但是入门比较高,适合资深的足球专家,有自己的一套分析思路,也是功能很强大的一款产品。
软件地址:http://lcsjfx.com/web/zqds.html
后面就想着,弄否把这个数据模型化,通过现在比较流行的AI模型去预测,效果也还可以。

下面是大概的实战流程,感兴趣可以看看。

该篇章主要讲的是以python为基础,其他技术暂时不在这里延申。

说明技术
数据采集request 库
数据清理pandas 库
模型训练pycaret 库

第一步:数据采集

这里采集的是国外比较权威的足球赛事,因为比较简单,所有没用爬虫框架,直接用request.get(),就能把数据采集下来的,这里需要获取过去5年的历史数据作为训练数据。

import requests

url = 'https://kto/lib/api/v1/overview/sport/1/live'

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "path": '/kto/lib/api/v1/overview/sport/1/live'
}

response = requests.get(url=url, headers=headers)
if response.status_code == 200:
    response.encoding = 'utf-8'
    content = response.content.decode('utf-8')
    print(content)
    # 处理数据
if response.status_code != 200:
    print('---sbCorner获取结果异常---', response.status_code)

第二步:数据清洗

获取的数据包含很多无用字段,比如比赛ID,比赛时间,比赛队名等等,这些对模型没有任何意义的数据,比如清理掉。

在这里插入图片描述

# 用pandas进行数据处理
df_filtered = df_filtered.drop(columns=['match_id','match_date','league_id','home_id','away_id', 'zjq_res'])

查看清理后的数据
在这里插入图片描述

原则上这里用一下数据归一化会好一点,但是我们可以先直接把数据拿去训练看一下效果

大小球计算公式:主队比分-客队比分>盘口,及全大0,反之则全小1

# 导入pycaret分类模块和初始化设置
from pycaret.classification import *

# 初始化设置
# data: 数据集,包含特征和目标变量
# target: 目标变量的名称
# session_id: 用于重现实验结果的随机种子
s = setup(df_filtered, target='sfp_res', session_id=123)

在这里插入图片描述

# 比较基准模型

# 使用compare_models()函数比较不同的基准模型,并返回最佳模型

best = compare_models()

看模型返回最优的是GBC模型,但是预测率不高,还需要对数据进行进一步清洗

在这里插入图片描述

# 缺失值补充 简单补充
imputation_type = 'simple',
# 数值型变量补充缺失策略
numeric_imputation = 'mean', # drop,mean,median,mode,knn,int or float
# 类别型变量补充缺失策略
categorical_imputation = 'mode', # drop,mode,str

)

清洗之后再拿数据去模型比较
在这里插入图片描述

评分那么高,肯定有猫腻,检查发现,没有数据里面还有很多null的数据
在这里插入图片描述
继续清理数据


# 缺失值补充 迭代补充
imputation_type = 'iterative',
# 迭代次数
iterative_imputation_iters 5, # 当simple时忽略
# 数值型迭代策略
numeric_iterative_imputer = 'lightgbm',
#  如果 =None,则用LGBClassifier,当simple时忽略

在这里插入图片描述
拿数据预测一下,看起来还行,但是还是有点小问题,正常那么高分就无敌了,里面的数据实时数据有些是拿不到的,所以还需要再处理一下。
在这里插入图片描述

这里只是简单的用pycaret进行模型训练,实际应用中,比这个场景肯定复杂很多,
里面还涉及到球队的评分、elo、rang等,这些这里就不赘述了,有兴趣可以交流一下,后续有空再分享一下。

一个基于大模型为基础的数据分析平台,有兴趣可以自行了解。

http://lcsjfx.com/web/sjfxpt.html

在这里插入图片描述

  • 72
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值