老师您好,几个问题请教一下

来源: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回答

正十七

2020-05-04

  1. 是的.

  2. 会将x_train_std和y_train分成cv=3份,然后用两份进行训练,一份进行验证。是因为early stopping存在,所以才会提前结束。每进行一个epoch,会用三份中的一份进行验证。参数搜索结束后,会在全部训练集上训练,然后使用x_valid_std去进行验证。

  3. 可能是版本的原因,有一版(我记得是2.0.0)上会有很多等号,可以用verbose = 0来设置不输出进度。我更新到2.1.0没有发现类似问题。

0
1
manbaneverout
非常感谢老师耐心解答!
2020-05-04
共1条回复

Google老师亲授 TensorFlow2.0 入门到进阶

Tensorflow2.0实战—以实战促理论的方式学习深度学习

1849 学习 · 896 问题

查看课程