¿Cómo podría agrupar usuarios similares en el conjunto de datos MovieLens?

La respuesta de Simba ya elabora con gran detalle los pasos que debe seguir, por lo que no voy a repetir todos sus puntos aquí.

Sin embargo, calificaré eso cuando se trata de la agrupación de k-means , saber el número adecuado de agrupaciones (k) es un factor muy importante a la hora de implementar este algoritmo, y debe tener un buen mecanismo en lo que respecta a computación k.

Una forma de hacerlo es mediante el uso del método de suma de cuadrados (wss) dentro de los grupos . Esencialmente, este método calculará la suma de cuadrados dentro de los grupos para cada grupo, y un diagrama de pantalla identificará gráficamente el punto en el que se minimiza el wss, lo que indica el número ideal de grupos:

Puede encontrar los siguientes enlaces útiles para investigar más sobre cómo se puede implementar esto utilizando el software R:

¿Qué es “Dentro de la suma de cuadrados por conglomerado” en K-significa

kmeans y wss: encontrar el número óptimo de clústeres (k) | Michael Grogan

K-significa Clustering (de “R en acción”)

Gracias por el A2A,

En Triton, hemos creado un motor de recomendaciones, y a menudo utilizamos MovieLens como un conjunto de datos de ejemplo para demostrar la inteligencia del producto, al mostrar cómo agrupa a los usuarios y la precisión de sus recomendaciones. A menudo nos comparamos con SVD, y a continuación explicaré cómo funciona el enfoque SVD.

Implementación ingenua: cree una matriz de calificación donde las columnas son películas y las filas son usuarios. Desde este punto, podríamos usar la similitud de Coseno en cada fila para mostrar qué tan cerca están los usuarios juntos; Sin embargo, dado que la matriz es muy escasa (la mayoría de los usuarios solo ha calificado una pequeña selección de todo el conjunto de películas), es probable que no conduzca a resultados adecuados.

Para comprender mejor esto, comprenda este caso, imagine una situación en la que ambos usuarios tienen gustos de películas similares (viejas películas de acción), pero no hay ninguna película que ambos hayan calificado. En este caso, no se considerarían similares, aunque sabemos que lo son.

Implementación de SVD: el problema se reduce a crear una representación densa del usuario, a diferencia de la escasa matriz de calificación. Para hacer esto, podemos usar SVD y crear dos matrices A (# usuarios X len vector de características) y B (len vector de características X elementos #) de modo que:
A x B es aproximadamente igual a la matriz de calificación (las partes que se rellenan, ignorando los elementos vacíos).

Tenga en cuenta que tanto A como B tienen una dimensión que es igual a la longitud del vector de características, este número es arbitrario, por lo general, más grande es mejor, pero puede comenzar configurándolo en 20. Use la pendiente de gradiente para optimizar las matrices A y B para hacer que su producto esté lo más cerca posible de la matriz de calificación. Ahora la fila U en la matriz A se puede usar como una representación densa del usuario U.

Agrupación: ahora que hemos creado vectores de características densas para todos los usuarios, podemos trazarlos en el espacio N-dimensional y usar un algoritmo como K-Means para crear agrupaciones de usuarios. En K-Means, elegimos la cantidad de grupos que queremos (K). El algoritmo coloca cada vector de características en un clúster y le da a cada clúster un punto central. Se optimiza para la suma mínima de distancias entre cada punto en el centro de su grupo.

More Interesting

Explica qué son la precisión y el recuerdo. ¿Cómo se relacionan con la curva ROC?

¿Qué se sabe sobre la detección de incertidumbre o vacilación en el texto en lenguaje natural (no en el habla)?

¿Qué es la divergencia contrastante?

En el análisis de sentimientos, ¿cómo son útiles los datos etiquetados por humanos para extraer características y capacitar a los clasificadores en el enfoque de aprendizaje automático?

¿Dónde puedo encontrar un conjunto de datos de texto traducido de cualquier idioma a otro válido para ser entrenado en un modelo de traducción automática en aprendizaje automático?

¿Por qué el aprendizaje automático se usa mucho para la clasificación de anuncios de Google y menos para su clasificación de búsqueda? ¿Qué llevó a esta diferencia?

¿Qué tan pronto la automatización afectará el futuro del arte conceptual?

¿Los diferentes algoritmos de árbol de decisión ofrecen diferencias significativas en el rendimiento?

¿Qué algoritmos de aprendizaje automático no requieren escalado de características?

¿Es Siraj Raval el Neil De Grasse Tyson del aprendizaje profundo?

¿Cuáles son algunas ideas importantes / brillantes en el aprendizaje automático?

¿Qué tan útiles son los límites de convergencia en la aplicación práctica del aprendizaje automático?

¿Qué significa extraer características de alguna capa de una red neuronal convolucional?

¿Hay alguna diferencia entre el modelado de temas y el clúster?

¿Dónde puedo encontrar guías de aprendizaje automático desde la perspectiva de los hackers?