Как мы можем изменить набор обучающих данных для достижения большей точности в классе меньшинства для любого алгоритма классификации? - PullRequest
0 голосов
/ 19 марта 2019

Во многих наборах обучающих данных распределение классов перекошено, то есть один класс очень частый (например, 95%), а другой редкий (например, 5%).В таких приложениях классификатор Naive, который присваивает все контрольные примеры большинству классов, достигает очень высокой точности.Однако наивный классификатор не предсказывает каких-либо случаев класса меньшинства, хотя он часто более важен, чем класс большинства.

Так есть ли способы повысить точность в классе меньшинства, просто изменив набор обучающих данных?или мы должны изменить алгоритм классификации?

Ответы [ 2 ]

1 голос
/ 19 марта 2019

Это проблема несбалансированной классификации. Ниже приведены методы, используемые для обработки несбалансированных наборов данных.

1.Undersampling 2.Oversampling Генерация синтетических данных 4. Чувствительное обучение

1.Undersampling

Этот метод работает с большинством классов. Это уменьшает количество наблюдений от большинства классов, чтобы сбалансировать набор данных. Этот метод лучше всего использовать, когда набор данных огромен, а сокращение количества обучающих выборок помогает улучшить время выполнения и проблемы с хранением. Методы опробования бывают двух типов: случайные и информативные.

  1. передискретизации

Этот метод работает с классом меньшинства. Он копирует наблюдения из класса меньшинства, чтобы сбалансировать данные. Это также известно как повышение частоты дискретизации. Как и в случае недостаточной выборки, этот метод также можно разделить на два типа: случайная избыточная выборка и информативная избыточная выборка.

  1. Генерация синтетических данных

Проще говоря, вместо репликации и добавления наблюдений из класса меньшинства, он преодолевает дисбалансы путем создания искусственных данных. Это также метод передискретизации.

Что касается генерации синтетических данных, метод синтетической избыточной выборки меньшинств (SMOTE) является мощным и широко используемым методом. Алгоритм SMOTE создает искусственные данные на основе сходства пространств признаков (а не пространств данных) из выборок меньшинства. Можно также сказать, что он генерирует случайный набор наблюдений класса меньшинства, чтобы сместить смещение обучения классификатора в сторону класса меньшинства.

  1. Обучение с учетом затрат (CSL) Это еще один широко используемый метод для решения проблем классификации с несбалансированными данными. Это интересный метод. Проще говоря, этот метод оценивает стоимость, связанную с неправильной классификацией наблюдений.

Не создает сбалансированного распределения данных. Вместо этого он подчеркивает несбалансированную проблему обучения, используя матрицы затрат, которые описывают стоимость ошибочной классификации в конкретном сценарии. Недавние исследования показали, что обучение с учетом затрат во много раз превосходило методы выборки. Следовательно, этот метод обеспечивает вероятную альтернативу методам отбора проб.

Чтобы построить их в R, обратитесь по ссылке https://www.analyticsvidhya.com/blog/2016/03/practical-guide-deal-imbalanced-classification-problems/

0 голосов
/ 19 марта 2019

Есть много способов.Вы можете повысить класс сальдо, уменьшить большинство, сделать некоторые взвешивания на основе потерь или другие меры.Поскольку вы пометили свой пост как связанный с TF, я предлагаю вам взглянуть на выборку важности для Keras, http://idiap.ch/~katharas/importance-sampling/ у нее есть некоторые готовые к использованию обертки, которые вы надеваете на свою модель.

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