All Projects → mdeff → ntds_2016

mdeff / ntds_2016

Licence: MIT License
Material for the EPFL master course "A Network Tour of Data Science", edition 2016.

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language
javascript
184084 projects - #8 most used programming language
c
50402 projects - #5 most used programming language
TeX
3793 projects
Makefile
30231 projects

Projects that are alternatives of or similar to ntds 2016

Ntds 2017
Material for the EPFL master course "A Network Tour of Data Science", edition 2017.
Stars: ✭ 61 (-36.46%)
Mutual labels:  education, graphs
ntds 2019
Material for the EPFL master course "A Network Tour of Data Science", edition 2019.
Stars: ✭ 62 (-35.42%)
Mutual labels:  epfl, graphs
ntds 2018
Material for the EPFL master course "A Network Tour of Data Science", edition 2018.
Stars: ✭ 59 (-38.54%)
Mutual labels:  epfl, graphs
5MinuteFinance
Interactive Presentations for Financial Education using R/Shiny. See full list of presentations (with links) below.
Stars: ✭ 69 (-28.12%)
Mutual labels:  education
graffeine
Simple, modular graphs for iOS.
Stars: ✭ 22 (-77.08%)
Mutual labels:  graphs
callgraph
Magic to display dynamic call graphs of Python function calls
Stars: ✭ 53 (-44.79%)
Mutual labels:  education
bash-course
Material for the advanced bash scripting course at Heidelberg University
Stars: ✭ 35 (-63.54%)
Mutual labels:  education
fermor
Fast, powerful, general-purpose graph traversal and modelling tools plus a performant immutable in-memory graph database.
Stars: ✭ 22 (-77.08%)
Mutual labels:  graphs
awesome-physics
🏄 A list of awesome resources I used to study Physics.
Stars: ✭ 27 (-71.87%)
Mutual labels:  education
visa-chart-components
Visa Chart Components (VCC) is an accessibility focused, framework agnostic set of data experience design systems components for the web. VCC attempts to provide a toolset to enable developers to build equal data experiences for everyone, everywhere.
Stars: ✭ 81 (-15.62%)
Mutual labels:  graphs
Raspberry-Pi-Electricity-Monitor
Software for monitoring the electricity consumption of a home with a Raspberry Pi
Stars: ✭ 33 (-65.62%)
Mutual labels:  graphs
Algorithms
Free hands-on course with the implementation (in Python) and description of several computational, mathematical and statistical algorithms.
Stars: ✭ 117 (+21.88%)
Mutual labels:  graphs
Engagement-Recognition
Automatic Recognition of Student Engagement using Deep Learning and Facial Expression
Stars: ✭ 44 (-54.17%)
Mutual labels:  education
Java
All Examples for learning Java programming and algorithms
Stars: ✭ 14 (-85.42%)
Mutual labels:  education
web-development-101
Практическое введение во все инструменты, необходимые для создания рабочих веб-сайтов.
Stars: ✭ 21 (-78.12%)
Mutual labels:  education
resources
Resource Library of IEEE-VIT
Stars: ✭ 33 (-65.62%)
Mutual labels:  education
ITP-IMA-Code-of-Conduct
The ITP/IMA Code of Conduct is an evolving work-in-progress document that establishes and communicates the commitment of the ITP/IMA community to uphold a key set of standards and obligations that aim to make ITP/IMA an inclusive and welcoming environment.
Stars: ✭ 26 (-72.92%)
Mutual labels:  education
tg2021task
Participant Kit for the TextGraphs-15 Shared Task on Explanation Regeneration
Stars: ✭ 18 (-81.25%)
Mutual labels:  graphs
data-mining-course
An undergraduate course on data mining.
Stars: ✭ 24 (-75%)
Mutual labels:  education
Prelude
A web app for practicing musical sight reading skills
Stars: ✭ 24 (-75%)
Mutual labels:  education

A Network Tour of Data Science, edition 2016

Binder

This repository contains the material for the practical work associated with the EPFL master course EE-558 A Network Tour of Data Science (moodle), taught in fall 2016. The course material revolves around the following topics: Data Science, Machine Learning, Deep Learning, Graph Signal Processing.

Theoretical knowledge is taught during lectures. Practical knowledge is taught through exercises. Both are practiced and evaluated through four assignments and a semester project.

Look at the 2017, 2018, and 2019 editions for a course more focused on graphs and networks (instead of deep learning).

