Machine Learning Notebooks
Tips & Tutorials
- A collection of not so obvious Python stuff you should know! [Jupyter Notebook]
- Python’s scope resolution for variable names and the LEGB rule [Jupyter Notebook]
- Key differences between Python 2.x and Python 3.x [Jupyter Notebook]
- A collection of useful regular expressions [Jupyter Notebook]
- A random collection of useful Python snippets [Jupyter Notebook]
Statistics
- Exploratory Data Analysis [Jupyter Notebook]
- Summary Statistics [Jupyter Notebook]
- Covariance and Correlation [Jupyter Notebook]
- Probability Mass Functions [Jupyter Notebook]
- Probability Density Functions [Jupyter Notebook]
- Least-Squares Linear Regression [Jupyter Notebook]
- Bootstrapping (Nonparametric Inference) [Jupyter Notebook]
- Hypothesis Testing Introduction [[Jupyter Notebook](https://github.com/rasbt/data-science-tutorial/blob/master/
- code/hypothesis-testing_1.ipynb)]
Scientific Computing
- Sorting CSV files using the Python csv module [Jupyter Notebook]
- Using Cython with and without IPython magic [Jupyter Notebook]
- Parallel processing via the multiprocessing module [Jupyter Notebook]
- Entry point: Data - using sci-packages to prepare data for Machine Learning tasks and other data analyses [Jupyter Notebook]
- Quick guide for dealing with missing numbers in NumPy [Jupyter Notebook]
- Converting large CSV files to SQLite databases using pandas [Jupyter Notebook]
- Sparsifying a matrix by zeroing out all elements but the top k elements in a row using NumPy [Jupyter Notebook]
- Things in pandas I wish I’d had known earlier [Jupyter Notebook]
Math & Algorithms
- Sorting Algorithms [Jupyter Notebook]
- Linear regression via the least squares fit method [Jupyter Notebook]
- Dixon’s Q test to identify outliers for small sample sizes [Jupyter Notebook]
- Rejection sampling [Jupyter Notebook]
- Counting points inside a hypercube [Jupyter Notebook]
- Vectorizing a classic for-loop in NumPy for calculating Euclidean distances [Jupyter Notebook]
- Maximum Pairwise Product [Jupyter Notebook]
- Fibonacci Numbers [Jupyter Notebook]
- Greatest Common Divisor [Jupyter Notebook ]
- Introduction to Greedy Algorithms [Jupyter Notebook]
- Introduction to Divide-and-Conquer Algorithms [ Jupyter Notebookviewer ]
Data Structures
- Singly Linked List [Jupyter Notebook]
Web
- Creating internal links in IPython Notebooks and Markdown docs [Jupyter Notebook]
- A Simple Barebones Flask Webapp Template [GitHub Dir]
Benchmarks
- 1 - Reversing strings [Jupyter Notebook]
- 2 - Calculating sample means [Jupyter Notebook]
- 3 - 6 different ways to count elements using a dict [Jupyter Notebook]
- 4.1 - Python vs. Cython vs. Numba [Jupyter Notebook]
- 4.2 - (C)Python compilers - Cython vs. Numba vs. Parakeet [Jupyter Notebook]
- 5 - Comparing 9 ways for flattening lists of sublists [Jupyter Notebook]
- 6 - Determining if a string is a number [Jupyter Notebook]
- 7.1 - Speeding up NumPy array expressions with Numexpr [Jupyter Notebook]
- 7.2 - Just-in-time compilers for NumPy array expressions [Jupyter Notebook]
- 8 - Calculating square roots and exponents [Jupyter Notebook]
- 9 - The most Pythonic way to check if a string ends with a particular substring [Jupyter Notebook]
- 10 - Cython - Bridging the gap between Python and Fortran [Jupyter Notebook]
- 11 - The
deque
container data type Jupyter Notebook] - 12 - Lightning fast insertion into sorted lists via the
bisect
module [Jupyter Notebook] - 13 - Parallel processing via the multiprocessing module [Jupyter Notebook]
- 14 - Python’s and NumPy’s in-place operator functions [Jupyter Notebook]
- 15 - Array indexing in NumPy: Extracting rows and columns [Jupyter Notebook]
- 16 - Vectorizing a classic for-loop in NumPy [Jupyter Notebook]
- 17 - Stacking NumPy arrays [Jupyter Notebook]
- 18 - The scikit-learn preprocessing module for feature scaling [Jupyter Notebook]
- 19 - Python 2.7.x’s
izip
andxrange
[Jupyter Notebook] - 20 - Calculating the difference between successive elements in a Python list [Jupyter Notebook]
Matplotlib
- 2D histograms / heat maps / levelplots [Jupyter Notebook]
- 3D Plots [Jupyter Notebook]
- Bar plots [Jupyter Notebook]
- Boxplots and Violinplots [Jupyter Notebook]
- Errorbar plots [Jupyter Notebook]
- Formatting I: subplots, markers, colors, axes [Jupyter Notebook]
- Formatting II: gridlines [Jupyter Notebook]
- Formatting III: What it takes to become a legend [Jupyter Notebook]
- Histograms [Jupyter Notebook]
- Line plots [Jupyter Notebook]
- Preparing Plots for Publication [Jupyter Notebook]
- Scatter plots [Jupyter Notebook]
- Special plots [Jupyter Notebook]
- Clustering - Heatmaps and Dendrograms [Jupyter Notebook]
- Tips and Tricks [Jupyter Notebook]