dfdx / lastfm-rbm

Example of using RBM for analysis of Last.fm data

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Applying Bernoulli RBM to Last.fm data

This is a short example of using Restricted Boltzmann Machines for learning internal structure of data. Corresponding slides may be found here

How to repeat the experiment

  1. Install Julia. I used stable v0.3, didn't test on other versions (did you? let me know).

  2. Install libraries. In Julia prompt type:

     Pkg.add("DataFrames")
     Pkg.add("HDF5")
     Pkg.clone("git@github.com:faithlessfriend/Boltzmann.jl.git")
    
  3. Download dataset from here.

  4. Update DATA_DIR in data.jl to reflect path to the dataset (one day I'll re-work this stuff... one day...).

  5. Prepare data. From Julia prompt, load prepare.jl and then call:

     prepare()
    
  6. Fit model. From Julia prompt, load fit.jl and call:

     fit_and_save()
    
  7. Load model and analyse. From Julia prompt, load analysis.jl and type:

     model, artists = load_fitted()
     W = components(model)
     # do analysis
    

I'm not a freak like you, can I use other tools?

Julia is a wonderful programming language, but it's still on its way up. If you want to use something more stable and mature, Pandas and SciKit Learn (e.g. see BernoulliRBM) should work as well. Also see Pylearn2 for more deep learning oriented library.

Found an error in this README? Report an issue!

About

Example of using RBM for analysis of Last.fm data

License:MIT License


Languages

Language:Julia 100.0%