逻辑回归与通过分箱预测概率

我在探索使用逻辑回归模型来预测射门得分的概率。我有两个预测变量,但为了简化起见,我们假设只有一个预测变量:离球门距离。在进行数据探索时,我决定调查距离与射门结果之间的关系。我通过将数据分成大小相等的箱子来图形化地进行这一操作,然后计算每个箱子内所有结果(0表示未进球,1表示进球)的平均值。接着,我绘制了每个箱子的平均距离与进球概率的关系图。我使用Python完成了这一操作

#use the seaborn library to inspect the distribution of the shots by result (goal or no goal) fig, axes = plt.subplots(1, 2,figsize=(11, 5))#first we want to create bins to calc our probability#pandas has a function qcut that evenly distibutes the data #into n bins based on a desired column valuedf['Goal']=df['Goal'].astype(int)df['Distance_Bins'] = pd.qcut(df['Distance'],q=50)#now we want to find the mean of the Goal column(our prob density) for each bin#and the mean of the distance for each bindist_prob = df.groupby('Distance_Bins',as_index=False)['Goal'].mean()['Goal']dist_mean = df.groupby('Distance_Bins',as_index=False)['Distance'].mean()['Distance']dist_trend = sns.scatterplot(x=dist_mean,y=dist_prob,ax=axes[0])dist_trend.set(xlabel="Avg. Distance of Bin",       ylabel="Probabilty of Goal",       title="Probability of Scoring Based on Distance")

根据距离预测进球概率

所以我的问题是,为什么我们要经历创建逻辑回归模型的过程,当我可以对图像中的曲线进行拟合时?这样不是可以提供一个能够预测距离x的射门概率的函数吗?

我想问题可能是我们将大约40,000个数据点减少到50个,但我不是很确定为什么这会对预测未来的射门有问题。我们可以增加箱子的数量吗,还是这只会增加变异性?这是偏差-方差权衡的问题吗?我只是有点困惑于为什么这种方法不如逻辑模型好。


回答:

分箱方法比逻辑回归更需要细致调整,因为你需要尝试不同类型的图表来拟合曲线(例如,逆关系、对数、平方等),而对于逻辑回归,你只需要调整学习率就能看到结果。

如果你只使用一个特征(你的“距离”预测变量),我认为分箱方法和逻辑回归之间不会有太大区别。然而,当你使用两个或更多特征时(我在你提供的图像中看到了“距离”和“角度”),你将如何计划组合每个特征的概率来做出最终的0/1分类?这可能会很棘手。例如,“距离”可能比“角度”更有用。然而,逻辑回归可以为你调整权重来解决这个问题。

关于你的分箱方法,如果你使用较少的箱子,可能会看到更多的偏差,因为数据可能比你想象的更复杂,但这不太可能,因为你的数据初看相当简单。然而,如果你使用更多的箱子,这不会显著增加变异性,假设你拟合曲线时没有改变曲线的阶数。如果你改变了拟合曲线的阶数,那么是的,这会增加变异性。不过,你的数据似乎适合使用这种方法进行非常简单的拟合。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注