老师您好,几个问题请教一下
来源:2-18 实战sklearn超参数搜索
manbaneverout
2020-05-03
1.当n_jobs不是1的时候,我这边会报错PicklingError: Could not pickle the task to send it to the workers.是否是老师说的无法并行化的还没解决的bug?
2.RandomizedSearchCV中的n_iter参数的意思是从param_distribution中随机取十个参数集合?
3.RandomizedSearchCV的过程是否是将x_train_std和y_train数据集分成测试集和验证集,然后训练完分别计算其loss的值,每个参数集合将数据集看epochs次,我的机子上一般30次,是否是由于EarlyStopping的存在,所以一般看不到epochs次?然后每看完一个epochs,就用我们传进去的x_valid_std,y_train进行验证?
4.RandomizedSearchCV在fit的过程中,在验证穿进去的x_valid_std和y_valid的时候会出现很多的"======"我看老师的代码不会,也没进行特殊的设置,请问是什么原因?
麻烦老师了
1回答
-
对
是的.
会将x_train_std和y_train分成cv=3份,然后用两份进行训练,一份进行验证。是因为early stopping存在,所以才会提前结束。每进行一个epoch,会用三份中的一份进行验证。参数搜索结束后,会在全部训练集上训练,然后使用x_valid_std去进行验证。
可能是版本的原因,有一版(我记得是2.0.0)上会有很多等号,可以用verbose = 0来设置不输出进度。我更新到2.1.0没有发现类似问题。
012020-05-04
相似问题