Soy nuevo en el aprendizaje automático, así que estoy tratando de encontrar algo de literatura, pero ni siquiera estoy seguro de qué buscar en Google. Mis datos son de la siguiente forma:
User A performs Action P
User B performs Action Q
User C performs Action R
...
User C performs Action X
User A performs Action Y
User B performs Action Z
...
Donde cada acción tiene ciertas características (fecha, hora, cliente, etc.). Hay alrededor de 300 usuarios y tenemos alrededor de 20,000 acciones.
Pregunta :
Quiero saber si hay alguna causalidad / correlación entre las acciones del usuario. Por ejemplo, "cada vez que el Usuario E realiza la Acción T, 2 días después, el Usuario G realiza la Acción V". Pero en el medio, podría haber muchos otros usuarios realizando muchas otras acciones, y es posible que no se encuentre ninguna correlación. También es posible que algunos usuarios estén correlacionados, pero otros sean completamente independientes. ¿Es esto algo que el aprendizaje automático podría encontrar para mí? ¿Existe un algoritmo específico o un conjunto de algoritmos que podrían ayudarme?
He estado leyendo sobre el análisis de asociación y el algoritmo Apriori, pero no creo que esto me dé lo que necesito, ya que parece requerir conjuntos de datos conocidos y bien delimitados como entrada, mientras que solo tengo una larga secuencia de usuarios aparentemente aleatorios. comportamiento. ¡Cualquier sugerencia sobre qué mirar sería muy apreciada!
P
Respuestas:
Creo que debe hacer una preparación de datos antes de usar cualquier algoritmo para encontrar conjuntos de elementos frecuentes y reglas de asociación.
Consulte la tabla de transacciones en este artículo: análisis de la cesta de la compra
En su caso, debe establecer (y ajustar) un período de tiempo máximo entre la interacción que se espera esté correlacionada, luego puede elegir un usuario frecuente y, para cada transacción que realizó (o una muestra), adjuntará un registro único 2 días de otra transacción de usuario. Los atributos deben ser booleanos como
fuente
Una forma de explorar sus datos es hacer una tabla de acción previa x acción siguiente. Entonces, para cada evento, encuentre la siguiente acción del mismo usuario. De manera similar, puede tabular la acción anterior X retraso hasta la próxima acción.
Luego, podría explorar si la acción anterior influye en la siguiente. Si no, sus usuarios son "apátridas".
Otra posible simplificación es ignorar los ID de usuario y preguntar si la frecuencia de cada acción es la misma a lo largo del tiempo o si varía; y si varía si es cíclico o muestra una tendencia.
Las respuestas a estas preguntas pueden mostrar que sus datos tienen poca estructura. Alternativamente, podrían plantear algunas nuevas hipótesis para probar.
fuente
Esta es una pregunta interesante. El mejor enfoque es examinar todo el conjunto de datos y crear una tabla de frecuencias. Por ejemplo: el usuario A realiza la acción P e Y, el usuario B realiza la acción Q y Z, el usuario C realiza la acción R y X De manera similar, hay más usuarios que realizan más acciones. Por lo tanto, hay varios enfoques para lidiar con este conjunto de datos 1) Algoritmo de agrupamiento para agrupar elementos similares en diferentes segmentos 2) Análisis de la cesta de mercado para identificar a los usuarios frente al mapeo de acciones y la frecuencia
Sin revisar todo el conjunto de datos, no se recomienda prescribir ningún algoritmo particular para este tipo de preguntas.
fuente