2016-04-12 18 views
2

誰かがpython SciKitランダムフォレストクラシファイアのoob_decision_function_属性の使い方を説明できますか?私はそれを使って、訓練と妥当性検査の誤差をさまざまな訓練セットのサイズと比較して学習曲線をプロットし、過大適合および他の問題を特定します。これを行う方法に関する情報を見つけることができないようです。学習曲線にSciKitランダムフォレストのoob_decision_function_を使用する方法は?

答えて

2

カスタム評価関数をモデル評価フィールドのscoringパラメータに渡すことができます。classifier, X, y_true -> scoreの署名が必要です。

あなたのケースのためには、異なるトレーニングセットのサイズに対して3倍のクロス検証OOBスコアを計算します

from sklearn.learning_curve import learning_curve 
learning_curve(r, X, y, cv=3, scoring=lambda c,x,y: c.oob_score_) 

このようなものを使用することができます。 Btw私はあなたがランダムな森林で過大になるべきではないと思っています。それはその恩恵の一つです。

関連する問題