我有一个8核/ 16线程的CPU,并且 我将cross_val_score与XGBRegressor都使用了njobs = 6,但它们实际上只使用了1个内核(在htop-Console中,只有1个CPU的负载为100%,其余为0%)。
for i,n_est in enumerate(range(20,105,5)):
for j,m_dep in enumerate(range(3,10,2)):
for k,l_rate in enumerate([0.0001,0.001,0.01,0.1]):
sc = cross_val_score(estimator=xgb.XGBRegressor(njobs=6,max_depth=m_dep,learning_rate=l_rate,n_estimators=n_est),X=X_train,y=y_train,cv=5,scoring='r2',n_jobs=6)
res[i,j,k] = np.mean(sc)
l += 1
print(l,end = '')
这是怎么了?交叉价值得分必须易于并行化,因为它可以在5个独立的数据集上运行5个模型?