gpt4 book ai didi

scala - 如何获取 Spark 中线性回归等 ML 算法的所有超参数列表?

转载 作者:行者123 更新时间:2023-11-30 09:19:52 24 4
gpt4 key购买 nike

我正在学习在 scala 中使用 Spark DataFrames API 构建机器学习模型,并且想了解所有超参数的列表可用于调整模型。通过到目前为止的搜索,我发现了一些 LinearRegression 的超参数,例如:

  • setMaxIter
  • 设置RegParam
  • 设置ElasticNetParam

可以通过以下方式使用:

import org.apache.spark.ml.regression.LinearRegression

val lr = new LinearRegression().setMaxIter(100).setRegParam(0.3).setElasticNetParam(0.8)
val lrModel = lr.fit(training)

Spark 中是否有文档页面或方法可以列出所有可调超参数?像这样的东西:

LinearRegression.getParamList()
RandomForest.getParamList()

最佳答案

检查ml-tuning ,利用 ML-Pipelines,您将通过 ParamGridBuilder 将功能选择传递给 CrossValidator,并运行管道来估计哪些集合表现最佳,下面的例子:

val lr = new LinearRegression()
.setMaxIter(10)

val paramGrid = new ParamGridBuilder()
.addGrid(lr.regParam, Array(0.1, 0.01))
.addGrid(lr.fitIntercept)
.addGrid(lr.elasticNetParam, Array(0.0, 0.5, 1.0))
.build()

val trainValidationSplit = new TrainValidationSplit()
.setEstimator(lr)
.setEvaluator(new RegressionEvaluator)
.setEstimatorParamMaps(paramGrid)
.setTrainRatio(0.8)

val model = trainValidationSplit.fit(training)

您可以进一步探索 scala 文档 ml.param ,有一个方法explainParam()但是我没有使用过api/scala/pipeline

关于scala - 如何获取 Spark 中线性回归等 ML 算法的所有超参数列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44096823/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com