我对某些模型和 CV 中使用的 n_jobs 参数感到困惑。我知道它用于并行计算,其中包括 n_jobs 参数中指定的处理器数量。因此,如果我将值设置为 -1,它将包括所有内核及其线程以加快计算速度。但是这篇文章:-
https://machinelearningmastery.com/multi-core-machine-learning-in-python/#comment-617976
指出使用所有核心进行训练、评估和超参数调整是一个坏主意。文章的重点如下:——
1.)当使用 k 折交叉验证时,最好将核心分配给重采样过程,并让模型训练单核。
2.)当使用超参数调优时,最好让搜索多核,让模型训练和评估单核。
但常识表明,在任何地方设置 n_jobs = -1 将包括所有内核以加快计算速度,从而缩短运行时间。谁能澄清一下?