当前位置: 当前位置:首页 > 知识 > 大胆预测一下2022卡塔尔世界杯小组赛 正文

大胆预测一下2022卡塔尔世界杯小组赛

2024-05-09 05:03:16 来源:昂头阔步网 作者:热点 点击:655次

大胆预测一下2022卡塔尔世界杯小组赛

最近打开各大主流APP出现得最多的大胆无非就是世界杯了,四年一度的预测世界杯可谓是国际上最引人注目的比赛之一了。

那么这两天趁着空闲时间,世界通过机器学习的组赛方法来预测一下2022卡塔尔世界杯小组赛的结果 ,先上预测结果:

p1 预测结果(1)
p2 预测结果(2)

世界杯小组赛中允许平局,大胆但是预测因为模型的原因,这里仅展示了胜负两种情况,世界下面会说到(模型训练部分)。组赛

当然,大胆预测结果也仅仅是预测预测结果而已。本文权当成是世界笔者兴趣探索的思路,采用的组赛数据集及数据特征比较简单,所用的大胆机器学习算法也是简单的算法,有其他大佬会用到更多的预测特征更优的算法进行预测(甚至于,庄家对于各支球队的世界赔率也用上了),训练出来的模型更贴合实际。笔者的思路如下:

1-数据准备

本文用到的数据集是来自kaggle的一份公开数据集(数据链接),数据集描述的是记录了1870年-2022年期间所有国际性足球比赛结果(但我看了好像奥运会没有)。

那么开始准备数据。

先导入必要的包pandas并读取数据集。pandas可谓是python中进行数据处理最牛逼的存在了。

import pandas as pddf = pd.read_csv('results.csv')

查看数据特征及前5条信息:

print(df.info())print(df.head())

一共有9列,4.4w行数据:

p3 数据集概况

数据集记录着比赛时间、主客队名称、主客队进球数、赛事名称、比赛城市及国家、是否中立,其中tournament为赛事名称,我看了一下里面的比赛,什么比赛都有记录(奥运会除外),甚至友谊赛也有。为了数据具有代表性,笔者这里考虑只选取大型比赛的数据,作为一个非足球爱好者,网上冲浪了很长时间,终于在百度百科找到了比较大型的国际足球赛事名称,同时为了样本量多一些,这里将上述赛事的资格赛也算上了。

p4 国际性足球比赛
target_tournament = [        'UEFA Nations League', 'UEFA Euro qualification', 'UEFA Euro', 'Oceania Nations Cup qualification',        'Oceania Nations Cup', 'Gold Cup qualification', 'Gold Cup', 'FIFA World Cup qualification',        'FIFA World Cup', 'Copa América', 'CONIFA European Football Cup', 'CONIFA Africa Football Cup',        'Confederations Cup', 'CONCACAF Nations League qualification', 'CONCACAF Nations League',        'African Cup of Nations qualification', 'African Cup of Nations', 'AFC Asian Cup qualification', 'AFC Asian Cup'    ]df_target = df.loc[df.tournament.isin(target_tournament)]

之前的思路是先取2018年俄罗斯世界杯(2018-6-14)之前的数据训练模型,对俄罗斯世界杯小组赛的参赛队伍进行预测,然后预测结果与实际的结果进行对比,验证模型的准确性,故这里先筛选了2018-6-14之前的数据,并将无关特征去掉,仅留下主客队名称、主客队进球数及日期(日期留下的原因是后面想预测2022年卡特尔世界杯小组赛时把2018年之后的数据导入进来,但因为懒,后面直接用2018-6-14之前的数据了。)

df_target = df_target.loc[df_target.date < '2018-6-14']df_target = df_target.drop(['tournament', 'city', 'country', 'neutral'], axis=1)

好了,数据选好了,共有17749条数据,均无缺失值,主客队进球数均为浮点型,没有其他问题。

2-特征构造

利用现有的四个特征构造更多的特征:每场比赛的结果(result)、主队参赛次数(home_times)、客队参赛次数(away_times)、主队胜利次数(home_win)、客队胜利次数(away_win)、主队胜率(home_rate_of_win)、客队胜率(away_rate_of_win)、主队总进球数(home_goal)、客队总进球数(away_goal)、主队场均进球(home_avg_goal)、客队场均进球(away_avg_goal)。同时约定每场比赛的结果(result),主队胜置为1,客队胜置为2,平局置为0。特征构造代码如下:

