Size: a a a

R (язык программирования)

2021 January 26

AS

Alexander Semenov in R (язык программирования)
Была статья Бурнаева (или кого-то, с кем я его постоянно путаю), согласно которой СМОТЕ всех забарывает, только вот параметры под него хз как подбирать (кол-во объектов, которые надо сгенерировать, и т.д.).
источник

AS

Alexander Semenov in R (язык программирования)
Но это дела давно минувших дней, преданье старины глубокой.
источник

E

Eкатерина in R (язык программирования)
Alexey Burnakov
В моем примере (там катбуст, но не суть). Делается предикт. Затем с помощью библиотечки строится ROC-кривая. На ней с помощью одной из эвристик подбирается порог. Затем еще доп.проверки с помощью F2, sensitivity, specificity. И финальная матрица.

Попробуйте построить ROC для начала, потом применить поиск точки отсечения. Посмотрим....
threshold specificity sensitivity
0.06603704   0.7576257   0.5694444

вышло как-то так. кажется, очень странно, что threshold такой низкий
источник

AS

Alexander Semenov in R (язык программирования)
Eкатерина
threshold specificity sensitivity
0.06603704   0.7576257   0.5694444

вышло как-то так. кажется, очень странно, что threshold такой низкий
Это чтобы отловить больше "единичек". При более высоком пороге модель тупо записывает всех в 0.
источник

АК

Артём Клевцов... in R (язык программирования)
Eкатерина
threshold specificity sensitivity
0.06603704   0.7576257   0.5694444

вышло как-то так. кажется, очень странно, что threshold такой низкий
Это из-за дисбаланса в выборке.
источник

AS

Alexander Semenov in R (язык программирования)
Alexander Semenov
Была статья Бурнаева (или кого-то, с кем я его постоянно путаю), согласно которой СМОТЕ всех забарывает, только вот параметры под него хз как подбирать (кол-во объектов, которые надо сгенерировать, и т.д.).
Фамилия с ключевыми словами вроде те, а вот выводы -- не совсем. Ну да ладно. https://arxiv.org/pdf/1707.03905.pdf
источник

AB

Alexey Burnakov in R (язык программирования)
Eкатерина
threshold specificity sensitivity
0.06603704   0.7576257   0.5694444

вышло как-то так. кажется, очень странно, что threshold такой низкий
Здесь видно, что и сама кривая имеет небольшую площадь. Если вы работаете над промышленной задачей, стоит поискать улучшение модели.
источник

AB

Alexey Burnakov in R (язык программирования)
Eкатерина
threshold specificity sensitivity
0.06603704   0.7576257   0.5694444

вышло как-то так. кажется, очень странно, что threshold такой низкий
Но тем не менее, полученный threshold можно вставить далее в массив с разметкой (как у меня примерно) и создать новую матрицу ошибок на основании данного порога. В таблице должны быть задетектированные единицы. Покажите эту табличку. Дальше действовать на ваше усмотрение. Иногда получается довести specificity и sensitifity до более высоких значений (типа 0,9 или даже выше).
источник

AS

Alexander Semenov in R (язык программирования)
Одновременно Specificity и Sensitivity до 0.9? Звучит как фантастика.
источник

AB

Alexey Burnakov in R (язык программирования)
Alexander Semenov
Одновременно Specificity и Sensitivity до 0.9? Звучит как фантастика.
Зависит от задачи. Я на классификации текстов доводил оба параметра выше 0,9. Но если это отток клиентов или риск дефолта, может быть и 0,8 уже круто
источник

AS

Alexander Semenov in R (язык программирования)
При дисбалансе классов 90% к 10%? Не поверю, пока сам не увижу.
источник

AB

Alexey Burnakov in R (язык программирования)
Alexander Semenov
При дисбалансе классов 90% к 10%? Не поверю, пока сам не увижу.
) Это пустой разговор. У вас на любом дисбалансе, хоть 1 к 99999 может быть хорошая разделимость. Вопрос в данных, я то причем здесь )
источник

E

Eкатерина in R (язык программирования)
Alexey Burnakov
Но тем не менее, полученный threshold можно вставить далее в массив с разметкой (как у меня примерно) и создать новую матрицу ошибок на основании данного порога. В таблице должны быть задетектированные единицы. Покажите эту табличку. Дальше действовать на ваше усмотрение. Иногда получается довести specificity и sensitifity до более высоких значений (типа 0,9 или даже выше).
получилось так
источник

AS

Alexander Semenov in R (язык программирования)
Alexey Burnakov
) Это пустой разговор. У вас на любом дисбалансе, хоть 1 к 99999 может быть хорошая разделимость. Вопрос в данных, я то причем здесь )
Видимо я не до конца разобрался в теории вопроса. На практике всю жизнь приходилось выбирать между Сциллой и Харибдой. Так, чтобы обе были 0.8 при сильном дисбалансе классов, я ни разу не видал.
источник

AB

Alexey Burnakov in R (язык программирования)
Alexander Semenov
Видимо я не до конца разобрался в теории вопроса. На практике всю жизнь приходилось выбирать между Сциллой и Харибдой. Так, чтобы обе были 0.8 при сильном дисбалансе классов, я ни разу не видал.
В практике это может быть очень сложная задача, в теории может быть очень простая. Зависит от формы засимости, от геометрии перемешивания кейсов в пространстве признаков. Может и самые топовые модели не разделят. Но может быть, например, так, линейная разделимость:
источник

AS

Alexander Semenov in R (язык программирования)
Ну вот да, AUC = 1 меня бы скорее насторожил, чем обрадовал. Но на реальных кейсах (в основном отток) меня жизнь не баловала Spec = Sens = 0.8.
источник

AB

Alexey Burnakov in R (язык программирования)
Eкатерина
получилось так
Ну, смысл тут такой. При этом пороге одновременно высоки и точность и охват (в задетектированных максимально много истинных, при этом, среди истинных максимально много задетектированных). Хотя, результат слабоват, мне кажется. Может здесь не GLM нужен... Вам прямо GLM нужен?
источник

AB

Alexey Burnakov in R (язык программирования)
Alexander Semenov
Ну вот да, AUC = 1 меня бы скорее насторожил, чем обрадовал. Но на реальных кейсах (в основном отток) меня жизнь не баловала Spec = Sens = 0.8.
На оттоке я один раз такое моделировал, там было не более 80%.
источник

E

Eкатерина in R (язык программирования)
Alexey Burnakov
Ну, смысл тут такой. При этом пороге одновременно высоки и точность и охват (в задетектированных максимально много истинных, при этом, среди истинных максимально много задетектированных). Хотя, результат слабоват, мне кажется. Может здесь не GLM нужен... Вам прямо GLM нужен?
я поняла) пока что я узнала то, что мне нужно было! Ваш документ очень помог, как и объяснения
источник

AB

Alexey Burnakov in R (язык программирования)
Eкатерина
я поняла) пока что я узнала то, что мне нужно было! Ваш документ очень помог, как и объяснения
Еще дальше если идти с подстраиванием именно порога (не модели), то можно акцентироваться на ошибки и минимизировать их в зависимости от "стоимости" пропустить единицу versus "стоимости" включить лишнюю единицу.
источник