h2o Flow UI: построить модель, но нет ROC CURVE или AUC для мультикласса? - PullRequest
1 голос
/ 08 июля 2019

Ссылка на https://dzone.com/articles/machine-learning-with-h2o-hands-on-guide-for-data

Я смог последовать примеру и нанести на график кривые ROC и AUC, но когда я сделал то же самое со своими данными, у меня вместо «ИСТОРИЯ ПОДСЧЕТА - УСТРОЙСТВО» вместо «ИСТОРИЯ ПОДСЧЕТА - ЛОГОТИП» и «КРИВАЯ РОКА» - УЧЕБНЫЕ МЕТРИКИ "не появилось.

В моем наборе данных есть 2 класса: 0, 1 вместо да и нет из примера. Что определяет, будет ли кривая ROC переносимой?

Обновлено 10 июля 2019 г. ссылка на ответ Мауревера: У меня есть «преобразовать в enum» для моего ответа «метка» и изменить распределение на «бернулли», но я все еще не могу построить ROC. enter image description here

Обновление: для будущих пользователей, у которых такая же встреча, как и у меня. Похоже, что h2o не может использовать ответ с классом как «0» и «1», даже если вы преобразуете в enum. Моя проблема решена с помощью соотношения 0 и 1 к «Нормальному» и «Вредоносному», и кривая ROC будет построена.

Ответы [ 2 ]

1 голос
/ 09 июля 2019

Вы должны изменить тип столбца ответа на "enum",

enter image description here

или измените распределение в параметрах модели на «бернулли» (биномиальная классификация).

enter image description here

На изображении, которым вы делитесь, есть "Enum (3)", поэтому результатом является полиномиальная классификация, а не биномиальная. Таким образом, вы должны увидеть Матрицу путаницы, но не кривую ROC. Кривая ROC может отображаться только для 2-классовой классификации (подробнее о ROC здесь: https://towardsdatascience.com/understanding-auc-roc-curve-68b2303cc9c5).

Вы должны увидеть что-то вроде этого (если вы установили распределение на «многочлен»):

enter image description here

1 голос
/ 08 июля 2019

В моем наборе данных есть 2 класса, 0, 1 вместо да и нет из примера.

Что произойдет, так это то, что H2O решило, что это числовой столбец, а не категориальный (он же фактор).Исправление заключается в простом использовании as.factor() в этом столбце.Сделайте это сразу после импорта данных, но перед тем, как использовать их для построения модели.

Тогда он узнает, что нужно построить модель классификации, а не модель регрессии, и вы получите показатели, которые ожидаете увидеть.

Вот пример: https://stackoverflow.com/a/41441578/841830 (или найдите as.factor в документации по H2O, где вы найдете больше информации)

In Flow ,сначала вы загружаете файл, затем нажимаете кнопку разбора файлов, и он показывает список столбцов.Столбцы категорий / факторов там называются «Enum» (да, это сбивает с толку).Ваш столбец предположительно отображается как числовой, поэтому перейдите в раскрывающийся список и измените его на enum.Тогда начни разбирать.Затем, после этого, постройте свою модель.

...