# 每场比赛的结果(result)df_target['result'] = df_target.apply(lambda x: 1 if x['home_score'] > x['away_score'] else 2 if x['home_score'] < x['away_score'] else 0,axis=1)# 主队参赛次数(home_times)、客队参赛次数(away_times):将主客队累计参赛数传入字典,并通过apply()获取字典key值对应的valuehome_times_dict = df_target['home_team'].value_counts().to_dict()away_times_dict = df_target['away_team'].value_counts().to_dict()sum_times_dict = sum_dict(home_times_dict,away_times_dict)df_target['home_times'] = df_target['home_team'].apply(lambda x: sum_times_dict[x])df_target['away_times'] = df_target['away_team'].apply(lambda x: sum_times_dict[x])# 主队胜利次数(home_win)、客队胜利次数(away_win)同上home_win_dict = df_target.loc[df_target.result == 1,'home_team'].value_counts().to_dict()away_win_dict = df_target.loc[df_target.result == 2,'away_team'].value_counts().to_dict()sum_win_dict = sum_dict(home_win_dict,away_win_dict)df_target['home_win'] = df_target.apply(lambda x: sum_win_dict[x['home_team']] if x['home_team'] in sum_win_dict.keys() else 0,axis=1)df_target['away_win'] = df_target.apply(lambda x: sum_win_dict[x['away_team']] if x['away_team'] in sum_win_dict.keys() else 0,axis=1)# 主队胜率(home_rate_of_win)、客队胜率(away_rate_of_win)直接计算df_target['home_rate_of_win'] = df_target.apply(lambda x: x['home_win'] / x['home_times'],axis=1)df_target['away_rate_of_win'] = df_target.apply(lambda x: x['away_win'] / x['away_times'],axis=1)# 主队总进球数(home_goal)、客队总进球数(away_goal)、主队场均进球(home_avg_goal)、客队场均进球(away_avg_goal):先算总进球数,再直接计算算场均进球数home_goal_dict = df_target[['home_team','home_score']].groupby('home_team').sum().to_dict()['home_score']away_goal_dict = df_target[['away_team', 'away_score']].groupby('away_team').sum().to_dict()['away_score']sum_goal_dict = sum_dict(home_goal_dict,away_goal_dict)df_target['home_goal'] = df_target['home_team'].apply(lambda x: sum_goal_dict[x])df_target['away_goal'] = df_target['away_team'].apply(lambda x: sum_goal_dict[x])df_target['home_avg_goal'] = df_target.apply(lambda x: x['home_goal'] / x['home_times'],axis=1)df_target['away_avg_goal'] = df_target.apply(lambda x: x['away_goal'] / x['away_times'], axis=1)

顺便提一下,特征构造的时候,有多次用到字典数据计算的地方,所以定义了一个计算字典的函数:

def sum_dict(dict1, dict2):    temp = dict()    for key in dict1.keys() | dict2.keys():        temp[key] = sum([d.get(key, 0) for d in (dict1, dict2)])    return temp

至此,特征构造完毕,共有包含日期在内的16个特征,所有数据都存放在名为df_target的DateFrame中。

p5 名为df_target的DateFrame

3-数据预处理

除日期、主客队名称、及比赛结果外,其余特征均标准化,此处用的标准分数的方法,也可以使用其他无量纲化的方法。

标准分数(z-score)是一个分数与平均数的差再除以标准差的过程,用公式表示为:z=(x-μ)/σ。其中x为某一具体分数,μ为平均数,σ为标准差。

df_feature = df_target.drop(['date','home_team','away_team','result'],axis=1)df_normalizing = (df_feature - df_feature.mean()) / (df_feature.std())

标准化后的数据与主客队名称及结果(result)连接起来,作为机器学习的数据集。

data_set = pd.concat([df_target[['home_team', 'away_team']],df_normalizing,df_target['result']],axis=1)data_set = data_set.reset_index(drop=True)

