This repository hosts code and document for the RecSys Challenge 2018,
the task is about music playlist continuation using the Million Playlist Dataset (MPD).
This work adopts a matrix factorisation approach to learn latent representations of songs and playlists,
it minimises the Top Push Loss (see
code/Train.ipynb for details) for each playlist in the MPD.
To make use of this work, uncompress the MPD data and put the JSON files in
put the challenge set JSON file in
data and run the Jupyter notebooks in
in the following order:
Preprocess.ipynb, run this notebook to convert the data in JSON files into Python data structures,
Train.ipynb, run this notebook to learn the latent representations of songs and playlists,
Recommend.ipynb, run this notebook to make recommendations for playlists in the challenge set.
- Numpy, version 1.14.3
- Scipy, version 1.1.0
- Tensorflow, version 1.8.0
- PyTorch, version 0.4.0
- Jupyter, version 1.0
- tqdm, version 4.23.4
Copyright 2018 Dawei Chen. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.