ランダムフォレストバイナリ分類のハイパーパラメータ調整を始めたばかりで、予測された分類ではなく予測された確率に基づいてスコアリングを設定する方法を誰かが知っている/アドバイスできるかどうか疑問に思っていました. 理想的には、分類 (つまり[ 0,1,1,0,0] ) ではなく、確率 (つまり[0.2,0.6,0.7,0.1,0.0] )の下で roc_auc を考慮するものが必要です。
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]
}
rf_fit = GridSearchCV(estimator=rfbase, param_grid=param_grid
, scoring = 'roc_auc')
現在、roc_auc は実際の分類から外れていると思います。カスタム スコアリング関数の作成に着手する前に、より効率的な方法があるかどうかを確認したかったので、ここで助けてくれてありがとう!