这里没有定性或者离散型的数据,所以不用进行哑编码或者独热编码。

至此,数据清洗及特征工程基本完成,这里我先保存到csv文件中,同时笔者还保存了一份没有带主客队名称的数据集

data_set.to_csv('data_set_with_team_name.csv',encoding='utf-8',index=False)

1-划分训练集、测试集

导入机器学习涉及到的包,及上一步保存的数据集:

from sklearn.model_selection import train_test_splitfrom sklearn.linear_model import LogisticRegressionfrom sklearn.metrics import mean_absolute_error, accuracy_score, f1_score, precision_score, recall_scorefrom sklearn import svmfrom sklearn.ensemble import RandomForestClassifierfrom sklearn.neural_network import MLPClassifierfrom sklearn.tree import DecisionTreeClassifierdata_set = pd.read_csv('data_set.csv')

调用train_test_split()方法,划分训练集和测试集,其中home_score、away_score为结果导向的特征,不作为机器学习的特征训练。

X = data_set.drop(['result','home_score','away_score'],axis=1)  # 模型改进3中,减少特征home_goal及away_goal准确率会稍微高一点y = data_set['result']X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.3,random_state=7)

其中X_train为训练特征,y_train为训练目标,X_test为测试特征,y_test为测试目标,test_size为测试集的占比,此处取30%;random_state为随机数种子,只要不为0或者空即可。

2-模型训练

开始模型训练,此处使用逻辑回归算法、支持向量机算法、随机森林算法、神经网络算法、决策树算法进行模型训练,代码如下:

# 调用逻辑回归算法print("=====逻辑回归算法=====")logreg = LogisticRegression(C=1,solver='liblinear',multi_class ='auto')logreg.fit(X_train, y_train)score_log = logreg.score(X_train, y_train)score2_log = logreg.score(X_test, y_test)y_log_pred = logreg.predict(X_test)print("训练集精度: ", '%.3f' % score_log)print("测试集精度: ", '%.3f' % score2_log)print("平均绝对误差: ",mean_absolute_error(y_test,y_log_pred))# print('Precision: %.3f' % precision_score(y_test, y_log_pred))# print('Recall: %.3f' % recall_score(y_test, y_log_pred))# print('Accuracy: %.3f' % accuracy_score(y_test, y_log_pred))# print('F1 Score: %.3f' % f1_score(y_test, y_log_pred))# 调用SVM支持向量机算法print("=====SVM支持向量机=====")clf = svm.SVC(C=0.1, kernel='linear', decision_function_shape='ovr')clf.fit(X_train, y_train)score_svm = clf.score(X_train, y_train)score2_svm = clf.score(X_test, y_test)y_svm_pred = clf.predict(X_test)print("训练集精度: ", '%.3f' % score_svm)print("测试集精度: ", '%.3f' % score2_svm)print("平均绝对误差: ",mean_absolute_error(y_test,y_svm_pred))# print('Precision: %.3f' % precision_score(y_test, y_svm_pred))# print('Recall: %.3f' % recall_score(y_test, y_svm_pred))# print('Accuracy: %.3f' % accuracy_score(y_test, y_svm_pred))# print('F1 Score: %.3f' % f1_score(y_test, y_svm_pred))# 调用随机森林算法print("=====随机森林算法=====")rf = RandomForestClassifier(max_depth=20,n_estimators=1000,random_state=0)rf.fit(X_train, y_train)score_rf = rf.score(X_train, y_train)score2_rf = rf.score(X_test, y_test)y_rf_pred = rf.predict(X_test)print("训练集精度: ", '%.3f' % score_rf)print("测试集精度: ", '%.3f' % score2_rf)print("平均绝对误差: ",mean_absolute_error(y_test,y_rf_pred))# print('Precision: %.3f' % precision_score(y_test, y_rf_pred))# print('Recall: %.3f' % recall_score(y_test, y_rf_pred))# print('Accuracy: %.3f' % accuracy_score(y_test, y_rf_pred))# print('F1 Score: %.3f' % f1_score(y_test, y_rf_pred))# 调用神经网络算法print("=====神经网络算法=====")mlp = MLPClassifier(hidden_layer_sizes=10,max_iter=1000)mlp.fit(X_train, y_train)score_mlp = mlp.score(X_train, y_train)score2_mlp = mlp.score(X_test, y_test)y_mlp_pred = mlp.predict(X_test)print("训练集精度: ", '%.3f' % score_mlp)print("测试集精度: ", '%.3f' % score2_mlp)print("平均绝对误差: ",mean_absolute_error(y_test,y_mlp_pred))# print('Precision: %.3f' % precision_score(y_test, y_mlp_pred))# print('Recall: %.3f' % recall_score(y_test, y_mlp_pred))# print('Accuracy: %.3f' % accuracy_score(y_test, y_mlp_pred))# print('F1 Score: %.3f' % f1_score(y_test, y_mlp_pred))# 调用决策树算法print("=====决策树算法=====")tree=DecisionTreeClassifier(max_depth=50,random_state=0)tree.fit(X_train, y_train)score_tree = tree.score(X_train, y_train)score2_tree = tree.score(X_test, y_test)y_tree_pred = tree.predict(X_test)print("训练集精度: ", '%.3f' % score_tree)print("测试集精度: ", '%.3f' % score2_tree)print("平均绝对误差: ",mean_absolute_error(y_test,y_tree_pred))# print('Precision: %.3f' % precision_score(y_test, y_tree_pred))# print('Recall: %.3f' % recall_score(y_test, y_tree_pred))# print('Accuracy: %.3f' % accuracy_score(y_test, y_tree_pred))# print('F1 Score: %.3f' % f1_score(y_test, y_tree_pred))

