我在H2O(R)中有一个模型。它的性能生成
h2o.performance(models[[1]],valid=T)
输出如下
H2ORegressionMetrics: deeplearning** 报告在验证数据上。 **描述: 在包含9724个样本的临时验证框架上报告的指标MSE: 1.18963R2 : 0.07689513平均残差偏差 : 1.18963
我想提取MSE并保存到变量中。我尝试使用以下代码生成混淆矩阵
h2o.confusionMatrix(h2o.performance(models[[i]],valid=T))
但它返回了NULL。
回答:
获取均方误差
要获取均方误差(MSE)值,可以使用h2o.mse()
函数,如下例所示(Aiello, Kraljevic, & Maj, 2015):
perf <- h2o.performance(model = your_data_file.gbm, data = your_data_file.hex)your_new_variable <- h2o.mse(perf)
示例结果
> h2o.performance(model = your_data_file.gbm, data = your_data_file.hex)H2OBinomialMetrics: gbm** 报告在训练数据上。 **MSE: 0.07584147R^2: 0.6846763LogLoss: 0.2744668AUC: 0.9780312Gini: 0.9560623> perf <- h2o.performance(model = your_data_file.gbm, data = your_data_file.hex)> your_new_variable <- h2o.mse(perf)> your_new_variable[1] 0.07584147
关于混淆矩阵
此外,您的h2o.performance()
函数返回的NULL值可能表明该函数本身并不包含或返回混淆矩阵。
参考文献
Aiello, S., Kraljevic, T., & Maj, P. (2015, November 24). Package ‘h2o’. Retrieved December 2, 2015, from https://cran.r-project.org/web/packages/h2o/h2o.pdf