Я пытаюсь понять, как именно начать использовать SVD с набором данных типа MovieLens / Netflix для прогнозирования рейтинга. Я был бы очень признателен за любые простые примеры в python / java или базовый псевдокод вовлеченного процесса. Существует ряд статей / постов, в которых обобщается общая концепция, но я не уверен, как начать реализовывать ее, даже используя ряд предложенных библиотек.
Насколько я понимаю, мне нужно преобразовать исходный набор данных следующим образом:
Исходный набор данных:
user movie rating
1 43 3
1 57 2
2 219 4
Необходимо повернуть, чтобы быть:
user 1 2
movie 43 3 0
57 2 0
219 0 4
На этом этапе мне просто нужно внедрить эту Матрицу в алгоритм SVD, как это предусмотрено доступными библиотеками, и затем (каким-то образом) извлечь результаты, или с моей стороны требуется больше работы?
Некоторая информация, которую я прочитал:
http://www.netflixprize.com/community/viewtopic.php?id=1043
http://sifter.org/~simon/journal/20061211.html
http://www.slideshare.net/NYCPredictiveAnalytics/building-a-recommendation-engine-an-example-of-a-product-recommendation-engine
http://www.slideshare.net/bmabey/svd-and-the-netflix-dataset-presentation
.. и ряд других документов
Некоторые библиотеки:
LingPipe (Java)
Джама (Ява)
Pyrsvd (питон)
Будут благодарны любые советы, особенно по базовому набору данных.
Спасибо большое,
Oli