{"id":16729870,"url":"https://github.com/dfdx/lastfm-rbm","last_synced_at":"2026-02-07T12:05:18.111Z","repository":{"id":23415297,"uuid":"26777828","full_name":"dfdx/lastfm-rbm","owner":"dfdx","description":"Example of using RBM for analysis of Last.fm data","archived":false,"fork":false,"pushed_at":"2020-02-08T15:41:56.000Z","size":136,"stargazers_count":2,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-07-27T16:48:14.129Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dfdx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-11-17T21:21:23.000Z","updated_at":"2019-07-19T17:20:27.000Z","dependencies_parsed_at":"2022-07-25T10:00:06.175Z","dependency_job_id":null,"html_url":"https://github.com/dfdx/lastfm-rbm","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dfdx/lastfm-rbm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfdx%2Flastfm-rbm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfdx%2Flastfm-rbm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfdx%2Flastfm-rbm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfdx%2Flastfm-rbm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dfdx","download_url":"https://codeload.github.com/dfdx/lastfm-rbm/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfdx%2Flastfm-rbm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29194018,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T07:37:03.739Z","status":"ssl_error","status_checked_at":"2026-02-07T07:37:03.029Z","response_time":63,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-12T23:30:15.849Z","updated_at":"2026-02-07T12:05:18.094Z","avatar_url":"https://github.com/dfdx.png","language":"Julia","funding_links":[],"categories":[],"sub_categories":[],"readme":"\nApplying Bernoulli RBM to Last.fm data\n======================================\n\nThis is a short example of using Restricted Boltzmann Machines for learning internal structure of data. \nCorresponding slides may be found [here](https://docs.google.com/presentation/d/1u1GE2jhvGPLaIXVid4KUPc8hBMCINzmzQZJz9BRfFGw/edit?usp=sharing)\n\nHow to repeat the experiment\n----------------------------\n\n1. Install Julia. I used stable v0.3, didn't test on other versions (did you? let me know).\n\n2. Install libraries. In Julia prompt type:\n\n        Pkg.add(\"DataFrames\")\n        Pkg.add(\"HDF5\")\n        Pkg.clone(\"git@github.com:faithlessfriend/Boltzmann.jl.git\")\n\n3. Download dataset from [here](http://mtg.upf.edu/node/1671).\n\n4. Update `DATA_DIR` in `data.jl` to reflect path to the dataset (one day I'll re-work this stuff... one day...).\n\n5. Prepare data. From Julia prompt, load `prepare.jl` and then call:\n\n        prepare()\n\n6. Fit model. From Julia prompt, load `fit.jl` and call: \n\n        fit_and_save()\n\n7. Load model and analyse. From Julia prompt, load `analysis.jl` and type:\n\n        model, artists = load_fitted()\n        W = components(model)\n        # do analysis\n    \n    \n\nI'm not a freak like you, can I use other tools?\n------------------------------------------------\n\nJulia 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](https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/neural_network/rbm.py)) should work as well. Also see [Pylearn2](https://github.com/lisa-lab/pylearn2/) for more deep learning oriented library.\n\n\n**Found an error in this README? Report an issue!**","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfdx%2Flastfm-rbm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdfdx%2Flastfm-rbm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfdx%2Flastfm-rbm/lists"}