模型训练结果如下:

"D:\00python logLLL\python.exe" D:/案例/FIFA/机器学习.py=====逻辑回归算法=====训练集精度:  0.619测试集精度:  0.614平均绝对误差:  0.45746774546249724=====SVM支持向量机=====训练集精度:  0.617测试集精度:  0.614平均绝对误差:  0.45724907063197023=====随机森林算法=====训练集精度:  0.785测试集精度:  0.550平均绝对误差:  0.5650557620817844=====神经网络算法=====训练集精度:  0.619测试集精度:  0.614平均绝对误差:  0.4614038924119834=====决策树算法=====训练集精度:  0.785测试集精度:  0.506平均绝对误差:  0.6260660397988191进程已结束,退出代码0

四种算法精度仅为六成左右,平均绝对误差都五成左右,说明模型是不好的,只因于这里所用到逻辑回归算法、支持向量机算法、随机森林算法、神经网络算法、决策树算法均为典型的二分类算法,笔者此前在构造特征的时候,比赛结果为三种情况——胜、平、负,有三个分类。

df_target['result'] = df_target.apply(lambda x: 1 if x['home_score'] > x['away_score'] else 2 if x['home_score'] < x['away_score'] else 0,axis=1)

重新检查数据源,发现平局的数据有3265条,占比21%:

p6 机器学习数据集

平局的数据占比挺多的,直接去掉肯定会影响模型,但是由于时间关系,同时考虑到世界杯仅在小组赛中允许平局,进入淘汰赛后只有胜负两种结果,所以这里笔者不得不先将平局的情况去掉。

data_set = data_set.loc[data_set.result != 0]

重新跑下模型,此时模型的结果为:

"D:\00python logLLL\python.exe" D:/案例/FIFA/机器学习.py=====逻辑回归算法=====训练集精度:  0.782测试集精度:  0.794平均绝对误差:  0.20623434455886447Precision: 0.809Recall: 0.896Accuracy: 0.794F1 Score: 0.850=====SVM支持向量机=====训练集精度:  0.783测试集精度:  0.790平均绝对误差:  0.209852490954634Precision: 0.803Recall: 0.899Accuracy: 0.790F1 Score: 0.848=====随机森林算法=====训练集精度:  0.893测试集精度:  0.768平均绝对误差:  0.23211800723629278Precision: 0.800Recall: 0.859Accuracy: 0.768F1 Score: 0.828=====神经网络算法=====训练集精度:  0.784测试集精度:  0.793平均绝对误差:  0.20706930141942667Precision: 0.806Recall: 0.900Accuracy: 0.793F1 Score: 0.850=====决策树算法=====训练集精度:  0.893测试集精度:  0.739平均绝对误差:  0.2607848594489285Precision: 0.772Recall: 0.852Accuracy: 0.739F1 Score: 0.810进程已结束,退出代码0

