#!/usr/bin/env python
# coding: utf-8
# 
#
# **Tutorials, examples, collections, and everything else that falls into the categories: pattern classification, machine learning, and data mining.**
#
# # Table of Contents
# - [Introduction to Machine Learning and Pattern Classification](#Introduction-to-Machine-Learning-and-Pattern-Classification)
# - [Pre-Processing](#Pre-Processing)
# - [Model Evaluation](#Model-Evaluation)
# - [Parameter Estimation](#Parameter-Estimation)
# - [Machine Learning Algorithms](#Machine-Learning-Algorithms)
# - [Bayes Classification](#Bayes-Classification)
# - [Logistic Regression](#Logistic-Regression)
# - [Neural Networks](#Neural-Networks)
# - [Ensemble Methods](#Ensemble-Methods)
# - [Statistical Pattern Classification Examples](#Statistical-Pattern-Classification-Examples)
# - [Clustering](#Clustering)
# - [Collecting Data](#Collecting-Data)
# - [Resources](#Resources)
# # Introduction to Machine Learning and Pattern Classification
# * Predictive modeling, supervised machine learning, and pattern classification - the big picture [[Markdown]](machine_learning/supervised_intro/introduction_to_supervised_machine_learning.md)
# * Entry Point: Data - Using Python's sci-packages to prepare data for Machine Learning tasks and other data analyses [[IPython nb]](machine_learning/scikit-learn/python_data_entry_point.ipynb)
# * An Introduction to simple linear supervised classification using `scikit-learn` [[IPython nb]](machine_learning/scikit-learn/scikit_linear_classification.ipynb)
# # Pre-Processing
# * **Feature Extraction**
# * Tips and Tricks for Encoding Categorical Features in Classification Tasks [[IPython nb]](preprocessing/feature_encoding.ipynb)
# * **Scaling and Normalization**
# * About Feature Scaling: Standardization and Min-Max-Scaling (Normalization) [[IPython nb]](preprocessing/about_standardization_normalization.ipynb)
# * **Feature Selection**
# * Sequential Feature Selection Algorithms [[IPython nb]](dimensionality_reduction/feature_selection/sequential_selection_algorithms.ipynb)
# * **Dimensionality Reduction**
# * Principal Component Analysis (PCA) [[IPython nb]](dimensionality_reduction/projection/principal_component_analysis.ipynb)
# * PCA based on the covariance vs. correlation matrix [[IPython nb]](dimensionality_reduction/projection/pca_cov_cor.ipynb)
# * Linear Discriminant Analysis (LDA) [[IPython nb]](dimensionality_reduction/projection/linear_discriminant_analysis.ipynb)
# * The effect of scaling and mean centering of variables prior to a PCA [[PDF]](./dimensionality_reduction/projection/scale_center_pca/scale_center_pca.pdf)
# * Kernel tricks and nonlinear dimensionality reduction via PCA [[IPython nb]](dimensionality_reduction/projection/kernel_pca.ipynb)
# * **Representing Text**
# * Tf-idf Walkthrough for scikit-learn [[IPython nb](./machine_learning/scikit-learn/tfidf_scikit-learn.ipynb)]
# # Model Evaluation
# * An Overview of General Performance Metrics of Binary Classifier Systems [[PDF](./evaluation/performance_metrics/performance_metrics.pdf)]
# * **Cross-Validation**
# * Streamline your cross-validation workflow - scikit-learn's Pipeline in action [[IPython nb]](machine_learning/scikit-learn/scikit-pipeline.ipynb)
# * Model evaluation, model selection, and algorithm selection in machine learning - Part I [[Markdown]](./evaluation/model-evaluation/model-evaluation-selection-part1.md)
# * Model evaluation, model selection, and algorithm selection in machine learning - Part II [[Markdown]](./evaluation/model-evaluation/model-evaluation-selection-part2.md)
# # Parameter Estimation
# * **Parametric Techniques**
# * Introduction to the Maximum Likelihood Estimate (MLE) [[IPython nb]](parameter_estimation_techniques/maximum_likelihood_estimate.ipynb)
# * How to calculate Maximum Likelihood Estimates (MLE) for different distributions [[IPython nb]](parameter_estimation_techniques/max_likelihood_est_distributions.ipynb)
#
# * **Non-Parametric Techniques**
# * Kernel density estimation via the Parzen-window technique [[IPython nb]](parameter_estimation_techniques/parzen_window_technique.ipynb)
# * The K-Nearest Neighbor (KNN) technique
#
# * **Regression Analysis**
# * Linear Regression
# * Least-Squares fit [[IPython nb]](data_fitting/regression/linregr_least_squares_fit.ipynb)
# * Non-Linear Regression
# # Machine Learning Algorithms
# #### Bayes Classification
#
# - Naive Bayes and Text Classification I - Introduction and Theory [[View PDF](http://sebastianraschka.com/PDFs/articles/naive_bayes_1.pdf)] [[Download PDF](./machine_learning/naive_bayes_1/tex/naive_bayes_1.pdf)]
#
# #### Logistic Regression
#
# - Out-of-core Learning and Model Persistence using scikit-learn
# [[IPython nb](./machine_learning/scikit-learn/outofcore_modelpersistence.ipynb)]
#
# #### Neural Networks
#
# - Artificial Neurons and Single-Layer Neural Networks - How Machine Learning Algorithms Work Part 1 [[IPython nb](./machine_learning/singlelayer_neural_networks/singlelayer_neural_networks.ipynb)]
#
# - Activation Function Cheatsheet [[IPython nb](./machine_learning/neural_networks/ipynb/activation_functions.ipynb)]
#
# #### Ensemble Methods
#
# - Implementing a Weighted Majority Rule Ensemble Classifier in scikit-learn [[IPython nb](./machine_learning/scikit-learn/ensemble_classifier.ipynb)]
#
# #### Decision Trees
#
# - Cheatsheet for Decision Tree Classification [[IPython nb]('./machine_learning/decision_trees/decision-tree-cheatsheet.ipynb')]
# # Clustering
# - **Protoype-based clustering**
# - **Hierarchical clustering**
# - Complete-Linkage Clustering and Heatmaps in Python [[IPython nb](./clustering/hierarchical/clust_complete_linkage.ipynb)]
# - **Density-based clustering**
# - **Graph-based clustering**
# - **Probabilistic-based clustering**
# # Collecting Data
# - Collecting Fantasy Soccer Data with Python and Beautiful Soup [[IPython nb](./data_collecting/parse_dreamteamfc_data.ipynb)]
#
# - Download Your Twitter Timeline and Turn into a Word Cloud Using Python [[IPython nb](./data_collecting/twitter_wordcloud.ipynb)]
#
# - Reading MNIST into NumPy arrays [[IPython nb](./data_collecting/reading_mnist.ipynb)]
# # Statistical Pattern Classification Examples
# * **Supervised Learning**
# * Parametric Techniques
# * Univariate Normal Density
# * Ex1: 2-classes, equal variances, equal priors [[IPython nb]](stat_pattern_class/supervised/parametric/1_stat_superv_parametric.ipynb)
# * Ex2: 2-classes, different variances, equal priors [[IPython nb]](stat_pattern_class/supervised/parametric/2_stat_superv_parametric.ipynb)
# * Ex3: 2-classes, equal variances, different priors [[IPython nb]](stat_pattern_class/supervised/parametric/3_stat_superv_parametric.ipynb)
# * Ex4: 2-classes, different variances, different priors, loss function [[IPython nb]](stat_pattern_class/supervised/parametric/4_stat_superv_parametric.ipynb)
# * Ex5: 2-classes, different variances, equal priors, loss function, cauchy distr.[[IPython nb]](stat_pattern_class/supervised/parametric/5_stat_superv_parametric.ipynb)
#
# * Multivariate Normal Density
# * Ex5: 2-classes, different variances, equal priors, loss function [[IPython nb]](stat_pattern_class/supervised/parametric/5_stat_superv_parametric.ipynb)
# * Ex7: 2-classes, equal variances, equal priors [[IPython nb]](stat_pattern_class/supervised/parametric/7_stat_superv_parametric.ipynb)
#
# * Non-Parametric Techniques
# # Resources
# * Matplotlib examples - Visualization techniques for exploratory data analysis [[IPython nb]](resources/matplotlib_viz_gallery.ipynb)
#
# * Copy-and-paste ready LaTex equations [[Markdown]](resources/latex_equations.md)
#
# * Open-source datasets [[Markdown]](resources/dataset_collections.md)
#
# * Free Machine Learning eBooks [[Markdown]](resources/machine_learning_ebooks.md)
#
# * Terms in data science defined in less than 50 words [[Markdown]](resources/data_glossary.md)
#
# * Useful libraries for data science in Python [[Markdown]](resources/python_data_libraries.md)
#
# * General Tips and Advices [[Markdown]](resources/general_tips_and_advices.md)
#
# * A matrix cheatsheat for Python, R, Julia, and MATLAB [[HTML]](http://sebastianraschka.com/github/pattern_classification/matrix_cheatsheet_table.html)