0

以下のワークフローを使用して、本番用にランダム フォレスト分類器をトレーニングしています。RandomizedSearchCV を使用して、結果を出力し、RandomizedSearchCV の結果を使用して新しいパイプラインを作成することにより、分類子のパラメーターを調整しています。手動で行う必要がないように、 RandomizedSearchCV の最良の結果を分類子に単純にポイントする方法が必要だと思いますが、方法がわかりません。

select = sklearn.feature_selection.SelectKBest(k=40)
clf = sklearn.ensemble.RandomForestClassifier()
steps = [('feature_selection', select),
    ('random_forest', clf)]
parameters = {"random_forest__max_depth": [3, None],
          "random_forest__max_features": sp_randint(1, 21),
          "random_forest__min_samples_split": sp_randint(1, 21),
          "random_forest__min_samples_leaf": sp_randint(1, 21),
          "random_forest__bootstrap": [True, False],
          "random_forest__criterion": ["gini", "entropy"]}
pipeline = sklearn.pipeline.Pipeline(steps)
n_iter_search = 20
cv = RandomizedSearchCV(pipeline, param_distributions = parameters, n_iter=n_iter_search)
cv.fit(X,y)
4

1 に答える 1