Мне нужно знать, почему мы должны бороться с дисбалансом данных. Я знаю, как с этим справляться, и различными методами для решения проблемы, которая заключается в повышении или понижении или использовании Smote.
Например, если у меня редкое заболевание 1% из 100, и, скажем, я решил иметь сбалансированный набор данных для моего тренировочного набора, а именно: 50/50 выборка. Не заставит ли машина думать, что 50% пациентов будут иметь болезнь? хотя соотношение составляет 1 из 100. Так
- Почему мы должны бороться с дисбалансом данных?
- Каков рекомендуемый коэффициент для установки баланса
Ответы:
Вам необходимо иметь дело с несбалансированным набором данных, когда значение нахождения класса меньшинства намного выше, чем значение нахождения большинства.
Допустим, что 1% населения имеют это редкое заболевание. Предположим, что вы назначаете ту же цену, говоря, что здоровый человек болен, или говорите, что больной человек здоров. Представьте модель, которая говорит, что все здоровы, с точностью до 99% и рано возвращаются домой. Проблема с такой моделью заключается в том, что, хотя она имеет высокую точность, она, вероятно, не соответствует тому, что вы ищете. В большинстве случаев вы хотите найти людей с болезнью (которые дают ложные отрицательные результаты с большим весом) гораздо больше, чем вы боитесь отправить здорового человека на ненужный тест (низкий вес для ложных срабатываний). В реальной проблеме со здоровьем соотношение веса может легко составлять от 1 до 1000.
Дисбаланс в распределении не позволяет большинству алгоритмов найти правильное решение.
Вы правы, что балансировка распределения не является оптимальным решением. Действительно, алгоритм, который обучается на сбалансированном распределении, не соответствует естественному распределению, на котором он будет оцениваться. Мой любимый метод - адаптировать его обратно, как вы можете видеть здесь . Для обсуждения смотрите здесь .
Просто установить отношение к какой-либо другой проблеме не будет работать, так как у вас будет такая же проблема.
Smote работает по-другому, что не сработало, когда я попробовал, но это могло бы помочь вашей проблеме.
источник
вам нужно бороться с дисбалансом классов, если / потому что это делает вашу модель лучше (на невидимых данных). «Лучше» - это то, что вы должны определить сами. Это может быть точность, это может быть стоимость, это может быть истинный положительный показатель и т. Д.
Есть тонкий нюанс, который важно понять, когда речь идет о дисбалансе класса. А именно, несбалансированы ли ваши данные, потому что:
В некоторых случаях один класс встречается гораздо чаще, чем другой. И это нормально. В этом случае вы должны посмотреть, являются ли некоторые ошибки более дорогостоящими, чем другие. Это типичный пример выявления смертельных заболеваний у пациентов, выяснения, является ли кто-то террористом и т. Д. Это восходит к короткому ответу. Если некоторые ошибки стоят дороже, чем другие, вы захотите «наказать» их, заплатив им более высокую цену. Следовательно, лучшая модель будет иметь меньшую стоимость. Если все ошибки такие же плохие, то нет реальной причины, по которой вам следует использовать чувствительные к стоимости модели.
Также важно отметить, что использование чувствительных к затратам моделей не относится только к несбалансированным наборам данных. Вы можете использовать такие модели, если ваши данные также идеально сбалансированы.
Иногда ваши данные «несбалансированы», потому что они не отражают истинное распределение данных. В этом случае вы должны быть осторожны, потому что у вас есть «слишком много» примеров одного класса и «слишком мало» другого, и, следовательно, вы должны убедиться, что ваша модель не превышает / не подходит для одного из этих классов.
Это отличается от использования затрат, потому что не может быть так, что одна ошибка хуже другой. Что произойдет, так это то, что вы будете предвзяты, и для вашей модели будет не выгодно, если невидимые данные не будут иметь такое же распределение, как и данные, на которых вы тренировались.
Допустим, я даю вам тренировочные данные, и ваша цель - угадать, красный или синий. Неважно, принимаете ли вы синий за красный или красный за синий. Ваши тренировочные данные имеют 90% красных случаев, когда в реальной жизни они случаются только в 10% случаев. Вы должны были бы иметь дело с этим, чтобы сделать вашу модель лучше.
источник