4 votos

Codificación extraña de rasgos categóricos

Estoy leyendo https://arxiv.org/pdf/1609.06676.pdf que presenta una extensión del algoritmo del bosque de aislamiento para que características categóricas se puede tener en cuenta. En la página 5, los autores señalan:

... ampliamos el algoritmo para considerar datos categóricos. Nuestro método sólo requiere que, para cada dimensión categórica, los valores tengan un ordenación. El ordenamiento puede ser arbitrario. A continuación, cada valor se asigna a un valor numérico, basado en su ordenación. Por ejemplo, los valores verdadero y falso pueden asignarse a falso = 0, verdadero = 1. Una vez asignados los valores categóricos a valores numéricos, las dimensiones categóricas pueden pueden ser tratadas de la misma manera que las dimensiones numéricas en el algoritmo iForest .

¿Tiene sentido este enfoque?

Al principio pensé que esto no produce exactamente el mismo resultado que la aplicación de Scikit-Learn LabelEncoder ()? Sin embargo, los autores parecen hacerlo sin crear un conjunto único antes de ordenar. Una forma diferente sería Una codificación en caliente aunque esto hace que el espacio de características se amplíe muy rápidamente para las características categóricas de alto cardinal.

3voto

kjetil b halvorsen Puntos 7012

Sí, esto suena a codificación de etiquetas (un término de aprendizaje automático que nunca encontré en Estadística) y no tiene mucho sentido para variables categóricas no ordenadas. Si el algoritmo no puede hacer frente a los dummys, tal vez intente alguna variante de codificación objetivo/media ( mencionado aquí ).

Utilizar primero algún modelo lineal (tal vez glmnet ) con la regularización adecuada para una variable categórica con muchos niveles, véase ¿Modo principal de colapsar variables categóricas con muchos niveles? y luego codificar la variable categórica con los coeficientes estimados para esa variable del modelo lineal? Al menos debería valer la pena intentarlo.

1voto

Dipstick Puntos 4869

Con iForest se refieren a Bosque de aislamiento un algoritmo que

aísla las observaciones seleccionando aleatoriamente una característica y luego aleatoriamente un valor de división entre los valores máximo y mínimo de la característica seleccionada.

Así, la variable categórica tratada como numérica se dividiría aleatoriamente varias veces, agrupando finalmente las categorías en algunos grupos arbitrarios. Puedo ver cómo esto puede funcionar, pero no parece muy eficiente si no hay un orden significativo en las categorías. Por otro lado, truco de hashing introduce un tipo de aleatorización y agrupación similar, a la vez que funciona muy bien, por lo que puede funcionar también.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X