Вопрос или проблема
У меня есть несбалансированные данные, состоящие из девяти классов, и я планирую объединить их в два класса. Я провел стратифицированную (пропорциональную) выборку между тестовыми, валидационными и обучающими наборами данных в соответствии с девятью классами. Теперь, когда я выполняю увеличение выборки обучающих данных, следует ли мне увеличивать выборку девяти классов перед их объединением, или лучше сначала объединить, а затем увеличить выборку?
В общем, я считаю, что сначала увеличение выборки, а затем объединение было бы лучше, но некоторые классы в обучающих данных довольно малы (5 экземпляров), в то время как другие довольно большие (1000 экземпляров). Поэтому мне придется многократно повторять выборку одних и тех же 5 экземпляров 1,000 раз, что кажется странным. С другой стороны, если я сначала объединю, а затем увеличу выборку, то велика вероятность, что самые маленькие классы даже не попадут в повторную выборку.
Какие-нибудь советы? Спасибо!
Во-первых, добро пожаловать на Data Science Stack Exchange. Что касается вопроса о том, следует ли проводить увеличение выборки для малочисленных классов до или после объединения их в меньшее количество: хороший вопрос.
Увеличивая выборку перед объединением, вы гарантируете, что в рамках девяти классов каждый класс сбалансирован. Затем, объединив их в два класса, мы можем снова столкнуться с дисбалансом классов. Поэтому моя общая рекомендация — сначала объединить данные в два класса, а затем провести увеличение выборки для малочисленного класса, так, чтобы класс с наименьшим количеством примеров получил больше искусственно созданных примеров, чтобы сравняться с числом примеров в основном классе.
Ответ или решение
Теория: В анализе данных и машинном обучении мы часто сталкиваемся с проблемой несбалансированных классов, что может существенно повлиять на качество модели. Для решения этой проблемы применяют методики, такие как передискретизация, которые подразумевают изменение количества экземпляров каждого класса для достижения сбалансированности. Есть два основных подхода: upsampling (увеличение числа примеров меньшинства) и downsampling (уменьшение числа примеров большинства). В рассматриваемой ситуации вы сталкиваетесь с задачей преобразования девяти классов в два и выбором между передискретизацией до или после этого преобразования.
Пример: В вашей ситуации имеются девять классов, среди которых есть классы с очень небольшим (5 экземпляров) и с очень большим (1000 экземпляров) числом наблюдений. Перепроизводя примеры из меньшинства перед сжатием классов, вы можете столкнуться с проблемой чрезмерного копирования одних и тех же примеров, что может привести к переобучению и в определенной степени исказить общее представление данных.
Применение: Исходя из предоставленной информации, более подходящим методом будет сначала объединение девяти классов в два, а затем применение передискретизации к новому классу меньшинства. Это обусловлено тем, что объединение классов сначала позволит лучше понять распределение данных между двумя новыми категориями и избежать ситуации, когда редкие классы из девяти исходных не окажут значительного влияния на общую модель. Таким образом, вы сможете провести передискретизацию только тех классов, где это действительно оправдано, избегая избыточного дублирования информации. Это должно привести к более сбалансированному распределению данных и повысить стабильность и точность вашей модели. Обязательно внимательно проанализируйте результаты и, возможно, попробуйте несколько подходов для выбора наилучшего решения в вашей специфической ситуации.