RStudio中用H2O包获取变量重要性时遇'leader'槽位错误
解决H2O获取变量重要性的报错问题
错误原因
执行h2o.varimp(rautoml_winner@leader)报错,是因为rautoml_winner本身就是从rautoml@leader获取的最优二分类模型(类型为H2OBinomialModel),这个对象不存在leader属性槽。你多做了一次取@leader的操作,导致传入了无效参数。
修正代码
直接将已获取的最优模型传入h2o.varimp()即可:
# 获取变量重要性 h2o.varimp(rautoml_winner)
如果需要可视化变量重要性,可使用:
h2o.varimp_plot(rautoml_winner)
扩展说明
由于你的最优模型是StackedEnsemble_AllModels集成模型,默认的h2o.varimp()返回的是集成模型层面的变量重要性。如果需要查看集成模型中某个基模型的变量重要性,可以按以下方式提取:
# 获取集成模型的基模型ID列表 base_model_ids <- rautoml_winner@base_models # 提取第一个基模型并查看其变量重要性 h2o.varimp(h2o.getModel(base_model_ids[[1]]))
内容的提问来源于stack exchange,提问作者Luis Carmona Martinez
相关产品推荐
相关产品推荐

