12.5 用并行化加速模型选择
问题描述
加快模型选择的过程。
解决方案
设置n_jobs=-1,以使用所有的CPU核:

讨论
在本节的解决方案中,我们将候选模型的数量设置为一个较小值,以便代码可以快速执行完。然而,真实的任务中通常会有数千或数万个模型需要训练,寻找最佳模型的过程可能需要数小时。为了加快这个过程,scikit-learn允许同时训练多个模型。在不涉及太多技术细节的情况下,scikit-learn可以同时训练的模型数量等于机器的CPU核的数量。大多数现代笔记本电脑都有4个核,因此你可以同时训练4个模型(假设你目前使用的是笔记本电脑)。这将大大加快模型选择的速度。参数n_jobs定义了并行训练的模型数量。解决方案中将n_jobs设置为-1,表示scikit-learn将使用所有CPU核。然而默认情况下,n_jobs的值为1,表示只使用一个核。为了证明这一点,我们运行与解决方案相同的GridSearchCV,但是n_jobs=1,你可以看到寻找最佳模型所需的时间明显变长了(注意,确切的时间与你的计算机有关):




本书评论