February 15, 2020

263 words 2 mins read

nsoojin/coursera-ml-py

Python programming assignments for Machine Learning by Prof. Andrew Ng in Coursera

repo name nsoojin/coursera-ml-py
repo link https://github.com/nsoojin/coursera-ml-py
homepage
language Python
size (curr.) 22983 kB
stars (curr.) 837
created 2017-03-21
license MIT License

Coursera Machine Learning Assignments in Python

About

If you’ve finished the amazing introductory Machine Learning on Coursera by Prof. Andrew Ng, you probably got familiar with Octave/Matlab programming. With this repo, you can re-implement them in Python, step-by-step, visually checking your work along the way, just as the course assignments.

How to start

Dependencies

This project was coded in Python 3.6

• numpy
• matplotlib
• scipy
• scikit-learn
• scikit-image
• nltk

Installation

The fastest and easiest way to install all these dependencies at once is to use Anaconda.

Important Note

There are a couple of things to keep in mind before starting.

• all column vectors from octave/matlab are flattened into a simple 1-dimensional ndarray. (e.g., y’s and thetas are no longer m x 1 matrix, just a 1-d ndarray with m elements.) So in Octave/Matlab,
``````>> size(theta)
>> (2, 1)
``````
Now, it is
``````>>> theta.shape
>>> (2, )
``````
• numpy.matrix is never used, just plain ol' numpy.ndarray

Contents

Exercise 1

• Linear Regression
• Linear Regression with multiple variables

Exercise 2

• Logistic Regression
• Logistic Regression with Regularization

Exercise 3

• Multiclass Classification
• Neural Networks Prediction fuction

Exercise 4

• Neural Networks Learning

Exercise 5

• Regularized Linear Regression
• Bias vs. Variance

Exercise 6

• Support Vector Machines
• Spam email Classifier

Exercise 7

• K-means Clustering
• Principal Component Analysis

Exercise 8

• Anomaly Detection
• Recommender Systems

Solutions

You can check out my implementation of the assignments here. I tried to vectorize all the solutions.

comments powered by Disqus