Alih-alih penyaringan kolaboratif saya akan menggunakan pendekatan faktorisasi matriks, di mana pengguna dan film sama-sama diwakili oleh vektor fitur laten yang produk titiknya menghasilkan peringkat. Biasanya seseorang hanya memilih peringkat (jumlah fitur) tanpa memperhatikan apa yang diwakili fitur tersebut, dan algoritme melakukan sisanya. Seperti PCA, hasilnya tidak dapat langsung ditafsirkan tetapi memberikan hasil yang baik. Apa yang ingin Anda lakukan adalah memperluas matriks film untuk memasukkan fitur tambahan yang Anda sebutkan dan memastikan bahwa mereka tetap diperbaiki karena algoritma memperkirakan dua matriks menggunakan regularizastion. Entri yang sesuai dalam matriks pengguna akan diinisialisasi secara acak, kemudian diperkirakan oleh algoritma faktorisasi matriks. Ini adalah pendekatan yang fleksibel dan berkinerja tetapi dibutuhkan beberapa pemahaman tentang pembelajaran mesin,
Saya melihat notebook ipython yang bagus beberapa waktu lalu, tetapi saya tidak dapat menemukannya sekarang, jadi saya akan merujuk Anda ke notebook lain yang, walaupun tidak sebagus ini, masih memperjelas beberapa matematika.