Content

There is two types of exercises.

The Data Scientist toolkit, a set of tools, mostly in Python, to help during the Data Science process.

  1. Introduction.
  2. Data acquisition & exploration: demo, exercise, solution.
  3. Data exploitation: demo, exercise, solution.
  4. High Performance Computing: exercise, solution.
  5. Data visualization: exercise, solution.

Machine Learning (ML) & Graph Signal Processing (GSP) algorithms. These exercises are designed so as to familiarize yourself with the algorithms presented in class.

  1. Graph Science: exercise, solution.
  2. Clustering: exercise, solution, assignment, solution.
  3. Classification: exercise, solution.
  4. TensorFlow: exercise, solution.
  5. Neural Networks: assignment, solution.
  6. Recurrent Neural Networks: assignment, solution.
  7. Graph Fourier Transform: exercise, solution.
  8. Transductive Learning using Graphs: assignment, solution.

Projects

Part of the course is evaluated by a project, proposed and carried out by groups of one to three students. Below is the work of the 38 students enrolled that year.

projects

Installation with Docker

The easiest way to play with the code is to run it inside a docker container, a lightweight virtualization method.

  1. Install Docker on your Windows, Mac or Linux machine.

  2. Run the image, which is automatically updated from this git repository.

    docker pull mdeff/ntds_2016  # to update it
    docker run --rm -i -p 8871:8888 -v ~/:/data/mount mdeff/ntds_2016
  3. Access the container's Jupyter notebook at http://localhost:8871. There you'll find two folders:

    • repo contains a copy of this git repository. Nothing you modify in this folder is persistent. If you want to keep your modifications, use File, Download as, Notebook in the Jupyter interface.
    • mount contains a view of your home directory, from which you can persistently modify any of your files.

    Windows and Mac users may need to redirect the port in VirtualBox.

Container modification

If you want to use it for your projects and need additional software or Python packages, you'll need to install them into the container.

  1. Create your named container.

    docker run -i -p 8871:8888 -v ~/:/data/mount --name myproject mdeff/ntds_2016
  2. Once you stop it, you'll be able to start it again with docker start myproject.

  3. In another terminal, install packages while the container is running.

    docker exec -i myproject /bin/bash
    pip install mypackage
    apt-get install myotherpackage

Manual installation

Warning: this may be problematic for Windows users, as TensorFlow does not support Windows yet.

  1. Install Python.

    • Windows: we recommend to install Anaconda. Please install version 3.5. Most of the packages we'll use during the exercises are included in the distribution. An other option is the Windows Subsystem for Linux, available on Windows 10, which allows you to install packages as if you were on Ubuntu.
    • Mac: we recommend that you use the Homebrew package manager and install Python with brew install python3. You can also use Anaconda.
    • Linux: please use your package manager to install the latest Python 3.x.
  2. Clone the course repository. You may need to first install git.

    git clone https://github.com/mdeff/ntds_2016.git
    cd ntds_2016
  3. Optionally, create a virtual environment.

    pyvenv /path/to/new/virtual/env
    . /path/to/new/virtual/env/bin/activate

    A virtual environment allows you to install a different set of packages for each of your Python project. Each project thus stays cleanly separated from each other. It is a good practice but by no means necessary. You can read more about virtual environments on this blog post. Anaconda users, see here.

  4. Install the packages we'll use from PyPI, the Python Package Index.

    pip install -r requirements.txt  # or make install
    • If it fails, it is probably because you need to install some native packages with your package manager. Please read the error messages and remember, Google is your friend ! You may look at the dockerfile to get an idea of which setup is necessary on a Debian / Ubuntu system.

    • Depending on your installation, pip may refer to Python 2 (you can verify with pip -V). In that case, use pip3 instead of pip.

    • Anaconda users can also install packages with conda install packname. See here for your options.

  5. Verify that you have a working installation by running a simple test. Again, you may need to call python3.

    python check_install.py  # or make test
    • If you are on Windows with Anaconda and get WARNING (theano.configdefaults): g++ not detected!, you may want to install mingw-w64 with conda install mingw libpython. Otherwise your Deep Learning models will run extremly slowly. This may however not work for Python 3.5, see this GitHub issue for a workaround.
  6. Open the jupyter web interface and play with the notebooks !

    jupyter notebook

Team

License

All codes and examples are released under the terms of the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].