joa*_*que 6 python regression scoring scikit-learn
我试图根据历史体育赛事的表现来评估一个模型.
我有一个由以下列组成的数据集:
feature1 | ... | featureX | oddsPlayerA | oddsPlayerB | winner
Run Code Online (Sandbox Code Playgroud)
该模型将进行回归,其中输出是playerA赢得比赛的几率
我的理解是,我可以使用自定义评分函数来返回模型在每次条件为真时下注的"金钱",并使用该值来衡量模型的适应性.条件类似于:
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)
Run Code Online (Sandbox Code Playgroud)
在自定义评分函数中,我需要接收通常的参数,如"ground_truth,predictions"(其中ground_truth是获胜者[],预测是prediction_player_A_win_odds []),还有来自数据集的字段"oddsPlayerA"和"oddsPlayerB"(这里)是问题!).
如果使用与原始数据集完全相同的顺序调用自定义评分函数,则从数据集中检索所需的额外数据将是微不足道的.但实际上,当使用交叉验证方法时,它获得的数据全部混淆(与原始数据相比).
我尝试过最明显的方法,即用[oddsA,oddsB,winner](dimension [n,3])传递y变量,但是scikit不允许它.
那么,我如何从数据集中获取数据到自定义评分函数既不是X也不是y,但仍然以相同的顺序"捆绑在一起"?
目前还没有办法真正做到这一点,抱歉。您可以在交叉验证折叠上编写自己的循环,这应该不难。您不能使用GridSearchCV或执行此操作cross_val_score
| 归档时间: |
|
| 查看次数: |
1089 次 |
| 最近记录: |