我目前正在编码随机森林,并且我一直在考虑使用多线程来实现它。
我见过不同的方法,但到目前为止,没有一个起作用。
class RandomForest(Learner):
def fit(self,X,y):
selected_criterion=Criterion(self._name)
self._trees=[]
dataset=Dataset(X,y,self._dataset_state)
for i in range(self._num_trees): #multithreading here
ds=dataset.bootstrap(self._ratio_samples)
print("Tree", i, "built.")
self._trees.append(self._make_tree(ds, selected_criterion))
def _make_tree(self,dataset,selected_criterion):
node=SplitNode(0,self,selected_criterion)
tree=node.make_tree(dataset.X,dataset.y)
return tree
希望每棵树或其中的一些树都是并行构建的。有简单的解决方案吗?
多处理也是一种选择,但看起来更复杂。