如何解决在PySpark上对GBT分类器进行交叉验证在2 GB数据上花费了太多时间80%的训练和20%的测试有没有办法减少时间?
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。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。