2

データセットでランダム化されたグリッド検索を行うことを含む、比較的大きなジョブを実行していますが、(小さな n_iter_search で) すでに長い時間がかかります。

私は 64 コアのマシンで実行しており、約 2 時間、最初のフォールドで 2000 のスレッドをアクティブに保ちました。その後、stdout へのレポートを完全に停止しました。前回のレポートは次のとおりです。 [Parallel(n_jobs=-1)]: Done 4 out of 60 | elapsed: 84.7min remaining: 1185.8min

htop で、ほぼすべてのコアが 0% になっていることに気付きました。これは、ランダム フォレストのトレーニングでは発生しません。プログラムからのフィードバックやエラーはありません。htop がなければ、まだトレーニング中であると思います。これは以前にも発生したため、繰り返し発生する問題です。マシンは完全に反応し、プロセスは生きているように見えます.

私はすでに冗長 = 10 を持っています。RandomizedSearchCV 内で何が起こっているのかを診断する方法について何か考えはありますか?

私がやっているグリッド検索:

rfc = RandomForestClassifier(n_jobs=-1)

param_grid = { 'n_estimators': sp_randint(100, 5000), 'max_features': ['auto', None], 'min_samples_split': sp_randint(2, 6) }

n_iter_search = 20

CV_rfc = RandomizedSearchCV(estimator=rfc, param_distributions=param_grid, n_iter = n_iter_search, verbose = 10,n_jobs = -1)

4

1 に答える 1

3

verbose最初のステップとして、同様にパラメーターを追加するRandomForestClassifierと、検索が本当に停止しているかどうかを確認できます。ツリーのフィッティングの進行状況が表示されます ( building tree 88 out of 100...)。

検索が動かなくなった理由はよくわかりませんが、検索を削除することを考えると、n_estimatorsここで指定したパラメーターの空間全体をわずか 8 回の繰り返しでグリッド検索できるはずです。

于 2015-07-18T16:29:20.060 に答える