你好,我遇到了这个关于如何使用python和一些库来预测未来NCAAB游戏的教程。我将张贴代码以及文章。这似乎工作得很好,但我认为这只是测试基于游戏在过去。我将如何使用它来预测特定球队的未来比赛?例如,今天A队和B队的比分是多少?你知道吗
我看到的问题是,有些数据只有在游戏结束后才能知道。这个已知的数据就是程序中用来预测分数的数据。你知道吗
第一个实验:我试着只填充游戏发生前我知道的数据,然后用fillna(0)填充剩下的数据。以下是csv的外观:
日期球队,客场助攻百分率,客场助攻,客场盖帽百分率,客场盖帽,客场防守评分,客场防守篮板百分率,客场防守篮板,客场有效进球百分率,客场进球尝试次数,客场进球百分率,客场进球次数,客场罚球尝试次数,客场罚球尝试次数,客场罚球命中率、客场罚球命中率、客场失利率、客场比赛分钟数、客场进攻得分率、客场进攻篮板命中率、客场进攻篮板命中率、客场个人犯规命中率、客场得分、客场抢断命中率、客场抢断命中率、客场三分抢断命中率、客场三分抢断命中率、客场三分抢断命中率、客场三分抢断命中率、,客场三分球,客场总篮板,客场总篮板,客场真投篮,客场换人,客场失误,客场二分球,客场二分球,客场二分球,客场致胜,客场助攻,主场盖帽,主场盖帽,主场防守得分率,主场防守篮板得分率,主场防守篮板得分率,主场有效投篮得分率,主场进球次数,主场进球次数,主场进球次数,主场进球次数,主场罚球次数,主场罚球次数,主场进攻得分率,主场进攻篮板百分率,主场进攻篮板,主场个人犯规,主场得分,主场抢断百分率,主场抢断,主场三分尝试率,主场三分投篮命中率,主场三分投篮命中率,主场三分投篮命中率,主场三分投篮命中率,主场三分投篮命中率,主场三分投篮命中率,主场总篮板百分率,主场真投篮命中率,主场失误率,主场失误率,主场二分球命中率,主场二分球命中率,主场二分球命中率,主场二分球命中率,主场二分球命中率,主场获胜率,速度 0,0,0,0,0,0,0,0,0,59,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7,7,0,0,0,0,0,0,0,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,.1,1,0 最后一行代码更改为: 打印(模型.预测(最终微调)。aType(int),y\u测试)
“最终微调”是正在预测的新csv。你知道吗
结果一点也不准确。我错过了什么?你知道吗
以下是原始代码:
import pandas as pd
from sportsreference.ncaab.teams import Teams
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import train_test_split
FIELDS_TO_DROP = ['away_points', 'home_points', 'date', 'location',
'losing_abbr', 'losing_name', 'winner', 'winning_abbr',
'winning_name', 'home_ranking', 'away_ranking']
dataset = pd.DataFrame()
teams = Teams()
for team in teams:
dataset = pd.concat([dataset, team.schedule.dataframe_extended])
X = dataset.drop(FIELDS_TO_DROP, 1).dropna().drop_duplicates()
y = dataset[['home_points', 'away_points']].values
X_train, X_test, y_train, y_test = train_test_split(X, y)
parameters = {'bootstrap': False,
'min_samples_leaf': 3,
'n_estimators': 50,
'min_samples_split': 10,
'max_features': 'sqrt',
'max_depth': 6}
model = RandomForestRegressor(**parameters)
model.fit(X_train, y_train)
print(model.predict(X_test).astype(int), y_test)
这是我收到的邮件: https://towardsdatascience.com/predict-college-basketball-scores-in-30-lines-of-python-148f6bd71894
谢谢你!你知道吗
这样想,如果您想测试模型的拟合优度,那么您必须提前知道结果,这样您就可以测量(模型)输出和实际结果之间的距离,并执行必要的调整以提高模型的整体性能。你知道吗
一旦你训练了你的模型,如果你想预测未来的价值,那么(在你不知道你在做什么的情况下)你应该给你的模型提供训练过的相同的特征,但是你要用你将要做预测的数据。下面是一个非常基本的例子,使用两个变量来预测两个团队(a和B)的得分:
在这里,我已经训练了我的模型,所以如果我想做一个未来的预测,我需要通过我在训练中使用的相同的特性(温度和湿度),但是要用我想做预测的值。假设我们的朋友气象学家说下一场比赛的温度和湿度分别是35和70。所以我需要将
.predict()
与这些值一起使用:返回以下输出:
如果你想让它更华丽:
返回:
相关问题 更多 >
编程相关推荐