通过pyspark.ml.tuning.TrainValidationSplit调整后如何获得最佳参数?

高尾

我正在尝试通过调整Spark(PySpark)ALS模型的超参数TrainValidationSplit

它运作良好,但我想知道哪种超参数组合是最好的。评估后如何获得最佳参数?

from pyspark.ml.recommendation import ALS
from pyspark.ml.tuning import TrainValidationSplit, ParamGridBuilder
from pyspark.ml.evaluation import RegressionEvaluator

df = sqlCtx.createDataFrame(
    [(0, 0, 4.0), (0, 1, 2.0), (1, 1, 3.0), (1, 2, 4.0), (2, 1, 1.0), (2, 2, 5.0)],
    ["user", "item", "rating"],
)

df_test = sqlCtx.createDataFrame(
    [(0, 0), (0, 1), (1, 1), (1, 2), (2, 1), (2, 2)],
    ["user", "item"],
)

als = ALS()

param_grid = ParamGridBuilder().addGrid(
    als.rank,
    [10, 15],
).addGrid(
    als.maxIter,
    [10, 15],
).build()

evaluator = RegressionEvaluator(
    metricName="rmse",
    labelCol="rating",
)
tvs = TrainValidationSplit(
    estimator=als,
    estimatorParamMaps=param_grid,
    evaluator=evaluator,
)


model = tvs.fit(df)

问题:如何获得最佳排名和maxIter?

零323

您可以使用的bestModel属性访问最佳模型TrainValidationSplitModel

best_model = model.bestModel

可以使用的rank属性直接访问排名ALSModel

best_model.rank
10

获得最大的迭代次数需要更多的技巧:

(best_model
    ._java_obj     # Get Java object
    .parent()      # Get parent (ALS estimator)
    .getMaxIter()) # Get maxIter
10

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Pyspark ML:如何使用 CrossValidator() 获取子模型值

来自分类Dev

如何通过python API下载历史Azure ML实验的输出

来自分类Dev

如何通过python API下载历史Azure ML实验的输出

来自分类Dev

如何通过python API下载历史Azure ML实验的输出

来自分类Dev

在pyspark中训练ML算法

来自分类Dev

如何从PySpark中的spark.ml中提取模型超参数?

来自分类Dev

如何在pyspark ml管道中的列子集中使用StandardScaler?

来自分类Dev

从PySpark ML中的DecisionTreeClassifier获取toDebugString

来自分类Dev

pyspark ml建议-所有推荐

来自分类Dev

如何通过ml-gradle导入证书的公钥和私钥?

来自分类Dev

如何通过更改模型阈值来操纵已发布Web服务中的Azure ML建议

来自分类Dev

如何通过R脚本可视化Visual Studio和Azure ML中的图表?

来自分类Dev

PySpark ALSModel加载在Azure ML服务上的部署失败,出现错误java.util.NoSuchElementException:参数blockSize不存在

来自分类Dev

如何通过使用Azure Spark创建的拼合文件(通过GUI)在Azure ML Studio中创建Azure数据集

来自分类Dev

类别参数传递整数值的Cloud ML超参数调整

来自分类Dev

Google Cloud ML,扩展了先前的超参数调整

来自分类Dev

使用 Google Cloud ML Engine 和 XGBoost 调整超参数

来自分类Dev

pyspark ML LabeledPoint无法与LinearRegression一起使用

来自分类Dev

Pyspark ML 错误对象没有属性映射

来自分类Dev

pyspark.ml - NGrams + CountVectorizer - 根据计数权重排序

来自分类Dev

Azure ML Tune 模型超参数

来自分类Dev

通过REST API使用ml引擎批量预测

来自分类Dev

Azure ML - 导入 Hive 查询失败 - 通过 ADLS 的 Hive

来自分类Dev

标准ML如何破坏结构共享?

来自分类Dev

如何使用ML sklearn管道进行预测?

来自分类Dev

如何从ML结果解析此数组?

来自分类Dev

如何在ML中找到双引号

来自分类Dev

如何获取Azure ML中的服务列表?

来自分类Dev

如何增加 BigQuery ML 中的最小交互

Related 相关文章

  1. 1

    Pyspark ML:如何使用 CrossValidator() 获取子模型值

  2. 2

    如何通过python API下载历史Azure ML实验的输出

  3. 3

    如何通过python API下载历史Azure ML实验的输出

  4. 4

    如何通过python API下载历史Azure ML实验的输出

  5. 5

    在pyspark中训练ML算法

  6. 6

    如何从PySpark中的spark.ml中提取模型超参数?

  7. 7

    如何在pyspark ml管道中的列子集中使用StandardScaler?

  8. 8

    从PySpark ML中的DecisionTreeClassifier获取toDebugString

  9. 9

    pyspark ml建议-所有推荐

  10. 10

    如何通过ml-gradle导入证书的公钥和私钥?

  11. 11

    如何通过更改模型阈值来操纵已发布Web服务中的Azure ML建议

  12. 12

    如何通过R脚本可视化Visual Studio和Azure ML中的图表?

  13. 13

    PySpark ALSModel加载在Azure ML服务上的部署失败,出现错误java.util.NoSuchElementException:参数blockSize不存在

  14. 14

    如何通过使用Azure Spark创建的拼合文件(通过GUI)在Azure ML Studio中创建Azure数据集

  15. 15

    类别参数传递整数值的Cloud ML超参数调整

  16. 16

    Google Cloud ML,扩展了先前的超参数调整

  17. 17

    使用 Google Cloud ML Engine 和 XGBoost 调整超参数

  18. 18

    pyspark ML LabeledPoint无法与LinearRegression一起使用

  19. 19

    Pyspark ML 错误对象没有属性映射

  20. 20

    pyspark.ml - NGrams + CountVectorizer - 根据计数权重排序

  21. 21

    Azure ML Tune 模型超参数

  22. 22

    通过REST API使用ml引擎批量预测

  23. 23

    Azure ML - 导入 Hive 查询失败 - 通过 ADLS 的 Hive

  24. 24

    标准ML如何破坏结构共享?

  25. 25

    如何使用ML sklearn管道进行预测?

  26. 26

    如何从ML结果解析此数组?

  27. 27

    如何在ML中找到双引号

  28. 28

    如何获取Azure ML中的服务列表?

  29. 29

    如何增加 BigQuery ML 中的最小交互

热门标签

归档