我有100张唱片 Xy
回归问题在哪里 X
是输入和 y
是目标变量。我要把一个放在外面 LOO
交叉验证,这将是100个训练测试回合。
在每一轮训练测试中,我都使用 GridSearchCV
从scikit学习,根据我想要调整的超参数组合,每个网格搜索(或每个训练测试轮)可以生成数百万次运行。我的回归是标准的东西,比如 LinearRegression
或者 RandomForestRegressor
. 包括gridsearchcv在内的许多回归或估计都有这种情况 n_jobs
参数,因为我想最大限度地提高集群利用率,所以设置 n_jobs=-1
在适当的情况下。
我的spark群集有1个驱动程序和10台计算机,总共有11个节点。所有这些节点都在azure中使用标准的\u e64s \u v3。每个都有64个vCPU和432 gib的内存。分区数为640(10 x 64)。当我发布 rdd.glom().collect()
我得到一个非常稀疏的分布。
我的问题是,关于 n_jobs=-1
在算法和网格搜索示例的设置中,我是否应该将rdd重新划分回10以匹配10个工作节点以最大限度地提高利用率?如果我这样做,我推测10个工作节点将有10个折叠,这将是集群的最佳使用,因为在每个工作节点上,只能有1个折叠(train test)执行 n_jobs=-1
.
如果我将其保留为默认值,那么缺点是工作不会均匀地分布在10个工作节点上,因为某些空分区可能在某些工作节点上更常见。同理,训练测试组可能在资源落入属于同一工作节点的分区时争夺资源。
关于如何最好地优化或微调这个问题有什么想法吗?
暂无答案!
目前还没有任何答案,快来回答吧!