Code Monkey home page Code Monkey logo

kkbox's Introduction

KKBOX CHURN CHALLENGE

This is a project carried out for the course CE4041, Machine Learning, in Nanyang Technological University (Singapore) for Semester 2 2017/18.

The project consists in predicting if a user makes or does not make (churn) a new service subscription transaction in a streaming music online platform (KKBOX) within 30 days after the membership expiration date for that user.

To do this project we used Jupyter Notebooks under Python 3.6. alt text

Developer's guide

  1. Data exploration's notebooks are stored at .\Data Exploration directory. There are 3 files for each of the datasets: transactions, user logs and members. notebooks are stored at .\Data Exploration directory.
  2. Feature Engineering's notebooks are stored at .\Feature Engineering directory.
  3. Notebooks for the training and testing of our model are stored at .\Prediction Model directory.

Get started

Installing Python and its libraries is generally easy. The installation process is shown below for Windows and Mac OS.

First of all check that you don't already have Python installed by entering python in a command line window. If it is already installed, it will show Python version.

For Windows

  1. Download and install Python 3.6 with the .exe file from here.
  2. Download and install Anaconda (package that contains Jupyter Notebooks) from here.
  3. Launch Anaconda from Windows Start Menu.
  4. Open Jupyter Notebooks and go to the folder where you have your Jupter Notebook's files.

For Mac

  1. Download and install Python 3.6 with the by typing .pkg fie from here.
  2. Download and install Jupyter Notebooks by typing into the terminal: python3 -m pip install --upgrade pip python3 -m pip install jupyter
  3. Launch Terminal and type jupyter notebook.
  4. Once Jupyter Noteboo is open, browse to the folder where you have your Jupter Notebook's files.

Libraries used

The following libraries are needed: numpy, pandas, time, sklearn, xgboost, matplotlib, mpld3, seaborn and datetime.

Note that some of them are installed together with either Anaconda or Jupyter Notebook.

Results

We achived TOP 8.5% with a Kaggle private result (log loss) of 0.11859. log_loss_score.png

Group members

  • Pablo Javier de Paz Carbajo
  • Rick Schneider
  • Maxime Kayser
  • Ragnhild Skirdal Froehaug
  • Martha Honganvik Andersen

Other useful links

kkbox's People

Contributors

pdepaz avatar rickschneider95 avatar ragfro avatar maximek3 avatar pablodepaz avatar

Forkers

pdepaz

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.