Цель. научиться работать с несбалансированным набором данных.
В этой статье мы постараемся ответить на три пункта ниже, чтобы иметь четкое представление о том, как бороться с несбалансированными наборами данных.
1.Что такое сбалансированный и несбалансированный набор данных?
2. Проблема с несбалансированными наборами данных
3. Методы работы с несбалансированными наборами данных
Возьмем D как заданный набор данных с двумя классами, содержащими N1 (+ve точки данных) и N2 (-ve точки данных).
Предположение: n=1000.
Сбалансированный набор данных:
Предположим, N1 = 580, N2 = 420.
Здесь N1 не равно N2, N1 и N2 примерно равны, поэтому между ними меньше различий. Когда набор данных имеет меньшее несоответствие между двумя классами, это будет сбалансированный набор данных.
несбалансированный набор данных:
Предположим, N1 = 100, N2 = 900.
Здесь N1 не равно N2, но N1 и N2 крайне непохожи друг на друга и между ними больше несоответствия. Когда набор данных имеет большее несоответствие между двумя классами, это будет несбалансированный набор данных.
Проблема с несбалансированными наборами данных
Предположим, N1 = 50, N2 = 950.
В этом несбалансированном наборе данных класс большинства является отрицательным. Когда вы запрашиваете точку в этих обучающих данных, чтобы найти ее класс. Из-за более высокого несоответствия он вернет большинство классов как отрицательные. При прогнозировании класса точки запроса будет более высокая предвзятость.
Как обойти несбалансированный набор данных?
- Недостаточная выборка
Предположим, что N1 = 100(+ve),N2=900(-ve)
В этом методе мы будем делать случайную выборку по мажоритарному классу, чтобы превратить несбалансированный набор данных в сбалансированный набор данных для моделирования.
мы выберем 100 случайных выборок из N2, окончательный сбалансированный набор данных будет.
N1 =100(+ve),N2=100(-ve)
Проблема с недостаточной выборкой:
В основном модель машинного обучения лучше работает с большим количеством обучающих данных. Поскольку мы находимся в режиме выборки, мы потеряем 800 точек данных, что приведет к снижению точности.
2. Передискретизация
Предположим, что N1 = 100(+ve),N2=900(-ve)
В этом методе мы выберем миноритарный класс, повторно размещая на них больше точек, пока их не будет меньше несоответствие между двумя классами.
Мы повторим 100 очков 9 раз на N1, так что в конце будет 900 очков.
N1 =900(+ve),N2=900(-ve)
3. Веса классов
Предположим, что N1 = 100(+ve),N2=900(-ve)
В этом методе мы добавим веса на основе класса большинства и меньшинства, чтобы сбалансировать набор данных.
W+ : 9
W- : 1
Больший вес присваивается классу меньшинства и меньший вес присваивается классу большинства. Это почти похоже на передискретизацию. Здесь мы увеличиваем веса точек данных вместо того, чтобы повторять их несколько раз, чтобы сбалансировать.
Заключение:
Несбалансированные данные представляют собой потенциальный риск при моделировании машинного обучения. Эту проблему можно решить, выявив дисбаланс и уменьшив дисбаланс с помощью методов выборки, упомянутых в этой статье.
Справочная ссылка:
www.appliedaicourse.com