Итак, у меня есть матрица размером около 60 x 1000. Я рассматриваю ее как 60 объектов с 1000 объектов; 60 объектов сгруппированы в 3 класса (a, b, c). 20 предметов в каждом классе, и мы знаем истинную классификацию. Я хотел бы провести обучение под наблюдением на этом наборе из 60 обучающих примеров, и меня интересует как точность классификатора (и связанные с ним метрики), так и выбор функций для 1000 функций.
Во-первых, как моя номенклатура?
Теперь реальный вопрос:
Я мог бы бросить случайные леса на него, как указано, или любое количество других классификаторов. Но есть одна тонкость - меня действительно волнует только дифференциация класса c от классов a и b. Я мог бы объединить классы a и b, но есть ли хороший способ использовать априорные знания о том, что все не относящиеся к 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. работает лучше для вашей проблемы
источник