Skip to content

pranabdas/machine-learning

Repository files navigation

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