sklearn随机森林不平行

时间:2015-03-28 20:08:37

标签: scikit-learn

我在Ubuntu 12.04上使用sklearn 0.16并运行:

from sklearn.ensemble import RandomForestClassifier
import numpy as np
X=np.random.rand(5000,500)
y=(np.random.rand(5000).round())
RandomForestClassifier(n_jobs=10,n_estimators=1000).fit(X,y)

然而,它没有耗尽我的核心,并且与n_jobs = 1的时间相同。关于如何调试这里发生了什么的任何想法?

此屏幕截图显示正在运行的其他一些繁忙的事情,但htop始终显示可用的CPU:

enter image description here

2 个答案:

答案 0 :(得分:1)

试试这个:

import affinity
import multiprocessing
affinity.set_process_affinity_mask(0, 2**multiprocessing.cpu_count()-1)

答案 1 :(得分:-2)

您需要更改n_jobs参数。

使用n_jobs=-1将使其使用所有可用内核。