使用保存的h2o规则拟合模型进行预测会引发NullPointerException错误

使用保存的h2o规则拟合模型进行预测会引发NullPointerException错误,r,nullpointerexception,h2o,R,Nullpointerexception,H2o,遵循文档中h2o规则拟合模型的示例 (), 这很好,下面是一个示例: library(h2o) h2o.init() # Import the titanic dataset: f <- "https://s3.amazonaws.com/h2o-public-test-data/smalldata/gbm_test/titanic.csv" coltypes <- list(by.col.name = c("pclass", "s

遵循文档中h2o规则拟合模型的示例 (), 这很好,下面是一个示例:

library(h2o)
h2o.init()

# Import the titanic dataset:
f <- "https://s3.amazonaws.com/h2o-public-test-data/smalldata/gbm_test/titanic.csv"
coltypes <- list(by.col.name = c("pclass", "survived"), types=c("Enum", "Enum"))
df <- h2o.importFile(f, col.types = coltypes)

# Split the dataset into train and test
splits <- h2o.splitFrame(data = df, ratios = 0.8, seed = 1)
train <- splits[[1]]
test <- splits[[2]]

# Set the predictors and response; set the factors:
response <- "survived"
predictors <- c("age", "sibsp", "parch", "fare", "sex", "pclass")

# Build and train the model:
rfit <- h2o.rulefit(y = response,
                    x = predictors,
                    training_frame = train,
                    max_rule_length = 10,
                    max_num_rules = 100,
                    seed = 1)

# Retrieve the rule importance:
print(rfit@model$rule_importance)

# Predict on the test data:
h2o.predict(rfit, newdata = test)
我尝试了不同的数据和其他保存方法,但遇到了相同的问题

你知道rulefit模型应该如何保存/加载吗,还是一个bug


谢谢

嗨,欢迎来到SO!您能否编辑您的问题以包含错误消息的全文?这将帮助其他人了解出了什么问题。你好,Martin,NPE的完整stacktrace将帮助我们重现错误。谢谢。嗨,我编辑了信息,你还需要什么吗?谢谢你的帮助,非常感谢。最好的马丁@Pavelpscheidl感谢您的报告,您可以在这里跟踪进度:嗨,欢迎来到SO!您能否编辑您的问题以包含错误消息的全文?这将帮助其他人了解出了什么问题。你好,Martin,NPE的完整stacktrace将帮助我们重现错误。谢谢。嗨,我编辑了信息,你还需要什么吗?谢谢你的帮助,非常感谢。最好的马丁@Pavelpscheidl感谢您的报告,您可以在此处跟踪进度:
h2o.saveModel(rfit, path = '/my/path/')

h2o.shutdown()

h2o.init()


H2O is not running yet, starting it now...

Note:  In case of errors look at the following log files:
    /tmp/RtmpWvc6F9/file238276aca9de/h2o_Martin_Hulin_started_from_r.out
    /tmp/RtmpWvc6F9/file2382281d69c3/h2o_Martin_Hulin_started_from_r.err

java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

Starting H2O JVM and connecting: ..... Connection successful!

R is connected to the H2O cluster: 
    H2O cluster uptime:         4 seconds 333 milliseconds 
    H2O cluster timezone:       America/New_York 
    H2O data parsing timezone:  UTC 
    H2O cluster version:        3.32.0.1 
    H2O cluster version age:    2 months and 9 days  
    H2O cluster name:           H2O_started_from_R_Martin_Hulin_lag006 
    H2O cluster total nodes:    1 
    H2O cluster total memory:   26.64 GB 
    H2O cluster total cores:    36 
    H2O cluster allowed cores:  36 
    H2O cluster healthy:        TRUE 
    H2O Connection ip:          localhost 
    H2O Connection port:        54321 
    H2O Connection proxy:       NA 
    H2O Internal Security:      FALSE 
    H2O API Extensions:         Amazon S3, XGBoost, Algos, AutoML, Core V3, TargetEncoder, Core V4 
    R Version:                  R version 3.5.1 (2018-07-02)



loaded_model <- h2o.loadModel(path = '/ma/path/rfit')

h2o.predict(loaded_model, newdata = test)
java.lang.NullPointerException
    at hex.rulefit.RuleFitModel.updateModelMetrics(RuleFitModel.java:144)
    at hex.rulefit.RuleFitModel.score(RuleFitModel.java:124)
    at water.api.ModelMetricsHandler$1.compute2(ModelMetricsHandler.java:396)
    at water.H2O$H2OCountedCompleter.compute(H2O.java:1577)
    at jsr166y.CountedCompleter.exec(CountedCompleter.java:468)
    at jsr166y.ForkJoinTask.doExec(ForkJoinTask.java:263)
    at jsr166y.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:974)
    at jsr166y.ForkJoinPool.runWorker(ForkJoinPool.java:1477)
    at jsr166y.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:104)

Error: java.lang.NullPointerException