Я изо всех сил пытаюсь понять, как именно начать использовать 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)< br> Jama(java)
Pyrsvd(python)
Буду признателен за любые советы, особенно по базовому набору данных. Большое спасибо, Оли