-1

GridSearchを使用してランダムなフォレストクラシファイアを自動的に調整する方法はありますか?値を提供するのではなく、最良の最適なパラメータ値を見つける方法があるかどうかです。sklearnを使用したランダムフォレストでの自動ハイパーパラメータ調整?

rfc = RandomForestClassifier(n_jobs=-1, max_features='sqrt', oob_score = True) 

    # Use a grid over parameters of interest 
    param_grid = { 
       "n_estimators" : [9, 18, 27, 36, 45, 54, 63], 
       "max_depth" : [1, 5, 10, 15, 20, 25, 30], 
       "min_samples_leaf" : [1, 2, 4, 6, 8, 10]} 

    CV_rfc = GridSearchCV(estimator=rfc, param_grid=param_grid, cv= 10) 
    CV_rfc.fit(train_x, train_y) 
    print CV_rfc.best_params_ 
+0

号にいくつかのより多くの時間を費やす価値があります[cross-validate](https://stats.stackexchange.com/)でこの質問をすると、なぜそうでないのか、より詳細な回答が得られます。 – ncfirth

+0

これは、クロスバリデーションのためのより良い質問であると私は同意しません。私の経験上、scikitを学ぶためのコードにあなたの質問を十分に理解すれば、SOはそれをより良い場所にします。 –

答えて

0

はい、そこにはほとんどあります。 print CV_rfc.best_params_行で、最良のRFパラメータセットを特定しました。

CV_rfc.fit(train_x, train_y)を実行した後のCV_rfcオブジェクトには、すでに見つかった最良のRFパラメータですべての列車データにRFモデルが再設定されています。 CV_rfc.best_estimator_でその「ベストモデル」にアクセスすることができます(gridsearchオブジェクトに合わせてrefit=Falseを設定しない限り)。

ですから、 CV_rfc.best_estimator_.predict(test_x)でテストデータ上の最良推定量を使用して新しい予測を行うことができ、あるいは利便性などにもCV_rfc.predict(test_x)

それは私がお勧めしたいdocumentation

関連する問題