r-H2o问题:分类模型梯度boost和随机Forrest



我正在尝试预测哥斯达黎加家庭贫困水平预测。"目标"列中有4个级别,我已经将其转换为因子。然而,我无法查找我的AUC或进行网格搜索。我一直遇到这个错误

.h2o.doSafeREST中的错误(h20RestApiVersion=h20RestapiVersion,urlSuffix=page,:
错误消息:
sort_by指定的无效参数。必须是以下值之一:[r2,mean_per_class_accurcy,max_per_class_Error,err,total_rows,rmse,accurty,err_count,logloss,mse,mean_pr_class_Error]

不知何故,我的模型被设置为回归模型,而不是分类模型整个代码:

class(train3.na$Target)    
gradientboost=as.h2o(train3.na)
split=h2o.splitFrame(gradientboost,c(.6,.2),seed=1234)
train_gb1=h2o.assign(split[[1]],"valid.hex")
valid_gb1=h2o.assign(split[[2]],"valid.hex")
test_gb1=h2o.assign(split[[3]],"valid.hex")
gbm_params <- list(learn_rate = c(0.01, 0.1),
max_depth = c(3, 5, 9),
sample_rate = c(0.8, 1.0),
col_sample_rate = c(0.2, 0.5, 1.0))
gbm_grid1=h2o.grid("gbm",training_frame = train_gb1,validation_frame = valid_gb1,x=1:51,y=52,
grid_id ="gbm_grid1",hyper_parameters=gbm_params, ntrees=30,seed=2000000)
gbm_gridperf1 <- h2o.getGrid(grid_id = "gbm_grid1",sort_by = "auc",
decreasing = TRUE)

AUC仅适用于二进制分类,例如,如果您对多类分类度量感兴趣,可以尝试使用logloss。

以下是文档中对AUC的描述(您也可以使用此链接了解更多关于多类分类问题可以使用哪些度量的信息(:

AUC(ROC曲线下面积( 此模型度量用于评估二元分类模型区分真阳性和假阳性的能力。AUC为1表示一个完美的分类器,而AUC为.5表示一个较差的分类器,其性能并不比随机猜测好。H2O使用梯形规则来近似ROC曲线下的面积。H2O使用梯形规则来近似ROC曲线下的面积。(提示:AUC通常不是不平衡二元靶标的最佳指标,因为大量的真阴性可能会导致AUC看起来膨胀。对于不平衡的二元靶标,我们建议使用AUCPR或MCC。(

最新更新