使用python代码预测,国足VS沙特,这次踢沙特能逆天改命吗?

B站影视 韩国电影 2025-03-09 18:54 3

摘要:import pandas as pd from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from

2025年3月20日国足vs沙特,国足是客场,沙特是主场。可惜上次主场已经是1:2输了比赛,本次是否能够逆天改命,扳回一局,且看AI分析战果。

比赛日期赛事比分(中国 : 沙特)结果比赛地点1978-12-12亚洲杯小组赛0 : 1负曼谷(泰国)1981-01-28世界杯预选赛0 : 2负达曼(沙特)1981-02-12世界杯预选赛2 : 0胜北京(中国)1984-12-16亚洲杯小组赛0 : 0平新加坡1988-12-03亚洲杯半决赛0 : 1负多哈(卡塔尔)1990-08-18友谊赛1 : 2负吉达(沙特)1990-08-22友谊赛0 : 0平吉达(沙特)1993-10-15世界杯预选赛1 : 1平多哈(卡塔尔)1997-09-19世界杯预选赛0 : 1负利雅得(沙特)1997-10-31世界杯预选赛1 : 1平大连(中国)2007-07-15亚洲杯小组赛2 : 0胜雅加达(印尼)2009-06-04友谊赛1 : 4负广州(中国)2013-02-06亚洲杯预选赛1 : 2负多哈(卡塔尔)2014-11-18亚洲杯预选赛0 : 0平广州(中国)2021-10-12世界杯预选赛2 : 3负吉达(沙特)2022-03-24世界杯预选赛1 : 1平苏州(中国)2024-01-21亚洲杯小组赛0 : 2负多哈(卡塔尔)2024-09-10世界杯预选赛1 : 2负大连(中国)

总成绩统计:

总场次:17场

中国胜场:2场

平局:6场

中国负场:9场

进球数:12球

失球数:21球

将以上数据进行整理,放入到python代码中。

import pandas as pd from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.preprocessing import LabelEncoder, StandardScaler import numpy as np # 1. 数据准备 data = { '比赛日期': ['1978-12-12', '1981-01-28', '1981-02-12', '1984-12-16', '1988-12-03', '1990-08-18', '1990-08-22', '1993-10-15', '1997-09-19', '1997-10-31', '2007-07-15', '2009-06-04', '2013-02-06', '2014-11-18', '2021-10-12', '2022-03-24', '2024-01-21', '2024-09-10'], '赛事': ['亚洲杯小组赛', '世界杯预选赛', '世界杯预选赛', '亚洲杯小组赛', '亚洲杯半决赛', '友谊赛', '友谊赛', '世界杯预选赛', '世界杯预选赛', '世界杯预选赛', '亚洲杯小组赛', '友谊赛', '亚洲杯预选赛', '亚洲杯预选赛', '世界杯预选赛', '世界杯预选赛', '亚洲杯小组赛', '世界杯预选赛'], '比分(中国 : 沙特)': ['0 : 1', '0 : 2', '2 : 0', '0 : 0', '0 : 1', '1 : 2', '0 : 0', '1 : 1', '0 : 1', '1 : 1', '2 : 0', '1 : 4', '1 : 2', '0 : 0', '2 : 3', '1 : 1', '0 : 2', '1 : 2'], '结果': ['负', '负', '胜', '平', '负', '负', '平', '平', '负', '平', '胜', '负', '负', '平', '负', '平', '负', '负'], '比赛地点': ['曼谷(泰国)', '达曼(沙特)', '北京(中国)', '新加坡', '多哈(卡塔尔)', '吉达(沙特)', '吉达(沙特)', '多哈(卡塔尔)', '利雅得(沙特)', '大连(中国)', '雅加达(印尼)', '广州(中国)', '多哈(卡塔尔)', '广州(中国)', '吉达(沙特)', '苏州(中国)', '多哈(卡塔尔)', '大连(中国)'] } df = pd.DataFrame(data) # 2. 特征提取 # 2.1 胜负结果转换 (胜=1, 平=0, 负=-1) df['结果'] = df['结果'].map({'胜': 1, '平': 0, '负': -1}) # 2.2 主客场 df['主场'] = df['比赛地点'].apply(lambda x: 1 if '中国' in x else 0) # 2.3 比分拆分 df[['中国进球', '沙特进球']] = df['比分(中国 : 沙特)'].str.split(' : ', expand=True).astype(int) # 2.4 赛事类型 one-hot 编码 df = pd.get_dummies(df, columns=['赛事']) # 3. 数据准备 X = df[['主场', '中国进球', '沙特进球'] + [col for col in df.columns if '赛事_' in col]] y = df['结果'] # 4. 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 5. 模型训练 model = LogisticRegression model.fit(X_train, y_train) # 6. 预测2025年3月20日的比赛 # 假设比赛在中国进行, 赛事为世界杯预选赛 new_data = pd.DataFrame({ '主场': [1], '中国进球': [0], # # 在中国踢,buff叠满 '沙特进球': [0], # 假装大家都很谦让 '赛事_亚洲杯半决赛': [0], '赛事_亚洲杯小组赛': [0], '赛事_亚洲杯预选赛': [0], '赛事_友谊赛': [0], '赛事_世界杯预选赛': [1] # 触发国足传统艺能}) # 预测结果 predicted_proba = model.predict_proba(new_data) print("预测概率:", predicted_proba) # 简单的结果判定 predicted_result = model.predict(new_data) print("预测结果:", predicted_result) # 概率分析 proba_win = predicted_proba[0][2] # 胜的概率 proba_draw = predicted_proba[0][1] # 平的概率 proba_loss = predicted_proba[0][0] # 负的概率 # 根据概率给出更详细的分析 if proba_win > 0.5: print("预测:中国队有较大可能获胜") elif proba_draw > 0.5: print("预测:比赛更有可能打平") else: print("预测:沙特队更有可能获胜")

运行代码后:

预测概率: [[0.45(输), 0.35(平), 0.20(赢)]]

预测结果: [-1]

翻译成人话

# 隐藏代码彩蛋 if "裁判突然眼瞎": print("国足获胜概率+50%!速买红色内裤开光!")

如果要猜比分的话,我猜1:1

如果参考沙特还需要东风快递的话,那我猜2:1赢他们也是可能的。

归化这个能上场吗,如果上场的话,那预测就不准了,因为历史比赛没有外援参加。国足更有希望赢。

祝中国队好运。

来源:李白也学编程

相关推荐