Skip to content

Practice and tutorial-style notebooks covering wide variety of machine learning techniques

License

Notifications You must be signed in to change notification settings

tirthajyoti/Machine-Learning-with-Python

Folders and files

NameName
Last commit message
Last commit date
Aug 28, 2020
Aug 26, 2019
Sep 4, 2019
Sep 19, 2019
May 29, 2019
Aug 30, 2019
Sep 14, 2022
Oct 8, 2018
Sep 3, 2021
May 23, 2021
Jul 31, 2019
Jul 30, 2021
Apr 24, 2021
Jun 27, 2019
Apr 19, 2021
Aug 25, 2019
Jul 30, 2020
Jul 29, 2019
Jan 9, 2022
Oct 22, 2021
Apr 11, 2020
Sep 6, 2019
Jul 17, 2017
Dec 13, 2017
Jan 12, 2018
Jul 17, 2017
Jan 9, 2022
Nov 15, 2018

Repository files navigation

License GitHub forks GitHub stars PRs Welcome

Python Machine Learning Jupyter Notebooks (ML website)

Dr. Tirthajyoti Sarkar, Fremont, California (Please feel free to connect on LinkedIn here)

ml-ds


Also check out these super-useful Repos that I curated

Requirements

  • Python 3.6+
  • NumPy (pip install numpy)
  • Pandas (pip install pandas)
  • Scikit-learn (pip install scikit-learn)
  • 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):

Essential tutorial-type notebooks on Pandas and Numpy

Jupyter notebooks covering a wide range of functions and operations on the topics of NumPy, Pandans, Seaborn, Matplotlib etc.

Tutorial-type notebooks covering regression, classification, clustering, dimensionality reduction, and some basic neural network algorithms

Regression

  • Simple linear regression with t-statistic generation


Classification


Clustering

  • K-means clustering (Here is the Notebook)

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

  • Mean-shift 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 k-means 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


Random data generation using symbolic expressions


Synthetic data generation techniques

Simple deployment examples (serving ML models on web API)


Object-oriented programming with machine learning

Implementing some of the core OOP principles in a machine learning context by building your own Scikit-learn-like estimator, and making it better.

See my articles on Medium on this topic.


Unit testing ML code with Pytest

Check the files and detailed instructions in the Pytest directory to understand how one should write unit testing code/module for machine learning models


Memory and timing profiling

Profiling data science code and ML models for memory footprint and computing time is a critical but often overlooed area. Here are a couple of Notebooks showing the ideas,