算法的精度有所提高,平均绝对误差有所下降,但是在现实工作中,这种精度大多是不被接受的,但是鉴于本文的探索性质,此处将不再进行模型改良,直接在这几种算法中选择一种进行预测。其中Precision、Recall、Accuracy、F1 Score分别代表精确度、召回率、准确性、F1分数,甭管,数值越大越牛逼。

3-2022年卡塔尔世界杯小组赛预测

综合对比了各项性能指标,笔者决定选用逻辑回归算法进行预测。

p7 世界杯小组赛分组

首先读取2022年卡塔尔世界杯小组赛的对阵情况及之前保存的数据集:

df_group_match_2022 = pd.read_csv('2022_World_Cup.csv')df_info = pd.read_csv('data_set_with_team_name.csv')

在数据集data_set_with_team_name.csv中匹配32支小组赛队伍的特征信息:

home_info_dict = df_info[['home_team','home_times','home_win','home_rate_of_win','home_goal','home_avg_goal']].groupby('home_team').mean().to_dict()away_info_dict = df_info[['away_team','away_times','away_win','away_rate_of_win','away_goal','away_avg_goal']].groupby('away_team').mean().to_dict()df_group_match_2022['home_times'] = df_group_match_2022.apply(lambda x: home_info_dict['home_times'][x['home_team']],axis=1)df_group_match_2022['away_times'] = df_group_match_2022.apply(lambda x: away_info_dict['away_times'][x['away_team']],axis=1)df_group_match_2022['home_win'] = df_group_match_2022.apply(lambda x: home_info_dict['home_win'][x['home_team']],axis=1)df_group_match_2022['away_win'] = df_group_match_2022.apply(lambda x: away_info_dict['away_win'][x['away_team']],axis=1)df_group_match_2022['home_rate_of_win'] = df_group_match_2022.apply(lambda x: home_info_dict['home_rate_of_win'][x['home_team']],axis=1)df_group_match_2022['away_rate_of_win'] = df_group_match_2022.apply(lambda x: away_info_dict['away_rate_of_win'][x['away_team']],axis=1)# df_group_match_2022['home_goal'] = df_group_match_2022.apply(lambda x: home_info_dict['home_goal'][x['home_team']],axis=1)# df_group_match_2022['away_goal'] = df_group_match_2022.apply(lambda x: away_info_dict['away_goal'][x['away_team']],axis=1)df_group_match_2022['home_avg_goal'] = df_group_match_2022.apply(lambda x: home_info_dict['home_avg_goal'][x['home_team']],axis=1)df_group_match_2022['away_avg_goal'] = df_group_match_2022.apply(lambda x: away_info_dict['away_avg_goal'][x['away_team']],axis=1)df_group_match_2022['result'] = None

调用训练好的模型进行预测:

output_info = df_group_match_2022pred_set = df_group_match_2022.drop(['match_index','主队','客队','home_team','away_team','result'],axis=1)predictions = logreg.predict(pred_set)for i in range(48):    print('====*====' + output_info.iloc[i, 0] + '====*====')    print(output_info.iloc[i, 1] + '  Vs.  ' + output_info.iloc[i, 2])    if predictions[i] == 1:        print('Winner:' + output_info.iloc[i, 1])    else:        print('Winner:' + output_info.iloc[i, 2])    print(output_info.iloc[i, 1] + '--胜出的可能性为:' + '%.3f' % (logreg.predict_proba(pred_set)[i][0]))    print(output_info.iloc[i, 2] + '--胜出的可能性为:' + '%.3f' % (logreg.predict_proba(pred_set)[i][1]))    print('===========*============')    print('')

输出结果便是本文一开头展示的预测结果啦。

4-用模型去“预测”2018年俄罗斯世界杯小组赛

