Costruisco un semplice sistema di suggerimenti per il DB MovieLens ispirato allo https://databricks-training.s3.amazonaws.com/movie-recommendation-with-mllib.html.Come aggiornare Spark MatrixFactorizationModel per ALS
Ho anche problemi con l'allenamento esplicito come qui: Apache Spark ALS collaborative filtering results. They don't make sense L'utilizzo del training implicito (su dati espliciti e impliciti) mi dà risultati ragionevoli, ma l'addestramento esplicito no.
Mentre questo è ok per me ormai, sono curioso su come aggiornare un modello. Mentre la mia soluzione attuale funziona come
- avere tutte le valutazioni degli utenti
- generare modello
- ottenere suggerimenti per l'utente
voglio avere un flusso simile a questo:
- avere una base di valutazioni
- genera il modello una volta (opzionale salva & carico IT)
- ottenere qualche feedback da un utente su 10 film casuali (non nel modello!)
- ottenere raccomandazioni utilizzando il modello e le nuove valutazioni degli utenti
Perciò devo aggiornare il mio modello, senza completamente ricalcarlo. C'è qualche possibilità di farlo?
Mentre il primo modo è buono per l'elaborazione in batch (come la generazione di raccomandazioni nei lotti notturni) il secondo modo sarebbe positivo per la generazione di raccomandazioni quasi live.
Vedi anche questa domanda simile http://stackoverflow.com/questions/28724639/how-to-augment-matrix-factors-in-spark- als-recommender –
Inoltre, http://stackoverflow.com/questions/40809876/apache-spark-als-how-to-perform-live-recommendations-fold-in-anonym-user?rq=1 –