gpt4 book ai didi

r - 使用 R 创建 Ranger 模型以用于 MLflow 的问题

转载 作者:行者123 更新时间:2023-12-04 13:52:09 25 4
gpt4 key购买 nike

我正在尝试在 R 中使用 MLflow。根据 https://www.mlflow.org/docs/latest/models.html#r-function-crate ,模型需要使用 crate flavor 。我的模型使用了在 ranger 包中实现的随机森林函数:

model <- ranger::ranger(formula    = model_formula, 
data = trainset,
importance = "impurity",
probability=T,
num.trees = 500,
mtry = 10)
模型本身有效,我可以在测试集上进行预测:
test_prediction <- predict(model, testset)
作为下一步,我尝试将模型引入 crate 风格。我在这里遵循 https://docs.databricks.com/_static/notebooks/mlflow/mlflow-quick-start-r.html 中显示的方法.
predictor <- crate(function(x) predict(model,.x))
然而,当我在测试集上应用“预测器”时,这会导致错误
predictor(testset)
Error in predict(model, .x) : could not find function "predict"
有谁知道如何解决这个问题?我必须在 crate 函数中以不同的方式传递预测函数吗?任何帮助都受到高度赞赏;-)

最佳答案

根据我的经验,Databricks 快速入门指南是错误的。
根据Carrier documentation , 在 crate 中调用非基本函数时需要使用显式命名空间。由于 predict 实际上是 stats 包的一部分,您需要指定 stats::predict .此外,由于您的 crate 函数依赖于名为 model 的全局对象。 ,您还需要将其作为参数传递给 crate 函数。
您的代码最终会看起来像这样(我无法在您的确切用例上对其进行测试,因为我没有您的数据,但这对我在 Databricks 中的 MLflow 上有效):

model <- ranger::ranger(formula    = model_formula, 
data = trainset,
importance = "impurity",
probability=T,
num.trees = 500,
mtry = 10)

predictor <- crate(function(x) {
stats::predict(model,x)
}, model = model)

predictor(testset)

关于r - 使用 R 创建 Ranger 模型以用于 MLflow 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68237771/

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