Manejo de características categóricas en el algoritmo de máquinas de factorización - Hastro de características versus codificación única

datascience.stackexchange https://datascience.stackexchange.com/questions/9397

Pregunta

Para resolver un problema de predicción, estoy dispuesto a usar el Máquinas de factorización, Un modelo que, además de aprender pesos lineales en las características, aprenda un espacio vectorial para que cada característica aprenda interacciones de emparejamiento entre las características en este nuevo espacio.

Me dijeron que realizar el truco de hash para convertir las características categóricas en características binarias de 1 de K (usando Sklearn's Dictvectorizador, que devuelve la matriz dispersa) puede destruir la interacción de características y debería probar regularmente codificación de un solo estado en cambio.

¿Alguien puede explicar por qué?

¿Fue útil?

Solución

Decidí expandirme un poco en mi comentario y hacer una respuesta completa.

Entonces, la razón por la cual alguien puede decir que realizar el truco de hashing puede destruir las interacciones es porque puede asignar diferentes características al mismo cubo. Pero generalmente no es un gran problema.

Tenga en cuenta que Dictvectorizador No realiza el truco de hash:

Cuando los valores de la característica son cadenas, este transformador hará una codificación binaria de un solo estado (también conocido como One-of-K): se construye una característica de valor booleano para cada uno de los valores de cadena posibles que la característica puede asumir. Por ejemplo, una característica "F" que puede asumir los valores "Ham" y "Spam" se convertirá en dos características en la salida, una que significa "F = Ham", el otro "F = Spam".

Para hacerlo, debe usar un vectorizador diferente: Vectoral

Licenciado bajo: CC-BY-SA con atribución
scroll top