La mejor manera de hacerlo variará enormemente dependiendo de la tarea que esté realizando, por lo que es imposible decir qué será lo mejor de una manera independiente de la tarea.
Hay dos cosas fáciles de probar si sus niveles son ordinales:
- Bin ellos. Por ejemplo, 0 = (0 250), 1 = (251 500), etc. Es posible que desee seleccionar los límites para que cada contenedor tenga el mismo número de elementos.
- También puede tomar una transformación de registro de los niveles. Esto aplastará el rango hacia abajo.
Si los niveles no son ordinales, puede agrupar los niveles en función de otras características / variables en su conjunto de datos y sustituir los identificadores de clúster por los niveles anteriores. Hay tantas maneras de hacer esto como algoritmos de agrupamiento, por lo que el campo está abierto de par en par. Mientras lo leo, esto es lo que combine.levels()
está haciendo. Podrías hacer lo mismo usando kmeans()
o prcomp()
. (Posteriormente, podría / debería capacitar a un clasificador para predecir los grupos de nuevos puntos de datos).