Дисбаланс данных при наличии только одного выхода - PullRequest
0 голосов
/ 01 июля 2019

У меня есть данные, которые 3% обозначены как да, а 97% - нет.Это непрерывный поток данных, поэтому я не думаю, что смогу принудительно дублировать данные yes.Я использую LSTM, где вывод 1 для да и 0 для нет.Кроме того, я не думаю, что могу добывать больше данныхЯ нашел кое-что о весе класса, но я не знаю, как реализовать это в этом случае.Есть ли другой способ преодолеть эту проблему?Данные являются числовыми и непрерывными.

1 Ответ

0 голосов
/ 01 июля 2019

Существует 2 типа решений, которые вы можете принять.

Первым было бы создать генератор данных, который собирает пакеты, которые выбирают сбалансированное количество выборок. Например, вы можете построить генератор Python, который генерирует партии из 32 выборок, так что 16 случайным образом выбираются из набора «да», а 16 случайным образом выбираются из набора «нет». Это будет означать, что образцы «да» видятся моделью гораздо чаще, но вы не отбрасываете данные как таковые.

Второй класс решений - это использование весов в вашей метрике. то есть вы можете подать массив весов выборки в операцию подгонки так, чтобы у выборок да вес был намного больше для выборок «да», чем для выборок «нет».

Вы также можете реализовать взвешивание с помощью пользовательской метрики.

Я бы начал с подхода написания генератора данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...