Как mllib взвешивает классы для несбалансированных наборов данных? - PullRequest
1 голос
/ 06 мая 2019

У меня есть фрейм данных с 1% положительных классов (1) и 99% отрицательных (0), и я работаю с логистической регрессией в Pyspark.Я ехал здесь о работе с несбалансированными наборами данных, и решение состоит в том, чтобы добавить weightCol , как сказано в ответе, приведенном в ссылке, чтобы сказать модели сосредоточиться большена 1-е, как есть меньше.

Я пробовал это, и оно хорошо работает, но я не знаю, как mllib внутренне уравновешивает данные.У кого-то есть подсказка?Мне не нравится работать с «черными ящиками», которые я не могу понять.

1 Ответ

0 голосов
/ 24 мая 2019

из документации Spark там написано

Мы реализовали два алгоритма для решения логистической регрессии: мини-пакетный градиентный спуск и L-BFGS.Мы рекомендуем L-BFGS для мини-пакетного градиентного спуска для более быстрой сходимости.

Вы можете проверить LBFGS.scala , чтобы увидеть, как алгоритм оптимизации обновляет веса после каждой итерации.

...