2025年3月20日國足vs沙特,國足是客場,沙特是主場??上洗沃鲌鲆呀?jīng)是1:2輸了比賽,本次是否能夠逆天改命,扳回一局,且看AI分析戰(zhàn)果。
一、歷史戰(zhàn)績
我在網(wǎng)上查詢到中國VS沙特的歷史戰(zhàn)績?nèi)缦拢?/p>
| 比賽日期 | 賽事 | 比分(中國 : 沙特) | 結(jié)果 | 比賽地點 |
| -------------- | ------------------ | ------------------- | ---- | ---------------- |?
| 1978-12-12? ? | 亞洲杯小組賽? ? ? | 0 : 1? ? ? ? ? ? ? | 負(fù)? | 曼谷(泰國)? ? |?
| 1981-01-28? ? | 世界杯預(yù)選賽? ? ? | 0 : 2? ? ? ? ? ? ? | 負(fù)? | 達曼(沙特)? ? |?
| 1981-02-12? ? | 世界杯預(yù)選賽? ? ? | 2 : 0? ? ? ? ? ? ? | 勝? | 北京(中國)? ? |?
| 1984-12-16? ? | 亞洲杯小組賽? ? ? | 0 : 0? ? ? ? ? ? ? | 平? | 新加坡? ? ? ? ? |?
| 1988-12-03? ? | 亞洲杯半決賽? ? ? | 0 : 1? ? ? ? ? ? ? | 負(fù)? | 多哈(卡塔爾)? |?
| 1990-08-18? ? | 友誼賽? ? ? ? ? ? | 1 : 2? ? ? ? ? ? ? | 負(fù)? | 吉達(沙特)? ? |?
| 1990-08-22? ? | 友誼賽? ? ? ? ? ? | 0 : 0? ? ? ? ? ? ? | 平? | 吉達(沙特)? ? |?
| 1993-10-15? ? | 世界杯預(yù)選賽? ? ? | 1 : 1? ? ? ? ? ? ? | 平? | 多哈(卡塔爾)? |?
| 1997-09-19? ? | 世界杯預(yù)選賽? ? ? | 0 : 1? ? ? ? ? ? ? | 負(fù)? | 利雅得(沙特)? |?
| 1997-10-31? ? | 世界杯預(yù)選賽? ? ? | 1 : 1? ? ? ? ? ? ? | 平? | 大連(中國)? ? |?
| 2007-07-15? ? | 亞洲杯小組賽? ? ? | 2 : 0? ? ? ? ? ? ? | 勝? | 雅加達(印尼)? |?
| 2009-06-04? ? | 友誼賽? ? ? ? ? ? | 1 : 4? ? ? ? ? ? ? | 負(fù)? | 廣州(中國)? ? |?
| 2013-02-06? ? | 亞洲杯預(yù)選賽? ? ? | 1 : 2? ? ? ? ? ? ? | 負(fù)? | 多哈(卡塔爾)? |?
| 2014-11-18? ? | 亞洲杯預(yù)選賽? ? ? | 0 : 0? ? ? ? ? ? ? | 平? | 廣州(中國)? ? |?
| 2021-10-12? ? | 世界杯預(yù)選賽? ? ? | 2 : 3? ? ? ? ? ? ? | 負(fù)? | 吉達(沙特)? ? |?
| 2022-03-24? ? | 世界杯預(yù)選賽? ? ? | 1 : 1? ? ? ? ? ? ? | 平? | 蘇州(中國)? ? |?
| 2024-01-21? ? | 亞洲杯小組賽? ? ? | 0 : 2? ? ? ? ? ? ? | 負(fù)? | 多哈(卡塔爾)? |?
| 2024-09-10? ? | 世界杯預(yù)選賽? ? ? | 1 : 2? ? ? ? ? ? ? | 負(fù)? | 大連(中國)? ? |?
總成績統(tǒng)計:
總場次:17場
中國勝場:2場
平局:6場
中國負(fù)場:9場
進球數(shù):12球
失球數(shù):21球


