215 похожих чатов

Всем привет! Передо мной стоит задача - предсказания вероятности маловероятного

события (0.5% положительных исходов). Я обучил классификатор с помощью cross entropy loss, но accuracy у него получается как у 99.5% - все вероятности, которые он предсказывает, меньше 50%, поэтому все предсказания - 0 (нет события), отсюда тривиальное значение accuracy, которое не зависит от модели. Я всегда ориентировался за значение logloss, но (мое мнение) оно не является объяснимой метрикой. Что посоветуете использовать в качестве объяснимой метрики тут? ROC-AUC, что-то еще? Интересно с обоснованием (или с ссылкой с обоснованием).

К тому же, у меня все время появляются новые данные, и в зависимости от того, как звезды сложатся, априорная вероятность положительного исхода в них меняется в пределах 0.2%-1.5%. Если считать, что две модели одинаково хороши - то какая метрика будет приблизительно одинаковой для них, если у одной модели данные были 0.2%, а у другой - 1.5%?

Я надеюсь, что я внятно изложил мысль, если нет - могу уточнить какие-то моменты.

edit: меня устраивает, что все предсказания - 0, потому что в первую очередь важно, чтобы вероятность соответствовала истине.

13 ответов

19 просмотров

F1 попробуй посмотреть

ROC AUC для таких случаев использовать супер адекватно.

Timofey-Naumenko Автор вопроса
David Dalé
ROC AUC для таких случаев использовать супер адекв...

А она обладает свойством из второго абзаца? Что roc auc будет одинаковым вне зависимости от того, какая априорная вероятность?

Timofey Naumenko
А она обладает свойством из второго абзаца? Что ro...

Я правильно понимаю, что тебе нужна вероятность 0?

Timofey Naumenko
Нет, мне нужна вероятность 1

Ну так и почему тебя устраивмет модель, замечающая только 0? Которая выдаёт вероятность 1 очень маленькой

Timofey Naumenko
А она обладает свойством из второго абзаца? Что ro...

Да, обладает. По сути, ROC AUC измеряет вероятность того, что для наблюдения, равновероятно выбранного из всех "единичек", модель предскажет скор выше, чем для наблюдения, равновероятно выбранного из всех "ноликов". Сколько именно единичек или ноликов в штуках - не важно.

Timofey-Naumenko Автор вопроса
Морской Верблюд
Ну так и почему тебя устраивмет модель, замечающая...

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

Timofey-Naumenko Автор вопроса
Морской Верблюд
Ансамбль или че?

Нет, задача ранжирования событий. Модель одна

Timofey-Naumenko Автор вопроса
David Dalé
Да, обладает. По сути, ROC AUC измеряет вероятнос...

Оооооооо, это то, что надо! Если это так, то это прям 100% то, что надо. А есть где-то объяснялка, почему это так?

Timofey Naumenko
Оооооооо, это то, что надо! Если это так, то это п...

Сейчас объясню) ROC-кривая рисуется так: проходимся циклом по всем возможным порогам, и для каждого порога на оси Х откладывем долю нулей, у которых скор выше этого порога, а на оси У - долю единиц, у которых скор выше этого порога.

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта