Pregunta para los mineros de datos experimentados:
Ante este escenario:
- Hay N carritos de compras
- Cada carrito de compras está lleno de un número arbitrario de artículos M de un conjunto infinitamente grande (con la cantidad actual de datos que tengo, ese número arbitrario puede alcanzar números alrededor de 1500)
- El orden en que se llena cada carrito es significativo
- Existen otros atributos como la geolocalización del comprador, pero estos pueden ser (y actualmente son) desechados a favor de simplificar el algoritmo.
Necesito:
- En un momento determinado, dado solo los conjuntos de artículos ordenados en cada carrito, identifique los carritos 'similares' sin conocimiento previo de las etiquetas de clase
- Después de que se haya recopilado una cierta cantidad de datos y que un trabajo de trabajo trabaje a través de los datos y asigne etiquetas, cree un clasificador que pueda funcionar rápidamente con datos futuros no vistos
Acercamiento inicial:
- Hasta ahora, mi enfoque se ha centrado en el primer punto. Mi método utiliza el agrupamiento k-means y maneja la naturaleza secuencial de los datos mediante el uso de una matriz de distancia generada al calcular la distancia de Hamming entre los carros. De esta manera, [manzana, plátano, pera] es diferente de [pera, manzana, plátano], pero [manzana, plátano, pera] es menos diferente de [manzana, plátano, antílope]. El valor apropiado de k se determina a través de la investigación del coeficiente de silueta. Los grupos generados a partir de esto parecen tener sentido, pero el tiempo de ejecución de mi método definitivamente será prohibitivo a medida que escale mi conjunto de datos.
Pregunta:
- ¿Alguien tendría alguna sugerencia para un minero de datos novato para este problema?
Ediciones con más información:
- He encontrado sugerencias que consideran usar las funciones de n-gram y compararlas por pares. Una preocupación que tengo sobre esto es el orden: ¿se mantendrá el orden de las secuencias si se usan modelos de n-gramas? Además, veo que los problemas de rendimiento son una posibilidad mayor con este método.
Respuestas:
También soy un minero de datos novato, pero ¿puedo sugerir que el análisis exploratorio de datos siempre es un buen primer paso? Vería si a los artículos se les puede asignar algún tipo de 'valor de prioridad' que pueda servir para predecir qué tan temprano aparecerán en el carrito, ya que como resultado puede permitirle usar modelos más simples. Algo tan simple como una regresión lineal en (#orden en el carro / # número de artículos en el carro) para todos los carros que poseen el artículo X le dará una idea de si esto es posible. Suponga que encuentra que una cierta proporción de elementos siempre aparece temprano o más tarde, y algunos parecen ser completamente al azar: esto lo guiará en su posterior construcción de modelos.
fuente