¿Cómo lidiar con muchos niveles para una variable independiente mientras se modela?Hola,
Tengo una variable llamada 'Marca' en mi conjunto de datos que esencialmente es la marca del producto. Hay alrededor de 2300 niveles para esta variable y estoy buscando usar esto como una de las variables independientes para el modelado predictivo, donde el precio es la variable objetivo. ¿Puede alguien por favor decirme cómo lidiar con tantos niveles en la variable independiente?
Re: ¿Cómo lidiar con muchos niveles para una variable independiente mientras se hace el modelado?Otra forma sencilla de reducir la cantidad de niveles sería con un modelo de partición. Precio como la Y y la marca como la X. Puede probar diferentes números de divisiones y guardar los números de hoja y / o las etiquetas para crear nuevas variables.
Re: ¿Cómo lidiar con muchos niveles para una variable independiente mientras se hace el modelado?Me gustaría sugerir dos métodos muy diferentes que he usado en el pasado para tratar con muchas categorías. En mi caso, serían categorías geográficas cronológicas, pero deberían funcionar en su caso de marcas.
- Si tiene algún conocimiento exógeno sobre las marcas, quizás pueda agruparlos en una clasificación mucho más significativa. Por ejemplo, por país o por prima vs. calle principal vs. genérica.
- Usando algún método (es decir, Anova) clasifica las marcas por precio y busca grupos y puntos de discontinuidad. Quizás se agrupen por rangos de precios.
Una vez que tenga estos grupos por cualquiera de los métodos mencionados, puede agregar esta nueva variable al modelo. Esto se podría hacer en lugar de utilizar los nombres de marca detallados originales o, además, de forma anidada.
Háganos saber lo que funcionó para usted,
Ron
Re: ¿Cómo lidiar con muchos niveles para una variable independiente mientras se hace el modelado?Todavía otro pensamiento para ti similar a @dale_lehman La idea de, ¿es intentar el Análisis de Correspondencia Múltiple también como un método de reducción de dimensionalidad?
Re: ¿Cómo lidiar con muchos niveles para una variable independiente mientras se hace el modelado?Creo que la sugerencia de Phil es buena, si tiene muchas observaciones con las que trabajar. He visto datos como este, donde una compañía registró ventas de un gran número de líneas diferentes de artículos, y los productos nombrados fueron casi tantos como las observaciones (eligieron nombrar cada elemento de mobiliario de manera algo diferente). En ese caso, creo que hay que reducir las dimensiones para que los datos tengan algún sentido. Puedes intentar usar el explorador de texto para hacer esto. Si los nombres están bien definidos, por ejemplo, todas las sillas tienen la palabra "silla" en su título, entonces es posible que pueda usar una serie de nuevas columnas que identifiquen los productos que contienen palabras clave para agrupar los 2300 elementos en un conjunto mucho más pequeño. .
Re: ¿Cómo lidiar con muchos niveles para una variable independiente mientras se hace el modelado?Aquí hay una idea. No estoy seguro de que sea la solución más útil, pero lo intentaría.
Puede crear columnas de variable de indicador: 1 columna por marca (2300 columnas de indicador en total) con 1 o 0 que indica si es esa marca (1) o no (0). Cols> Utilities> Make Indicator Columns. Luego, puede utilizar una técnica de selección de variables como Bootstrap Forest para determinar las marcas que tienen mayor efecto en el precio. Luego, podría simplificar la columna de marca para tener un nivel para cada una de las marcas de predicción más importantes y luego agrupar el resto en un "otro" nivel. Eso simplificaría el desafío de modelado.