gpt4 book ai didi

python - sklearn : enable all cores using GridSearchCV

转载 作者:行者123 更新时间:2023-11-30 09:29:05 26 4
gpt4 key购买 nike

我使用 GridSearchCV 来查找 RandomForestClassifier 的最佳参数

这是部分代码:

clf = RandomForestClassifier(n_jobs=-1)

param_grid = {"max_depth": [3, None],
"max_features": [1, 3, 10],
"min_samples_split": [2, 3, 10],
"min_samples_leaf": [1, 3, 10],
"bootstrap": [True, False],
"criterion": ["gini", "entropy"]}

# run grid search
grid_search = GridSearchCV(clf, param_grid=param_grid, n_jobs=-1)
start = time.time()
grid_search.fit(X_train, y_train)
print("GridSearchCV took %.2f seconds for %d candidate parameter settings."
% (time.time() - start, len(grid_search.cv_results_['params'])))

我在 32 核服务器上运行此代码,但使用 htop 我看到只有大约 8 个核心正在使用,所以我的问题是如何启用所有核心?

最佳答案

忽略GridSearchCV,它还应该添加一个外层并行化,即clf = RandomForestClassifier(n_jobs=-1)的内部并行化 仅在树级别上工作

含义:它只使用与内部决策树一样多的核心! 默认(您正在使用的)是10!

我很确定:

clf = RandomForestClassifier(n_jobs=-1, n_estimators=32)

将使用全部 32 个核心,即使没有外部 GridSearchCV。

现在,您必须做出决定,这在您的用例中是否是有效的步骤(尽管增加 n_estimators 的行为相当稳健)。

关于python - sklearn : enable all cores using GridSearchCV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44875314/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com