H2o проблема: классификация модели градиента повышения и случайный Форрест - PullRequest
0 голосов
/ 06 декабря 2018

Я пытаюсь предсказать прогноз уровня бедности домохозяйств в Коста-Рике.В столбце «Цель» есть 4 уровня, которые я уже конвертировал в фактор.Однако я не смог найти свой AUC или выполнить поиск по сетке.Я продолжаю сталкиваться с этой ошибкой

Ошибка в .h2o.doSafeREST (h2oRestApiVersion = h2oRestApiVersion, urlSuffix = page,:
СООБЩЕНИЕ ОБ ОШИБКЕ:
Указан неверный аргумент для sort_by. Должен быть один из:[r2, mean_per_class_accuracy, max_per_class_error, err, total_rows, rmse, точность, err_count, logloss, mse, mean_per_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)

1 Ответ

0 голосов
/ 06 декабря 2018

AUC доступен только для двоичной классификации, если вы заинтересованы в метрике классификации нескольких классов, вы можете попробовать, например, использовать logloss.

Вот описание AUC из документов (Вы можете также использовать эту ссылку, чтобы узнать больше о том, какие метрики могут использоваться для задач классификации нескольких классов):

AUC (область под кривой ROC) Эта модельМетрика используется для оценки того, насколько хорошо бинарная модель классификации способна различать истинные положительные и ложные положительные результаты.Значение AUC, равное 1, указывает на идеальный классификатор, а значение AUC, равное 0,5, указывает на плохой классификатор, производительность которого не лучше, чем случайное угадывание.H2O использует трапециевидное правило для аппроксимации площади под кривой ROC.H2O использует трапециевидное правило для аппроксимации площади под кривой ROC.(Совет: AUC обычно не лучший показатель для несбалансированной двоичной цели, поскольку большое количество истинных отрицательных значений может привести к тому, что AUC будет выглядеть раздутым. Для несбалансированной двоичной цели мы рекомендуем AUCPR или MCC.)

...