Courses are available in three formats:
-
Jupyter notebooks.
-
Python files using sphinx-gallery.
-
ReStructuredText files.
All notebooks and python files are converted into rst
format and then assembled together using sphinx.
Directories and main files:
introduction/
├── machine_learning.rst
└── python_ecosystem.rst
python_lang/ # (Python language)
├── python.py # (main file)
├── python_solutions.py
├── scripts
├── count_words.py
├── replace.py
└── word_count.csv
statistics/ # (Statistics)
├── stat_multiv.ipynb # (multivariate statistics)
├── stat_multiv_solutions.py
├── stat_univ.ipynb # (univariate statistics)
├── stat_univ_lab01_brain-volume.py # (lab)
├── stat_univ_solutions.ipynb
└── time_series.ipynb
machine_learning/ # (Machine learning)
├── clustering.ipynb
├── decomposition.ipynb
├── decomposition_solutions.ipynb
├── linear_classification.ipynb
├── linear_regression.ipynb
├── non_linear_prediction.ipynb
├── resampling.ipynb
├── resampling_solution.py
└── sklearn.ipynb
After pulling the repository execute Jupyter notebooks (outputs are expected to be removed before git submission).
make exe
Build the pdf file (requires LaTeX):
make pdf
Build the html files:
make html
Clean everything and strip output from Jupyter notebook (useless if you installed the nbstripout hook, ):
make clean
The easier is to install Anaconda at https://www.continuum.io with python >= 3. Anaconda provides
- python 3
- ipython
- Jupyter
- pandoc
- LaTeX to generate pdf
Then install:
pip install sphinx-gallery
conda install -c conda-forge nbstripout
Configure your git repository with nbstripout pre-commit hook for users who don't want to track output in VCS.
cd pystatsml
nbstripout --install
- LaTeX (optional for pdf)
For Linux debian like:
sudo apt-get install latexmk texlive-latex-extra