Алгоритмы сэмплирования
Сэмплирование (англ. data sampling) — метод корректировки обучающей выборки с целью балансировки распределения классов в исходном наборе данных. Нужно отличать этот метод от сэмплирования в активном обучении для отбора кандидатов и от сэмплирования в статистике[1] для создания подвыборки с сохранением распределения классов.
Неравномерное распределения данных может быть следующих типов:
- Недостаточное представление класса в переменной предикторе (независимой переменной);
- Недостаточное представление класса в критериальной переменной (зависимой).
Нередко возникают ситуации, когда в обучающем наборе данных доля примеров некоторого класса слишком мала, такие классы называются миноритарными (англ. minority), а другие, сильно представленные, — мажоритарными (англ. majority)). Такие тенденции хорошо заметны в кредитном скоринге, в медицине, в директ-маркетинге. Построенный на таких наборах данных классификатор может оказаться абсолютно неэффективным.
Следует отметить то, что может различаться значимость ошибочной классификации. Неверная классификация примеров миноритарного класса, как правило, обходится в разы дороже, чем ошибочная классификация примеров мажоритарного класса. Например, при классификации людей обследованных в больнице на людей больных раком (миноритарный класс) и здоровых (мажоритарный класс).
Одним из подходов для решения указанной проблемы является применение различных стратегий сэмплинга, которые можно разделить на две группы: случайные и специальные.
Восстановление баланса классов может проходить двумя путями. В первом случае удаляют некоторое количество примеров мажоритарного класса (undersampling), во втором – увеличивают количество примеров миноритарного (oversampling). Простейшие подходы сэмплинга описаны в книге «Бизнес-аналитика: от данных к знаниям» (обучение в условиях несбалансированности классов) и в учебном курсе (K.01 Корпоративные аналитические системы), а данная статья посвящена более сложным методам.
Перейдем к кратким теоретическим сведениям о наиболее распространенных стратегиях сэмплинга, а затем некоторые из них сравним, применив на наборе данных с несбалансированными классами.
Two sampling strategies We can sample from a bigger class a subsample, or upsample from a smaller class Subsampling this days is used mostly for data exploration and results validation