Take a look at the "missing values" section in Hinton's guide (
http://www.cs.toronto.edu/~hinton/absps/guideTR.pdf),
You may be able to use the Imputer from sklearn.preprocessing to start with
a "good guess" for the rating, which will then be modified as the RBM
regenerates the input during contrastive divergence. You may also be able
to drop the training cases with N/A data, and train a different RBM for
each movie (or each user - what is your input vector?) while tying the
weights somehow - though this seems difficult.
There is also probabilistic matrix factorization, which may be an alternate
approache to investigate. I have done some work with this at
https://github.com/kastnerkyle/School/blob/master/atpr/matrix_factorization.py
Kyle
On Thu, Sep 12, 2013 at 12:40 PM, Issam <issamo...@gmail.com> wrote:
> Is it easy to perform collaborative filtering with scikit's "Restricted
> Boltzmann Machines" (RBM)?
>
> Assume given are user ratings of 3 movies and for the fourth movie the
> rating is missing. Clearly, using RBMs the reconstruction values constitute
> the missing data. But, I'm not sure how the RBM knows which movie ratings
> are missing. An approach includes assigning arbitrary missing values during
> initialization; although this might not be effective as inference would
> depend on the initial values.
>
> Thanks!
>
>
> ------------------------------------------------------------------------------
> How ServiceNow helps IT people transform IT departments:
> 1. Consolidate legacy IT systems to a single system of record for IT
> 2. Standardize and globalize service processes across IT
> 3. Implement zero-touch automation to replace manual, redundant tasks
> http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk
> _______________________________________________
> Scikit-learn-general mailing list
> Scikit-learn-general@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/scikit-learn-general
>
>
------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk
_______________________________________________
Scikit-learn-general mailing list
Scikit-learn-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/scikit-learn-general