Então, eu tenho uma matriz de cerca de 60 x 1000. Estou vendo como 60 objetos com 1000 recursos; os 60 objetos são agrupados em 3 classes (a, b, c). 20 objetos em cada classe, e sabemos a verdadeira classificação. Gostaria de fazer um aprendizado supervisionado neste conjunto de 60 exemplos de treinamento, e estou interessado tanto na precisão do classificador (e métricas relacionadas) quanto na seleção de recursos nos 1000 recursos.
Primeiro, como está minha nomenclatura?
Agora a verdadeira questão:
Eu poderia jogar florestas aleatórias nele, como declarado, ou em qualquer número de outros classificadores. Mas há uma sutileza - eu realmente só me importo em diferenciar a classe c das classes a e b. Eu poderia agrupar as classes aeb, mas existe uma boa maneira de usar o conhecimento a priori de que todos os objetos não-c provavelmente formam dois grupos distintos? Eu preferiria usar florestas aleatórias ou uma variante delas, já que foi demonstrado que é eficaz em dados semelhantes aos meus. Mas eu poderia estar convencido a tentar outras abordagens.
Respostas:
Se você estiver usando um método baseado em árvore, não acho que isso importe, pois esses classificadores particionam o espaço de recursos e, em seguida, analisam a proporção de amostras em cada classe. Então, tudo o que importa é a ocorrência relativa da classe c em cada nó do terminal.
Se, no entanto, você estava usando algo como uma mistura de normais, LDA, etc., seria uma má idéia combinar dois grupos (assumindo que as classes aeb formam grupos únicos). Aqui você precisa preservar a estrutura da classe para descrever com precisão o espaço de recurso que mapeia para a, bec. Esses modelos assumem que os recursos de cada classe têm uma distribuição normal diferente. Se você combinar aeb forçará uma única distribuição Normal a ser ajustada a uma mistura.
Em resumo para árvores, não importa muito se você:
I. Crie três classificadores (1. a vs b, 2. a vs ce 3. b vs c) e preveja com um método baseado em votação.
II Mesclar as classes aeb para formar um problema de duas classes.
III Preveja as três classes e mapeie a previsão para um valor de duas classes (por exemplo, f (c) = c, f (a) = não c, f (b) = não c).
No entanto, se você usar um método que esteja ajustando uma distribuição para cada classe, evite II. e teste qual de I. ou III. funciona melhor para o seu problema
fonte