This repository contains the material for the labs associated with the EPFL master course EE-558 A Network Tour of Data Science (moodle), taught in autumn 2017. Compared to the 2016 edition, the course has been refocused on graph and network sciences. It is further developed in the 2018 edition. The course material revolves around the following topics:
Below is the material you'll find in that repository:
- Practical informations
- Installation instructions
- Introduction: conda & Anaconda, Python, Jupyter, git, scientific Python
- Network properties: twitter demo, numpy demo, assignment, solution, student solution, feedback
- Network models: networkx demo, matplotlib demo, assignment, solution
- Spectral graph theory: web API and pandas demo, assignment, solution, feedback
- Data exploration and visualization demo
- Graph signal processing: demo, assignment, solution, feedback
- Concluding remarks
As a Data Science course, the above activities are realized on real networks, e.g. a social network from Twitter, that students have to collect and clean themselves.
Part of the course is evaluated by a project (see the description), proposed and carried out by groups of three to four students. Below is their work.
- [proposal, analysis, slides] American Basketball Players
- [proposal, analysis, slides] Graph-based Nutrition Guide
- [proposal, analysis, slides] What Impacts the Success of a Movie?
- [proposal, analysis, slides] Exploring the Crunchbase Dataset to Detect High Potential Startups
- [proposal, analysis, slides] Beer Suggester
- [proposal, analysis, slides] Swiss Political Survey
- [proposal, analysis, slides] A StackOverflow Recommender System
- [proposal, analysis, slides] Analysis of World Development Indicators as Predictors
- [proposal, analysis, slides] Satellites Characterization – Clustering using Orbital Characteristics
- [proposal, analysis, slides] Amazon Electronic Products – Network Analysis
- [proposal, analysis, slides] GSP on the Digital Reconstruction of the Brain
- [proposal, analysis, slides] Movie Recommendation
- [proposal, analysis, slides] GraphLang
- [proposal, analysis, slides] Buda + Pest = Budapest
- [proposal, analysis, slides] Manifold Learning of Face Data
- [proposal, analysis, slides] A Network Tour of the Tunisian and Egyptian Springs
- [proposal, analysis, slides] StackOverflow Survey
- [proposal, analysis, slides] Speech Recognition Challenge
- [proposal, analysis, slides] Analysis of the Elite Football Transfer Market
- [proposal, analysis, slides] Titanic
- [proposal, analysis, slides] This is My Jam
- [proposal, analysis, slides] A Network Tour of StackOverflow
- [proposal, analysis, slides] Course Suggester
- [proposal, analysis, slides] Spectral Analysis of 5000 Movies Network
- [proposal, analysis, slides] Community Detection on the Wikipedia Hyperlink Graph
- [proposal, analysis, slides] 3D Meshes of Facial Expression
- [proposal, analysis, slides] Terrorist Attacks
- [proposal, analysis, slides] Community Detection and Labelling in an Instagram Network
- [proposal, analysis, slides] Graph-based Recommendation for lastFM
Click the binder badge to play with the notebooks from your browser without installing anything.
For a local installation, you will need git, Python, and packages from the Python scientific stack. If you don't know how to install those on your platform, we recommend to install Miniconda, a distribution of the conda package and environment manager. Please follow the below instructions to install it and create an environment for the course.
- Download the Python 3.x installer for Windows, macOS, or Linux from
https://conda.io/miniconda.html and install with default settings. Skip
this step if you have conda already installed (from Miniconda or
Anaconda). Linux users may prefer to use their package manager.
- Windows: Double-click on the
.exe
file. - macOS: Run
bash Miniconda3-latest-MacOSX-x86_64.sh
in your terminal. - Linux: Run
bash Miniconda3-latest-Linux-x86_64.sh
in your terminal.
- Windows: Double-click on the
- Open a terminal. Windows: open the Anaconda Prompt from the Start menu.
- Install git with
conda install git
. - Download this repository by running
git clone --recurse-submodules https://github.com/mdeff/ntds_2017
. - Create an environment with the packages required for the course with
conda env create -f ntds_2017/environment.yml
.
Every time you want to work, do the following:
- Open a terminal. Windows: open the Anaconda Prompt from the Start menu.
- Activate the environment with
conda activate ntds_2017
(oractivate ntds_2017
, orsource activate ntds_2017
). - Start Jupyter with
jupyter notebook
orjupyter lab
. The command should open a new tab in your web browser. - Edit and run the notebooks from your browser.