R MBD- ML problem 3. Clustering

Descripción

El Grupo Electronic-Media es una de las empresas de comercio electrónico más grandes del mundo, con filiales en más de 20 países, incluyendo EE.UU., Alemania y Francia. Esta empresa vende millones de productos en todo el mundo y centenares de productos se incorporan a su catálogo diariamente.

Un análisis coherente del rendimiento de los productos es crucial. Sin embargo, debido a la dispar infraestructura global, muchos productos idénticos llegan a clasificarse de forma distinta. En consecuencia, la calidad del análisis del producto depende en gran medida de la capacidad de agrupar con precisión productos similares. Cuanto mejor sea la clasificación, mayor conocimiento se podrá generar sobre nuestra gama de productos.

El objetivo de esta práctica es:

  1. Generar una clasificación de los productos procurando mantener las máximas similitudes entre grupos y la máxima heterogeneidad entre los mismos. Para llevarlo a cabo se deberán usar técnicas de clustering (k-means)àSólo usar datos de entrenamiento
  2. Construir un modelo predictivo que sea capaz de distinguir entre las principales categorías de productos existentes (en total, nueve categorías). Se deberán usar conditional trees para realizar la predicciónàUsar datos de entrenamiento y test

Datos

Se entregaran 2 conjuntos de datos:

  1. Datos de entrenamiento. Contendrá la variable respuesta (categoría actual del producto)
  2. Datos test. No contendrán la variable respuesta y son sobre los que se hará la predicción de la segunda parte.

Las variables comunes que contienen ambos juegos son:

  • id: identificador del producto
  • feat_1 a feat_93: características del producto
  • target (entrenamiento): categoría al que pertenece el producto en cuestión.

A)    Primera parte: Algoritmos no supervisados

 

A.1) Evaluación

Evaluación de la primera parte
se basará en el estadístico de Inercia (variabilidad entre grupos dividida entre la variabilidad total):

Se obtendrá una puntuación más alta cuanto menor sea el estadístico con un número razonable de grupos. (Con un número infinito de grupos se consigue una inercia de 1)

A.2) Entrega para la primera parte:

  1. Una descripción del trabajo realizado y el proceso seguido para llegar a las conclusiones. Así mismo, debe especificarse el número de grupos idóneo y el valor de la inercia encontrado. Se valorará la presencia de gráficos que faciliten la comprensión. Extensión: 3 o 4 páginas. Formato: .docx
  2. Fichero de texto con la clasificación final de los productos con dos columnas separadas por una coma: la primera debe contener el identificador del producto y la segunda el identificador del grupo al que es asignado (no tiene que tener ninguna relación con el grupo real). Formato: .txt
  3. El código utilizado para realizar esta parte con comentarios explicativos. Formato: . R

 

A.3) Solución:

 

 

 

 

 

 

Nº grupos Variabilidad intra-grupo Variabilidad explicada
2 grupos            21384032 7.27%
11 grupos 14373067 37.67%

 

 

 

“)

 

 

Es complicado decidir en cuantos grupos dividir el dentograma. No obstante, el paquete NbClust nos ayuda a decidir el numero de grupos óptimos.

En este ejemplo nos sugiere 3 grupos. Esto puede ser debido a que estamos analizando solo 100 observaciones.

 

Tradicionalmente buscamos por “el codo” (elbow). No obstante. el “second differences” plot (derecha) es más claro para la mayoría de observadores.

*Referencia: libro “Mastering Data Analysis with R” , pag 262.

 

 

El análisis de las 4 primeras (Notese que sabemos que realmente hay 9 clases).

B) Segunda parte: Algoritmos supervisados

 

B.1) Evaluación de la segunda parte

Se usará la función de pérdida logarítmica multi-clase. Cada producto pertenece a una categoría real de la empresa. Para cada uno de ellos, se debe presentar un conjunto de probabilidades predichas (una por cada categoría). La fórmula de la función de pérdida es entonces,

donde N es el número de productos en la prueba, M es el número de clases, log es el logaritmo natural, yij es 1 si la observación i está en la clase j y 0 en caso contrario, y pij es la probabilidad predicha de que la observación i pertenezca a la clase j.

Las probabilidades presentadas para un determinado producto deben sumar uno. Con el fin de evitar valores extremos de la función de registro, las probabilidades predichas son reemplazadas por max(min (p, 01-10-15), 10-15).

Se obtendrá una puntuación más alta cuanto mayor sea este estadístico. En ambas partes, también se valorará:

  1. Los criterios de selección del modelo final
  2. La presentación de los resultados

B.2) Entrega para la segunda parte:

  1. Una descripción del trabajo realizado y el proceso seguido para llegar a las conclusiones. Debe explicar el proceso utilizado para calcular las probabilidades y los parámetros del árbol condicional. Se valorará la presencia de gráficos que faciliten la comprensión. Extensión: 2 o 3 páginas. Formato: .docx
  2. Documento de texto que contenga las probabilidades predichas de pertenencia de los productos a cada grupo en un documento con 10 columnas separadas por una coma. La primera debe contener el identificador del producto y las 9 restantes las probabilidades de pertenecer a cada grupo. Formato: .txt
  3. El código utilizado para realizar esta parte con comentarios explicativos.

 

 

B.3) Solución

 

 

 

 

Se observa los valores reales a la derecha y las predicciones a la izquierda con una “x” cuando una predicción no coincidió con la realidad.