tirthajyoti/MachineLearningwithPython
Practice and tutorialstyle notebooks covering wide variety of machine learning techniques
repo name  tirthajyoti/MachineLearningwithPython 
repo link  https://github.com/tirthajyoti/MachineLearningwithPython 
homepage  https://machinelearningwithpython.readthedocs.io/en/latest/ 
language  Jupyter Notebook 
size (curr.)  95217 kB 
stars (curr.)  1188 
created  20170717 
license  BSD 2Clause “Simplified” License 
Python Machine Learning Jupyter Notebooks (ML website)
Dr. Tirthajyoti Sarkar, Fremont, California (Please feel free to connect on LinkedIn here)
Requirements
 Python 3.6+
 NumPy (
pip install numpy
)  Pandas (
pip install pandas
)  Scikitlearn (
pip install scikitlearn
)  SciPy (
pip install scipy
)  Statsmodels (
pip install statsmodels
)  MatplotLib (
pip install matplotlib
)  Seaborn (
pip install seaborn
)  Sympy (
pip install sympy
)  Flask (
pip install flask
)  WTForms (
pip install wtforms
)  Tensorflow (
pip install tensorflow>=1.15
)  Keras (
pip install keras
)  pdpipe (
pip install pdpipe
)
You can start with this article that I wrote in Heartbeat magazine (on Medium platform):
“Some Essential Hacks and Tricks for Machine Learning with Python”
Essential tutorialtype notebooks on Pandas and Numpy
Jupyter notebooks covering a wide range of functions and operations on the topics of NumPy, Pandans, Seaborn, Matplotlib etc.
 Detailed Numpy operations
 Detailed Pandas operations
 Numpy and Pandas quick basics
 Matplotlib and Seaborn quick basics
 Advanced Pandas operations
 How to read various data sources
 PDF reading and table processing demo
 How fast are Numpy operations compared to pure Python code? (Read my article on Medium related to this topic)
 Fast reading from Numpy using .npy file format (Read my article on Medium on this topic)
Tutorialtype notebooks covering regression, classification, clustering, dimensionality reduction, and some basic neural network algorithms
Regression

Simple linear regression with tstatistic generation

Multiple ways to perform linear regression in Python and their speed comparison (check the article I wrote on freeCodeCamp)

Polynomial regression using scikitlearn pipeline feature (check the article I wrote on Towards Data Science)

Decision trees and Random Forest regression (showing how the Random Forest works as a robust/regularized metaestimator rejecting overfitting)

Detailed visual analytics and goodnessoffit diagnostic tests for a linear regression problem

Robust linear regression using
HuberRegressor
from Scikitlearn
Classification

Logistic regression/classification (Here is the Notebook)

knearest neighbor classification (Here is the Notebook)

Decision trees and Random Forest Classification (Here is the Notebook)

Support vector machine classification (Here is the Notebook) (check the article I wrote in Towards Data Science on SVM and sorting algorithm)
 Naive Bayes classification (Here is the Notebook)
Clustering

Kmeans clustering (Here is the Notebook)

Affinity propagation (showing its time complexity and the effect of damping factor) (Here is the Notebook)

Meanshift technique (showing its time complexity and the effect of noise on cluster discovery) (Here is the Notebook)

DBSCAN (showing how it can generically detect areas of high density irrespective of cluster shapes, which the kmeans fails to do) (Here is the Notebook)

Hierarchical clustering with Dendograms showing how to choose optimal number of clusters (Here is the Notebook)
Dimensionality reduction
 Principal component analysis
Deep Learning/Neural Network
 Demo notebook to illustrate the superiority of deep neural network for complex nonlinear function approximation task
 Stepbystep building of 1hiddenlayer and 2hiddenlayer dense network using basic TensorFlow methods
Random data generation using symbolic expressions

How to use Sympy package to generate random datasets using symbolic mathematical expressions.

Here is my article on Medium on this topic: Random regression and classification problem generation with symbolic expression
Simple deployment examples (serving ML models on web API)

Serving a linear regression model through a simple HTTP server interface. User needs to request predictions by executing a Python script. Uses
Flask
andGunicorn
. 
Serving a recurrent neural network (RNN) through a HTTP webpage, complete with a web form, where users can input parameters and click a button to generate text based on the pretrained RNN model. Uses
Flask
,Jinja
,Keras
/TensorFlow
,WTForms
.
Objectoriented programming with machine learning
Implementing some of the core OOP principles in a machine learning context by building your own Scikitlearnlike estimator, and making it better.
See my articles on Medium on this topic.