PySpark 上的 GBT 分类器交叉验证在 2 GB 数据(80% 训练和 20% 测试)上花费了太多时间。有没有办法减少时间?

cross validation of GBT Classifier on PySpark taking too much time on 2 GB data(80% Train & 20 % Test). Is there a way to reduce the time?

PySpark 上的 GBT 分类器交叉验证在 2 GB 数据(80% 训练和 20% 测试)上花费了太多时间。有没有办法减少时间? 示例代码如下:-

dt = GBTClassifier(maxIter = 250)
pipeline_dt = Pipeline(stages=[indexer, assembler, dt])
paramGrid = ParamGridBuilder().build()  
crossval = CrossValidator(estimator=pipeline_dt, estimatorParamMaps=paramGrid,
   evaluator=BinaryClassificationEvaluator(),numFolds=6)    
   cvModel = crossval.fit(train_df)

默认情况下,评估是 运行 串行方式 - 下一轮在上一轮完成后完成。从 Spark 2.3 开始,there is a parallelism parameter 指定可以 运行 并行计算的数量。

P.S。如果您还要添加参数搜索,那么我建议您查看改进超参数搜索的 Hyperopt library