Hola Pato,
No conozco tutorial, tuve la misma duda en su momento y no encontré nada bueno (si encontrás compartí), es como que "todo el mundo" asume que uno ya lo sabe (lo cual no es cierto y es una mala asumpción).
Te escribo algo de lo que entiendo del tema:
AFAIK: la forma estandar de códificar features categóricos es con 1-en-k (OneHotEnconder). Si tu feature vale rojo, verde y amarillo entonces
rojo -> 001
verde -> 010
amarillo -> 100
Cuando tenes 20 features categoricos cada sub-vector codificado con 1-en-k se concatena para formar un gran vector que codifica todos los features.
El otro caso clásico es codificar features que producen conjuntos de cosas (suena bag-of-words?). Ponele que tu feature es el conjunto de personas que fueron a una fiesta y las personas posibles son Tomas, Felix, Julián y Pancho ;) ;) ;) entonces:
{Tomas, Félix} -> 1100
{Tomas, Pancho} -> 1001
{Felix, Julian, Pancho -> 0111
etc.
Este tipo de codificación lo hace scikit-learn con CountVectorizer .
De nuevo AFAIK: Esos son los dos grandes tipos de encodeo de features categóricos. Todas las otras formas de codificar objectos raros que yo he visto (grafos, imágenes, etc) terminan decantando en uno de estos dos métodos (ie, hacen un truco mátematico para trabajar con categorias o sets de categorias).
Para reducir el boilerplate de codificar los features (entre otras cosas) hicimos featureforge[0] hace un año... es meterse en más quilombo pero soluciona varios problemas entre ellos el de la codificacion de features categóricos y features que son conjuntos.
Espero que sirva! Cualquier cosa pregunta por más, un abrazo!
Rafa