n_jobsパラメータを使って複数のCPUコアを利用することができます。 どうやるの
n_jobsパラメータは、scikit-learnの一部のモデルで使用できます。これを使用すると、指定された数のCPUコアを利用して並列処理が行われます。具体的には、モデルのトレーニング中に並列処理が使用され、計算時間を短縮することができます。
n_jobsパラメータの値には、以下のような指定方法があります。
n_jobs = -1: 使用可能なすべてのCPUコアを利用します。n_jobs = 1: 並列処理を使用しない(デフォルト値)。n_jobs = 2、n_jobs = 3、など: 指定された数のCPUコアを利用します。
例えば、ランダムフォレストの場合、RandomForestClassifierのn_jobsパラメータを設定することで、並列処理を有効にできます。以下にその例を示します。
python
from sklearn.ensemble import RandomForestClassifier from sklearn.model_selection import RandomizedSearchCV from scipy.stats import randint # ランダムフォレストのインスタンス化 rf_classifier = RandomForestClassifier(n_jobs=-1) # パラメータグリッドの定義 param_dist = { 'n_estimators': randint(100, 1000), # 100から1000の間でランダムに選択 'max_features': ['auto', 'sqrt'], 'max_depth': randint(10, 100), # 10から100の間でランダムに選択 'min_samples_split': randint(2, 20), # 2から20の間でランダムに選択 'min_samples_leaf': randint(1, 20), # 1から20の間でランダムに選択 'bootstrap': [True, False] } # ランダムサーチを用いて探索 random_search = RandomizedSearchCV(rf_classifier, param_distributions=param_dist, n_iter=100, cv=5, random_state=42) random_search.fit(X_rf_train, y_train)
ここで、n_jobs=-1は使用可能なすべてのCPUコアを利用することを意味します。必要に応じて、n_jobsの値を変更して、利用するCPUコアの数を制御できます。

ディスカッション
コメント一覧
まだ、コメントがありません