我正在尝试根据历史体育博彩的表现来评估模型。
我有一个由以下几列组成的数据集:
feature1 | ... | featureX | oddsPlayerA | oddsPlayerB | winner
模型将进行回归,其中输出是玩家A赢得比赛的几率
据我了解,我可以使用自定义评分功能来返回模型,如果每次条件都正确时下注,它将使用该值来衡量模型的适用性。条件如下:
if prediction_player_A_win_odds < oddsPlayerA
money += bet_playerA(oddsPlayerA, winner)
if inverse_odd(prediction_player_A_win_odds) < oddsPlayerB
money += bet_playerB(oddsPlayerB, winner)
在自定义计分功能中,我需要从“数据集(这是问题所在!)。
如果以与原始数据集完全相同的顺序调用数据的自定义评分功能,那么从数据集中检索所需的额外数据将很简单。但是实际上,当使用交叉验证方法时,所获得的数据都是混合在一起的(与原始数据相比)。我已经尝试了最明显的方法,即用[oddsA,oddsB,winner](尺寸[n,3])传递y变量,但是scikit不允许这样做。
因此,如何从数据集中将数据获取到既不是X也不是y但仍然以相同顺序“捆绑在一起”的自定义评分函数中?
GridSearchCV
或cross_val_score
执行此操作sklearn.model_selection._validation.cross_validate
之前,我想检查一下是否有任何更新,也许是一种更好的方法?谢谢!