<commit_before># A Network Tour of Data Science

This repository contains the exercises for the EPFL master course
[A Network Tour of Data Science][epfl]. There is two types of exercises.

[epfl]: http://edu.epfl.ch/coursebook/en/a-network-tour-of-data-science-EE-558

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

1. [Introduction][00_intro].
2. Data acquisition & exploration: [demo][01_demo], [exercise][01_ex], [solution][01_sol].
3. Data exploitation: demo, exercise.
4. High Performance Computing: demo, exercise.
5. Cloud: demo, exercise.
6. Graph tools: demo, exercise.

**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.
2. Clustering: exercise.
3. Classification: exercise.
4. Neural Networks: exercise.
5. Signal Processing on Graphs: exercise.
6. Sketching and other randomized approaches: exercise.

[algorithms]: http://nbviewer.jupyter.org/github/mdeff/ntds_2016/tree/with_outputs/algorithms
[toolkit]:    http://nbviewer.jupyter.org/github/mdeff/ntds_2016/tree/with_outputs/toolkit
[00_intro]:   http://nbviewer.jupyter.org/github/mdeff/ntds_2016/blob/with_outputs/toolkit/00_introduction.ipynb
[01_demo]:    http://nbviewer.jupyter.org/github/mdeff/ntds_2016/blob/with_outputs/toolkit/01_demo_acquisition_exploration.ipynb
[01_ex]:      http://nbviewer.jupyter.org/github/mdeff/ntds_2016/blob/with_outputs/toolkit/01_ex_acquisition_exploration.ipynb
[01_sol]:     http://nbviewer.jupyter.org/github/mdeff/ntds_2016/blob/with_outputs/toolkit/01_sol_acquisition_exploration.ipynb

## Installation

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][wsl],
	  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].
   ```sh
   git clone https://github.com/mdeff/ntds_2016.git
   cd ntds_2016
   ```

3. Optionally, create a [virtual environment][venv]. 
   ```sh
   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][venv_blog]. Anaconda
   > users, see [here][conda_venv].

4. Install the packages we'll use from [PyPI], the Python Package Index.<commit_msg>readme: add links<commit_after># A Network Tour of Data Science

This repository contains the exercises for the EPFL master course
[A Network Tour of Data Science][epfl]. There is two types of exercises.

[epfl]: http://edu.epfl.ch/coursebook/en/a-network-tour-of-data-science-EE-558

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

1. [Introduction][00_intro].
2. Data acquisition & exploration: [demo][01_demo], [exercise][01_ex], [solution][01_sol].
3. Data exploitation: demo, exercise.
4. High Performance Computing: demo, exercise.
5. Cloud: demo, exercise.
6. Graph tools: demo, exercise.

[toolkit]:    http://nbviewer.jupyter.org/github/mdeff/ntds_2016/tree/with_outputs/toolkit
[00_intro]:   http://nbviewer.jupyter.org/github/mdeff/ntds_2016/blob/with_outputs/toolkit/00_introduction.ipynb
[01_demo]:    http://nbviewer.jupyter.org/github/mdeff/ntds_2016/blob/with_outputs/toolkit/01_demo_acquisition_exploration.ipynb
[01_ex]:      http://nbviewer.jupyter.org/github/mdeff/ntds_2016/blob/with_outputs/toolkit/01_ex_acquisition_exploration.ipynb
[01_sol]:     http://nbviewer.jupyter.org/github/mdeff/ntds_2016/blob/with_outputs/toolkit/01_sol_acquisition_exploration.ipynb

**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][01_ex].
2. Clustering: [exercise][02_ex], [assignment][02_ass].
3. Classification: exercise.
4. Neural Networks: exercise.
5. Signal Processing on Graphs: exercise.
6. Sketching and other randomized approaches: exercise.

[algorithms]: http://nbviewer.jupyter.org/github/mdeff/ntds_2016/tree/with_outputs/algorithms
[01_ex]:      http://nbviewer.jupyter.org/github/mdeff/ntds_2016/blob/with_outputs/algorithms/01_ex_graph_science.ipynb
[02_ex]:      http://nbviewer.jupyter.org/github/mdeff/ntds_2016/blob/with_outputs/algorithms/02_ex_clustering.ipynb
[02_ass]:     http://nbviewer.jupyter.org/github/mdeff/ntds_2016/blob/with_outputs/algorithms/02_ass_clustering.ipynb

## Installation

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][wsl],
	  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].
   ```sh
   git clone https://github.com/mdeff/ntds_2016.git
   cd ntds_2016
   ```

3. Optionally, create a [virtual environment][venv]. 
   ```sh
   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][venv_blog]. Anaconda
   > users, see [here][conda_venv].

4. Install the packages we'll use from [PyPI], the Python Package Index.
{'fraction_non_alphanumeric': 0.10514955288313291, 'fraction_numerical': 0.02960222016651249, 'mean_word_length': 4.383402489626556, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 13, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4949537', 'n_tokens_mistral': 2222, 'n_tokens_neox': 2051, 'n_words': 646}