二,使用數(shù)據(jù)進行訓(xùn)練
將以上數(shù)據(jù)進行整理,放入到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. 數(shù)據(jù)準(zhǔn)備
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'],
'賽事': ['亞洲杯小組賽', '世界杯預(yù)選賽', '世界杯預(yù)選賽', '亞洲杯小組賽', '亞洲杯半決賽', '友誼賽',
'友誼賽', '世界杯預(yù)選賽', '世界杯預(yù)選賽', '世界杯預(yù)選賽', '亞洲杯小組賽', '友誼賽',
'亞洲杯預(yù)選賽', '亞洲杯預(yù)選賽', '世界杯預(yù)選賽', '世界杯預(yù)選賽', '亞洲杯小組賽', '世界杯預(yù)選賽'],
'比分(中國 : 沙特)': ['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'],
'結(jié)果': ['負(fù)', '負(fù)', '勝', '平', '負(fù)', '負(fù)', '平', '平', '負(fù)', '平', '勝', '負(fù)', '負(fù)', '平', '負(fù)', '平', '負(fù)', '負(fù)'],
'比賽地點': ['曼谷(泰國)', '達曼(沙特)', '北京(中國)', '新加坡', '多哈(卡塔爾)', '吉達(沙特)',
'吉達(沙特)', '多哈(卡塔爾)', '利雅得(沙特)', '大連(中國)', '雅加達(印尼)', '廣州(中國)',
'多哈(卡塔爾)', '廣州(中國)', '吉達(沙特)', '蘇州(中國)', '多哈(卡塔爾)', '大連(中國)']
}
df = pd.DataFrame(data)
# 2. 特征提取
# 2.1 勝負(fù)結(jié)果轉(zhuǎn)換 (勝=1, 平=0, 負(fù)=-1)
df['結(jié)果'] = df['結(jié)果'].map({'勝': 1, '平': 0, '負(fù)': -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. 數(shù)據(jù)準(zhǔn)備
X = df[['主場', '中國進球', '沙特進球'] + [col for col in df.columns if '賽事_' in col]]
y = df['結(jié)果']
# 4. 劃分訓(xùn)練集和測試集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 5. 模型訓(xùn)練
model = LogisticRegression()
model.fit(X_train, y_train)
# 6. 預(yù)測2025年3月20日的比賽
# 假設(shè)比賽在中國進行, 賽事為世界杯預(yù)選賽
new_data = pd.DataFrame({
'主場': [1],
'中國進球': [0], # # 在中國踢,buff疊滿
'沙特進球': [0], # 假裝大家都很謙讓
'賽事_亞洲杯半決賽': [0],
'賽事_亞洲杯小組賽': [0],
'賽事_亞洲杯預(yù)選賽': [0],
'賽事_友誼賽': [0],
'賽事_世界杯預(yù)選賽': [1] # 觸發(fā)國足傳統(tǒng)藝能
})
# 預(yù)測結(jié)果
predicted_proba = model.predict_proba(new_data)
print("預(yù)測概率:", predicted_proba)
# 簡單的結(jié)果判定
predicted_result = model.predict(new_data)
print("預(yù)測結(jié)果:", predicted_result)
# 概率分析
proba_win = predicted_proba[0][2] # 勝的概率
proba_draw = predicted_proba[0][1] # 平的概率
proba_loss = predicted_proba[0][0] # 負(fù)的概率
# 根據(jù)概率給出更詳細(xì)的分析
if proba_win > 0.5:
print("預(yù)測:中國隊有較大可能獲勝")
elif proba_draw > 0.5:
print("預(yù)測:比賽更有可能打平")
else:
print("預(yù)測:沙特隊更有可能獲勝")
運行代碼后:
預(yù)測概率: [[0.45(輸), 0.35(平), 0.20(贏)]]
預(yù)測結(jié)果: [-1]
翻譯成人話:
輸球概率45%
平局概率35%
贏球概率20%
三,總結(jié)
要像獲勝還真的不簡單。
# 隱藏代碼彩蛋
if "裁判突然眼瞎":
print("國足獲勝概率+50%!速買紅色內(nèi)褲開光!")
如果要猜比分的話,我猜1:1
如果參考沙特還需要東風(fēng)快遞的話,那我猜2:1贏他們也是可能的。
歸化這個能上場嗎,如果上場的話,那預(yù)測就不準(zhǔn)了,因為歷史比賽沒有外援參加。國足更有希望贏。
祝中國隊好運。