前文笔者说到,思路是先取2018年俄罗斯世界杯(2018-6-14)之前的数据训练模型,对俄罗斯世界杯小组赛的参赛队伍进行"预测",然后"预测"结果与实际的结果进行对比,验证模型的准确性,再去预测2022年卡塔尔世界杯小组赛的结果。但鉴于模型的局限性,数据的不完备性,特征选取等各方面的原因,2018年俄罗斯世界杯小组赛“预测结果”与实际结果的正确率不是很高,所以本文仅为机器学习探索的思路,没有严谨性及科学性所言。这里可以放下跑出来的结果(如下):

大概统计了一下,48场比赛,模型跑出来的结果成功了26场,成功率54%;但模型中是不考虑平局的,若将实际结果中的9场平局舍去,成功率66.7%

"D:\00python logLLL\python.exe" D:/案例/FIFA/改进3-减少特征.py=====逻辑回归算法=====训练集精度:  0.782测试集精度:  0.794平均绝对误差:  0.20623434455886447Precision: 0.809Recall: 0.896Accuracy: 0.794F1 Score: 0.850Saudi Arabia  Vs.  RussiaWinner:Saudi ArabiaSaudi Arabia--胜出的可能性为:0.591Russia--胜出的可能性为:0.409=============Uruguay  Vs.  EgyptWinner:UruguayUruguay--胜出的可能性为:0.694Egypt--胜出的可能性为:0.306=============Iran  Vs.  MoroccoWinner:IranIran--胜出的可能性为:0.837Morocco--胜出的可能性为:0.163=============Portugal  Vs.  SpainWinner:PortugalPortugal--胜出的可能性为:0.574Spain--胜出的可能性为:0.426=============France  Vs.  AustraliaWinner:FranceFrance--胜出的可能性为:0.711Australia--胜出的可能性为:0.289=============Argentina  Vs.  IcelandWinner:ArgentinaArgentina--胜出的可能性为:0.968Iceland--胜出的可能性为:0.032=============Peru  Vs.  DenmarkWinner:PeruPeru--胜出的可能性为:0.521Denmark--胜出的可能性为:0.479=============Croatia  Vs.  NigeriaWinner:CroatiaCroatia--胜出的可能性为:0.763Nigeria--胜出的可能性为:0.237=============Costa Rica  Vs.  SerbiaWinner:Costa RicaCosta Rica--胜出的可能性为:0.675Serbia--胜出的可能性为:0.325=============Germany  Vs.  MexicoWinner:GermanyGermany--胜出的可能性为:0.803Mexico--胜出的可能性为:0.197=============Brazil  Vs.  SwitzerlandWinner:BrazilBrazil--胜出的可能性为:0.887Switzerland--胜出的可能性为:0.113=============Sweden  Vs.  South KoreaWinner:SwedenSweden--胜出的可能性为:0.680South Korea--胜出的可能性为:0.320=============Belgium  Vs.  PanamaWinner:BelgiumBelgium--胜出的可能性为:0.935Panama--胜出的可能性为:0.065=============England  Vs.  TunisiaWinner:EnglandEngland--胜出的可能性为:0.841Tunisia--胜出的可能性为:0.159=============Colombia  Vs.  JapanWinner:ColombiaColombia--胜出的可能性为:0.529Japan--胜出的可能性为:0.471=============Poland  Vs.  SenegalWinner:PolandPoland--胜出的可能性为:0.725Senegal--胜出的可能性为:0.275=============Egypt  Vs.  RussiaWinner:EgyptEgypt--胜出的可能性为:0.642Russia--胜出的可能性为:0.358=============Portugal  Vs.  MoroccoWinner:PortugalPortugal--胜出的可能性为:0.824Morocco--胜出的可能性为:0.176=============Uruguay  Vs.  Saudi ArabiaWinner:UruguayUruguay--胜出的可能性为:0.708Saudi Arabia--胜出的可能性为:0.292=============Spain  Vs.  IranWinner:SpainSpain--胜出的可能性为:0.733Iran--胜出的可能性为:0.267=============Denmark  Vs.  AustraliaWinner:DenmarkDenmark--胜出的可能性为:0.534Australia--胜出的可能性为:0.466=============France  Vs.  PeruWinner:FranceFrance--胜出的可能性为:0.904Peru--胜出的可能性为:0.096=============Argentina  Vs.  CroatiaWinner:ArgentinaArgentina--胜出的可能性为:0.754Croatia--胜出的可能性为:0.246=============Brazil  Vs.  Costa RicaWinner:BrazilBrazil--胜出的可能性为:0.884Costa Rica--胜出的可能性为:0.116=============Iceland  Vs.  NigeriaWinner:NigeriaIceland--胜出的可能性为:0.248Nigeria--胜出的可能性为:0.752=============Switzerland  Vs.  SerbiaWinner:SwitzerlandSwitzerland--胜出的可能性为:0.673Serbia--胜出的可能性为:0.327=============Belgium  Vs.  TunisiaWinner:BelgiumBelgium--胜出的可能性为:0.759Tunisia--胜出的可能性为:0.241=============Mexico  Vs.  South KoreaWinner:MexicoMexico--胜出的可能性为:0.709South Korea--胜出的可能性为:0.291=============Germany  Vs.  SwedenWinner:GermanyGermany--胜出的可能性为:0.836Sweden--胜出的可能性为:0.164=============England  Vs.  PanamaWinner:EnglandEngland--胜出的可能性为:0.961Panama--胜出的可能性为:0.039=============Senegal  Vs.  JapanWinner:SenegalSenegal--胜出的可能性为:0.564Japan--胜出的可能性为:0.436=============Poland  Vs.  ColombiaWinner:PolandPoland--胜出的可能性为:0.764Colombia--胜出的可能性为:0.236=============Uruguay  Vs.  RussiaWinner:UruguayUruguay--胜出的可能性为:0.637Russia--胜出的可能性为:0.363=============Egypt  Vs.  Saudi ArabiaWinner:EgyptEgypt--胜出的可能性为:0.713Saudi Arabia--胜出的可能性为:0.287=============Spain  Vs.  MoroccoWinner:SpainSpain--胜出的可能性为:0.879Morocco--胜出的可能性为:0.121=============Portugal  Vs.  IranWinner:PortugalPortugal--胜出的可能性为:0.638Iran--胜出的可能性为:0.362=============Peru  Vs.  AustraliaWinner:AustraliaPeru--胜出的可能性为:0.366Australia--胜出的可能性为:0.634=============France  Vs.  DenmarkWinner:FranceFrance--胜出的可能性为:0.823Denmark--胜出的可能性为:0.177=============Argentina  Vs.  NigeriaWinner:ArgentinaArgentina--胜出的可能性为:0.801Nigeria--胜出的可能性为:0.199=============Croatia  Vs.  IcelandWinner:CroatiaCroatia--胜出的可能性为:0.960Iceland--胜出的可能性为:0.040=============Germany  Vs.  South KoreaWinner:GermanyGermany--胜出的可能性为:0.834South Korea--胜出的可能性为:0.166=============Mexico  Vs.  SwedenWinner:MexicoMexico--胜出的可能性为:0.712Sweden--胜出的可能性为:0.288=============Brazil  Vs.  SerbiaWinner:BrazilBrazil--胜出的可能性为:0.879Serbia--胜出的可能性为:0.121=============Switzerland  Vs.  Costa RicaWinner:SwitzerlandSwitzerland--胜出的可能性为:0.683Costa Rica--胜出的可能性为:0.317=============Poland  Vs.  JapanWinner:PolandPoland--胜出的可能性为:0.581Japan--胜出的可能性为:0.419=============Colombia  Vs.  SenegalWinner:ColombiaColombia--胜出的可能性为:0.682Senegal--胜出的可能性为:0.318=============Tunisia  Vs.  PanamaWinner:TunisiaTunisia--胜出的可能性为:0.916Panama--胜出的可能性为:0.084=============Belgium  Vs.  EnglandWinner:BelgiumBelgium--胜出的可能性为:0.550England--胜出的可能性为:0.450=============进程已结束,退出代码0
作者:百科
------分隔线----------------------------
头条新闻
图片新闻
新闻排行榜