Python 基于概率的GridSearchCV超参数调整随机森林分类器

Python 基于概率的GridSearchCV超参数调整随机森林分类器,python,random-forest,hyperparameters,Python,Random Forest,Hyperparameters,刚刚开始对随机森林二元分类进行超参数调整,我想知道是否有人知道/可以建议如何根据预测的概率而不是预测的分类设置评分。理想情况下,我希望在低于概率的情况下考虑RoCuAUC(即 [0.2,0.6,0.7,0.1,0.0] < /强>),而不是分类(即 [01,1,0] 0] > 我认为目前roc_auc正在偏离实际分类。在我开始创建自定义评分功能之前,想看看是否有更有效的方法,在此提前感谢您的帮助 使用Jarad提供的参考进行最终求解: from sklearn.metrics import

刚刚开始对随机森林二元分类进行超参数调整,我想知道是否有人知道/可以建议如何根据预测的概率而不是预测的分类设置评分。理想情况下,我希望在低于概率的情况下考虑RoCuAUC(即<强> [0.2,0.6,0.7,0.1,0.0] < /强>),而不是分类(即<强> [01,1,0] 0] <强> >


我认为目前roc_auc正在偏离实际分类。在我开始创建自定义评分功能之前,想看看是否有更有效的方法,在此提前感谢您的帮助

使用Jarad提供的参考进行最终求解:

from sklearn.metrics import roc_auc_score
from sklearn.ensemble import RandomForestClassifier as rfc
from sklearn.grid_search import GridSearchCV

rfbase = rfc(n_jobs = 3, max_features = 'auto', n_estimators = 100, bootstrap=False)

param_grid = {
    'n_estimators': [200,500],
    'max_features': [.5,.7],
    'bootstrap': [False, True],
    'max_depth':[3,6]
}

def roc_auc_scorer(y_true, y_pred):
    return roc_auc_score(y_true, y_pred[:, 1])
scorer = make_scorer(roc_auc_scorer, needs_proba=True)

rf_fit = GridSearchCV(estimator=rfbase, param_grid=param_grid
      , scoring = scorer)

看看斯卡恩的。它有一个
needs_proba
param。你也许可以一起用摇动的东西?谢谢你的快速反应,这正是我要找的!如果你想把这个问题转化为一个答案,我很乐意在测试后投票:)确认工作正常,再次感谢这里的快速帮助!很高兴它能帮上忙。这取决于你,但你可能想用你发现有效的解决方案来回答你自己的问题。根据SO的说法,尽管某些“专家”不喜欢并否认这一事实,但还是有一些抱怨。我在返回roc_auc_分数(y_true,y_pred[:,1])行中出现了“索引器:数组索引太多”错误
from sklearn.metrics import roc_auc_score
from sklearn.ensemble import RandomForestClassifier as rfc
from sklearn.grid_search import GridSearchCV

rfbase = rfc(n_jobs = 3, max_features = 'auto', n_estimators = 100, bootstrap=False)

param_grid = {
    'n_estimators': [200,500],
    'max_features': [.5,.7],
    'bootstrap': [False, True],
    'max_depth':[3,6]
}

def roc_auc_scorer(y_true, y_pred):
    return roc_auc_score(y_true, y_pred[:, 1])
scorer = make_scorer(roc_auc_scorer, needs_proba=True)

rf_fit = GridSearchCV(estimator=rfbase, param_grid=param_grid
      , scoring = scorer)