Eu tenho um conjunto de dados como
+--------+------+-------------------+
| income | year | use |
+--------+------+-------------------+
| 46328 | 1989 | COMMERCIAL EXEMPT |
| 75469 | 1998 | CONDOMINIUM |
| 49250 | 1950 | SINGLE FAMILY |
| 82354 | 2001 | SINGLE FAMILY |
| 88281 | 1985 | SHOP & HOUSE |
+--------+------+-------------------+
Eu o integro em um espaço vetorial de formato LIBSVM
+1 1:46328 2:1989 3:1
-1 1:75469 2:1998 4:1
+1 1:49250 2:1950 5:1
-1 1:82354 2:2001 5:1
+1 1:88281 2:1985 6:1
Índices de recursos:
- 1 é "renda"
- 2 é "ano"
- 3 é "use / ISENÇÃO COMERCIAL"
- 4 é "use / CONDOMINIUM"
- 5 é "use / ÚNICA FAMÍLIA"
- 6 é "use / LOJA E CASA"
É bom treinar uma máquina de vetores de suporte (SVM) com uma mistura de dados contínuos (ano, renda) e dados categóricos (uso) como este?
categorical-data
svm
mixed-type-data
Seamus Abshere
fonte
fonte
Respostas:
Sim! Mas talvez não da maneira que você quer dizer. Em minha pesquisa, frequentemente crio recursos categóricos a partir de valores continuamente avaliados, usando um algoritmo como particionamento recursivo . Eu costumo usar essa abordagem com a implementação SVMLight de máquinas de vetores de suporte, mas também a usei com o LibSVM. Você precisará certificar-se de atribuir seus recursos categóricos particionados a um local específico em seu vetor de recursos durante o treinamento e a classificação, caso contrário, seu modelo acabará desordenadamente.
Edit: Ou seja, quando eu faço isso, atribuo os primeiros n elementos do vetor aos valores binários associados à saída do particionamento recursivo. Na modelagem de recursos binários, você apenas possui um vetor gigante de 0 e 1, para que tudo pareça o mesmo com o modelo, a menos que você indique explicitamente onde estão os diferentes recursos. Isso provavelmente é excessivamente específico, pois eu imagino que a maioria das implementações SVM faça isso por conta própria, mas, se você gosta de programar por conta própria, pode ser algo para se pensar!
fonte