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
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.
- Nearest neighbor (Nearest neighbor classification, various distance functions, K-nearest neighbors)
- K-nearest neighbors (K-nearest neighbors to classify Iris flower species)
- Linear regression (Linear regression using car price dataset, handling of missing data, training and test set splitting, linear regression with multiple predictor variable)
- Ridge regression (we will use regularizer on the above car price dataset)
- Logistic regression (predict survival of passengers in Titanic using logistic regression, binary encoding)
- Naive Bayes (Naive Bayes or generative model to classify UCI winery dataset)
- Principal Component Analysis on Iris dataset
- Principal Component Analysis on MNIST dataset
- Handwritten digit recognition using TensorFlow deep learning
- Image recognition using TensorFlow deep learning
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
Note: Currently (08/Apr/2021) upgrading might break katex. Latest version of
remark-math
(which requires remark v13
) does not work with latest version of
docusaurus
(which depends on remark v12
). As of now the supported version is
remark-math@3
.