2013-11-10 4 views
1

Я работаю над проблемой классификации двоичных данных. Набор данных несбалансирован, он состоит из 92% «ложных» меток и 8% «истинных» меток. Количество функций - 18, и я имею небольшое количество 650 точек данных. Я хочу использовать алгоритмы повышения в matlab, например, GentleBoost, чтобы решить эту проблему. Я назначаю униформу следующим образом:несбалансированная классификация данных с помощью алгоритмов ускорения

ada = fitensemble (Xtrain, Ytrain, 'GentleBoost', 10, 'Tree', 'LearnRate', 0,1, 'before', 'uniform');

, но производительность неудовлетворительно. Как установить параметры? Нужно ли устанавливать стоимость? Как я могу это сделать? Существует ли какой-либо классификатор, который работает лучше этого?

ответ

0

Из опыта я обнаружил, что более простые подходы часто работают лучше всего. Вместо того, чтобы пытаться настроить ваши параметры форсирования, вы сначала попытались выполнить следующие подходы (с увеличением сложности):

1) изменить целевую функцию, чтобы использовать среднюю точность классификации (или некоторую взвешенную точность) двух классов, с различные классификаторы, например, SVM, J4.5 и т. д.

2) упаковка (с отбором бутстрапов баланса) имеет тенденцию работать очень хорошо, когда проблема слишком сложна для решения одним классификатором.

3) Известно, что adaboost + SMOTE хорошо работает на несбалансированных наборах данных.

PS: Я могу поделиться некоторыми полезными ссылками, если потребуется - только я знаю.

0

Поскольку вы назвали GentleBoost с равномерным, все образцы обрабатываются одинаково. Вы должны использовать эмпирическую предысторию, которая определяет вероятности классов из частот классов. Вы должны позвонить fitensemble следующим образом:

ada = fitensemble(Xtrain,Ytrain,'GentleBoost',10,'Tree','LearnRate',0.1, 'prior', 'empirical'); 

или просто, так как эмпирический до по умолчанию:

ada = fitensemble(Xtrain,Ytrain,'GentleBoost',10,'Tree','LearnRate',0.1); 

Вы должны также попытаться найти оптимальное число учащихся, 10 не обязательно оптимальным , Пример для этого можно найти по адресу: fitensemble(..) documentation

Смежные вопросы