¡Actualización 2018!
Puede crear un espacio de incrustación (vector denso) para sus variables categóricas. Muchos de ustedes están familiarizados con word2vec y fastext, que incorporan palabras en un espacio vectorial denso y significativo. La misma idea aquí: sus variables categóricas se asignarán a un vector con algún significado.
Del documento Guo / Berkhahn :
La incrustación de entidades no solo reduce el uso de memoria y acelera las redes neuronales en comparación con la codificación única, sino que, lo que es más importante, al mapear valores similares entre sí en el espacio de incrustación, revela las propiedades intrínsecas de las variables categóricas. Lo aplicamos con éxito en una competencia reciente de Kaggle y pudimos alcanzar la tercera posición con características relativamente simples.
Los autores descubrieron que representar variables categóricas de esta manera mejoraba la efectividad de todos los algoritmos de aprendizaje automático probados, incluido el bosque aleatorio.
El mejor ejemplo podría ser la aplicación de Pinterest de la técnica para agrupar Pines relacionados:
La gente de fastai ha implementado incrustaciones categóricas y ha creado una publicación de blog muy agradable con el cuaderno de demostración complementario .
Detalles adicionales y explicación
Se utiliza una red neuronal para crear las incrustaciones, es decir, asignar un vector a cada valor categórico. Una vez que tenga los vectores, puede usarlos en cualquier modelo que acepte valores numéricos. Cada componente del vector se convierte en una variable de entrada. Por ejemplo, si usó vectores tridimensionales para incrustar su lista categórica de colores, podría obtener algo como: rojo = (0, 1.5, -2.3), azul = (1, 1, 0) etc. Utilizaría tres ingrese variables en su bosque aleatorio correspondiente a los tres componentes. Para las cosas rojas, c1 = 0, c2 = 1.5 y c3 = -2.3. Para las cosas azules, c1 = 1, c2 = 1 y c3 = 0.
En realidad, no necesita usar una red neuronal para crear incrustaciones (aunque no recomiendo alejarse de la técnica). Usted es libre de crear sus propias incrustaciones a mano u otros medios, cuando sea posible. Algunos ejemplos:
- Mapa de colores a vectores RGB.
- Mapa de ubicaciones a vectores lat / long.
- En un modelo político de EE. UU., Asigne ciudades a algunos componentes vectoriales que representen la alineación izquierda / derecha, la carga fiscal, etc.