Tworzę prosty system rekomendacji dla MovieLens DB zainspirowany przez https://databricks-training.s3.amazonaws.com/movie-recommendation-with-mllib.html.Jak zaktualizować Spark MatrixFactorizationModel dla ALS
Mam również problemy z jawnym szkoleniem, jak tutaj: Apache Spark ALS collaborative filtering results. They don't make sense Korzystanie z treningu niejawnego (zarówno w przypadku danych jawnych, jak i niejawnych) daje mi rozsądne wyniki, ale wyraźne szkolenie nie.
Chociaż jest to już dla mnie ok, ciekawy jak zaktualizować model. Chociaż mój obecny rozwiązanie działa jak
- posiadające wszystkie user
- generowania modelu
- uzyskać zalecenia dla użytkownika
chcę mieć przepływ takiego:
- posiadającą baza ocen
- wygeneruj model raz (opcjonalnie zapisz & obciążenie go)
- trochę ocen przez jednego użytkownika na 10 przypadkowych filmów (nie w modelu!)
- uzyskać zalecenia stosując model i nowe user
Dlatego muszę aktualizować mojego modelu, bez całkowitej ponownej kalkulacji. Czy jest jakaś szansa, aby to zrobić?
Podczas gdy pierwszy sposób jest dobry do przetwarzania wsadowego (jak generowanie zaleceń w nocnych partiach), drugi sposób byłby dobry dla prawie żywego generowania zaleceń.
Zobacz również to podobne pytanie http://stackoverflow.com/questions/28724639/how-to-augment-matrix-factors-in-spark- als-recommender –
Ponadto, http://stackoverflow.com/questions/40809876/apache-spark-als-how-to-perform-live-recommendations-fold-in-anonym-user?rq=1 –