У меня есть 25 классов, а класс 0 содержит все отрицательные образцы всех 24 других классов, поэтому количество образцов в этом классе намного больше, чем у других (например, в 10 раз больше, поскольку оно должно включать все отрицательные образцы из 24 других классов)тренировка несбалансированных данных в libsvm
Теперь мой вопрос: что мне делать, когда я хочу обучать этот набор данных?
Должен ли я использовать вариант использования без балансировки, который libsvm prodives? -w0 1 -w1 ....
Я имею в виду, это обязательно, чтобы использовать этот параметр или нет?
потому что, когда я тренирую данные без этой опции, дает 99,8% точности для разделения классов и когда я тестирую эту точную модель !!! для некоторых классов я получаю 100% -ную точность, а для некоторых других классов я получаю 0.0% !!!
Я имею в виду, что для некоторых классов он не пропустит ни одного образца, но для другого класса он всегда будет возвращать 0 !!! что означает, что это отрицательный образец !!!
Я хочу использовать эту опцию, но я не знаю правил для нее. Я имею в виду, как мне установить значение для класса с помощью этой опции?
Пусть число выборок в каждых классах:
класса 0 -> 3433
класс 1 -> 745
класс 2 -> 232
класс 3 -> 53
. . . класс 23 -> 975
Как мне установить wi для каждого класса, если бы я масштабировал их между [0,1] или [-1 1] или (-inf + inf) или что?
Резюме>
1). Обязательно ли использовать параметр -wi для моего набора данных?
2). как я должен установить это значение
Благодаря
Итак, если вы проверите и скажете, что образец 3 не находится в классе 1, вы помещаете его в класс 0, даже если это пример класса 2? Другими словами, какие-либо образцы отображаются в нескольких классах? –
, конечно, нет, может случиться так, что два образца из двух классов будут похожи на 60% значения вектор-функции, но никогда не произойдет, что образец из определенного класса появится в другом ... – PsP
Я вижу, я просто делал уверен, что это не было причиной огромного размера выборки класса 0. Вес по умолчанию равен 1, и вам, возможно, придется попробовать несколько разных значений с помощью набора проверки. К сожалению, параметр w изменяет C на основе каждого класса, что также будет влиять на регуляризацию/гладкость границы решения в низкоразмерном пространстве. Вы можете оставить остальные классы в 1 на данный момент и начать уменьшать w для класса 0. Вам нужно использовать параметр -wi, если класс 0 не так распространен, как в данных обучения. В противном случае вы на самом деле не достигаете 99,8% точности. –