GitHunt
PR

pranabdas/machine-learning

Machine learning and data science journey.

My Machine Learning Journey

Deploy gh-pages status

I am exploring machine learning by help of numerous resources around the web. In
this repository, I am keeping a record for myself and sharing here in case any
of you find it helpful. The concepts are discussed in this documentation page, while the steps are performed in
jupyter notebooks in this repository. Clone the repository in your computer:

git clone --depth 1 https://github.com/pranabdas/machine-learning.git

Setting up Python/Jupyter environment

We will be working on Jupyter notebooks and use Python
programming to perform our tasks. The required Python packages for this tutorial
are listed in the requirements.txt. If you have Python 3 and specified
packages installed in your computer, or know how to setup, go ahead with the
tutorials. If you have Python3 and pip installed, you
can install the required python packages using requirements.txt:

pip install --upgrade -r requirements.txt

If you prefer running python and jupyter notebook inside a Docker container, I have a Dockerfile to build
the container image. You can go through the Dockerfile and adjust according to
your needs. Build the image:

docker build -t jupyter .

We can run the container in interactive mode with shared folder and port
forwarding with the host:

docker run -ti -p 8888:8888 -v ${PWD}:/home jupyter bash

Once you are inside the container, you can launch jupyter notebook by entering
jupyter-lab and leave the container by typing exit.

You can follow the examples from the notes or go through them from the
links below.

Notebooks:

  1. Nearest neighbor (Nearest
    neighbor classification, various distance functions, K-nearest neighbors)
  2. K-nearest neighbors
    (K-nearest neighbors to classify Iris flower species)
  3. Linear regression
    (Linear regression using car price dataset, handling of missing data,
    training and test set splitting, linear regression with multiple predictor
    variable)
  4. Ridge regression (we
    will use regularizer on the above car price dataset)
  5. Logistic regression
    (predict survival of passengers in Titanic using logistic regression, binary
    encoding)
  6. Naive Bayes (Naive
    Bayes or generative model to classify UCI winery dataset)
  7. Principal Component Analysis on Iris dataset
  8. Principal Component Analysis on MNIST dataset
  9. Handwritten digit recognition using TensorFlow deep learning
  10. Image recognition using TensorFlow deep learning

Development of documentation

git clone --depth 1 https://github.com/pranabdas/machine-learning.git

Pull upstream changes when you have no local changes:

git pull

If you have local changes that you want to preserve:

git stash
git pull
git stash apply

Pull the upstream changes and override local changes (be careful if you have
important changes, in that case please make a new branch/commit and merge):

git fetch
git reset --hard origin/master

Start docusaurus server:

npm start

Build docusaurus:

npm run build

Deploy documentation to GitHub pages:

npm run gh-deploy

Upgrade npm packages:

npm upgrade

Languages

Jupyter Notebook99.5%CSS0.3%JavaScript0.2%Dockerfile0.0%Shell0.0%

Contributors

Created January 6, 2021
Updated February 15, 2026
pranabdas/machine-learning | GitHunt