Стратифицированная классификация со случайными лесами (или другой классификатор)


12

Итак, у меня есть матрица размером около 60 x 1000. Я рассматриваю ее как 60 объектов с 1000 объектов; 60 объектов сгруппированы в 3 класса (a, b, c). 20 предметов в каждом классе, и мы знаем истинную классификацию. Я хотел бы провести обучение под наблюдением на этом наборе из 60 обучающих примеров, и меня интересует как точность классификатора (и связанные с ним метрики), так и выбор функций для 1000 функций.

Во-первых, как моя номенклатура?

Теперь реальный вопрос:

Я мог бы бросить случайные леса на него, как указано, или любое количество других классификаторов. Но есть одна тонкость - меня действительно волнует только дифференциация класса c от классов a и b. Я мог бы объединить классы a и b, но есть ли хороший способ использовать априорные знания о том, что все не относящиеся к c объекты, вероятно, образуют два отдельных кластера? Я бы предпочел использовать случайные леса или их вариант, поскольку было показано, что они эффективны на данных, похожих на мои. Но я мог быть убежден попробовать некоторые другие подходы.


Я не вижу проблем с вашей номенклатурой. Все эти 60 предметов у вас есть? Затем, чтобы вычислить точность классификации, вам нужно разделить ваш набор данных на наборы обучающих, тестовых (а также проверочных). Есть разные способы сделать это, но я думаю, что кратная перекрестная проверка является наиболее распространенной. k
Emrea

1
Да, только эти 60. Но я думаю, что для случайных лесов каждое дерево решений создается с подмножеством выборок, поэтому вы можете получить оценочную ошибку обобщения, применяя каждую из существующих 60 выборок только к тем деревьям в лесу, который не не вижу этот образец во время строительства. ( stat.berkeley.edu/~breiman/RandomForests/cc_home.htm#ooberr ) Так что, возможно, типичная перекрестная проверка здесь не нужна.
user116293

Вы должны быть очень обеспокоены переоснащением здесь. У вас есть 1000 переменных с 60 объектами, я бы чувствовал себя намного лучше, если бы это был другой qay, и я все равно сказал бы, что вам следует беспокоиться о переобучении. Есть ли логический или семантический способ уменьшить количество переменных перед анализом?
января

Ответы:


8

Есть ли хороший способ использовать априорные знания, что все объекты, не относящиеся к c, вероятно, образуют два различных кластера

Если вы используете древовидный метод, я не думаю, что это имеет значение, поскольку эти классификаторы разделяют пространство признаков, а затем просматривают пропорцию выборок в каждом классе. Поэтому все, что имеет значение, - это относительное вхождение класса c в каждый конечный узел.

Однако, если бы вы использовали что-то вроде смеси нормалей, LDA и т. Д., Объединение двух кластеров было бы плохой идеей (предполагая, что классы a и b образуют уникальные кластеры). Здесь вам нужно сохранить структуру классов, чтобы точно описать пространство объектов, которое отображается на a, b и c. Эти модели предполагают, что функции для каждого класса имеют различное нормальное распределение. Если вы комбинируете a и b, вы заставляете одно нормальное распределение соответствовать смеси.

В итоге для деревьев это не должно иметь большого значения, если вы:

I. Создайте три классификатора (1. a против b, 2. a против c и 3. b против c), а затем прогнозируйте методом голосования.

II. Объедините классы a и b, чтобы сформировать двухклассовую задачу.

III. Прогнозируйте все три класса, затем сопоставьте прогноз со значением двух классов (например, f (c) = c, f (a) = не c, f (b) = не c).

Однако, если вы используете метод, который подгоняет распределение к каждому классу, избегайте II. и проверить, какой из I. или III. работает лучше для вашей проблемы


III звучит хорошо - хотя я думаю, что если классификатор говорит, что выборка составляет .33 a, .33 b и .34 c, я, вероятно, должен суммировать вероятности для a и b и, следовательно, выбрать «не c».
user116293

1
Для (I), какова хорошая процедура для раздельного голосования (1: a, 2: c, 3: b), или это, вероятно, слишком редко, чтобы действительно иметь значение?
user116293

Для III. то, что вы предлагаете, правильно. Для I. на данных 3 класса я не думаю, что есть какая-либо мера для разделения голосов (1 для каждого), так как переходное свойство должно было бы быть нарушено. Однако для классов 4+ вы можете предположительно иметь связи сверху, и в этом случае вы можете использовать числовое количество, а не выигрыш / проигрыш; т.е. сумма весов принимает максимальный весовой класс.
Муратоа
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.