Puede que sea una pregunta ingenua, pero me pregunto por qué nosotros (o tal vez sólo yo) convertimos las etiquetas de clases categóricas en números enteros antes de alimentar un clasificador en un paquete de software como la biblioteca scikit-learn ML de Python.
Tomemos el simple conjunto de datos de Iris, ¿por qué convertimos las etiquetas de clase de "Setosa", "Virginica" y "Versicolor" a, por ejemplo, 0, 1 y 2?
Esta pregunta surgió cuando estaba trabajando en colaboración en un proyecto y uno de mis compañeros no utilizó un codificador de etiquetas para convertir las etiquetas de clase de cadenas a enteros. Funcionaba (ella usaba scikit-learn); yo lo "corregí" intuitivamente (inserté un codificador de etiquetas) y ella me preguntó por qué: Bueno, realmente no tenía una buena respuesta a eso, aparte de "la mayoría de los algoritmos de aprendizaje automático funcionan mejor de esta manera" (esto es algo que leí hace algún tiempo en alguna parte).
Ahora que lo pienso: ¿Cuál es la razón de ser de esto? Dado que en las tareas típicas de clasificación las etiquetas de clase son variables nominales, no ordinales, ¿se trata de eficiencia computacional (almacenar y procesar menos "datos")?