En lugar del filtrado colaborativo, usaría el enfoque de factorización matricial, en el que los usuarios y las películas están representados por vectores de características latentes cuyos productos puntuales producen las calificaciones. Normalmente, uno simplemente selecciona el rango (número de características) sin tener en cuenta lo que representan las características, y el algoritmo hace el resto. Al igual que PCA, el resultado no es inmediatamente interpretable pero produce buenos resultados. Lo que desea hacer es extender la matriz de películas para incluir las características adicionales que mencionó y asegurarse de que permanezcan fijas ya que el algoritmo estima las dos matrices utilizando la configuración regular. Las entradas correspondientes en la matriz del usuario se inicializarán aleatoriamente, luego se estimarán mediante el algoritmo de factorización de la matriz. Es un enfoque versátil y eficaz, pero requiere cierta comprensión del aprendizaje automático,
Vi un buen cuaderno de ipython hace un tiempo, pero no puedo encontrarlo en este momento, así que lo referiré a otro que, aunque no es tan bueno, todavía aclara algunas de las matemáticas.