All Projects → faridcher → Ml Course

faridcher / Ml Course

Starter code of Prof. Andrew Ng's machine learning MOOC in R statistical language

Programming Languages

r
7636 projects

Projects that are alternatives of or similar to Ml Course

models-by-example
By-hand code for models and algorithms. An update to the 'Miscellaneous-R-Code' repo.
Stars: ✭ 43 (-72.08%)
Mutual labels:  linear-regression, pca, gradient-descent
GDLibrary
Matlab library for gradient descent algorithms: Version 1.0.1
Stars: ✭ 50 (-67.53%)
Mutual labels:  svm, linear-regression, gradient-descent
Alink
Alink is the Machine Learning algorithm platform based on Flink, developed by the PAI team of Alibaba computing platform.
Stars: ✭ 2,936 (+1806.49%)
Mutual labels:  clustering, classification, recommender-system
Tensorflow Book
Accompanying source code for Machine Learning with TensorFlow. Refer to the book for step-by-step explanations.
Stars: ✭ 4,448 (+2788.31%)
Mutual labels:  classification, linear-regression, clustering
2018 Machinelearning Lectures Esa
Machine Learning Lectures at the European Space Agency (ESA) in 2018
Stars: ✭ 280 (+81.82%)
Mutual labels:  linear-regression, pca, clustering
Machine Learning With Python
Python code for common Machine Learning Algorithms
Stars: ✭ 3,334 (+2064.94%)
Mutual labels:  svm, linear-regression, pca
Machine-Learning-Models
In This repository I made some simple to complex methods in machine learning. Here I try to build template style code.
Stars: ✭ 30 (-80.52%)
Mutual labels:  svm, linear-regression, pca
Tiny ml
numpy 实现的 周志华《机器学习》书中的算法及其他一些传统机器学习算法
Stars: ✭ 129 (-16.23%)
Mutual labels:  classification, svm, clustering
Fuku Ml
Simple machine learning library / 簡單易用的機器學習套件
Stars: ✭ 280 (+81.82%)
Mutual labels:  classification, svm, linear-regression
Tensorflow cookbook
Code for Tensorflow Machine Learning Cookbook
Stars: ✭ 5,984 (+3785.71%)
Mutual labels:  classification, svm, linear-regression
Machine Learning With Python
Practice and tutorial-style notebooks covering wide variety of machine learning techniques
Stars: ✭ 2,197 (+1326.62%)
Mutual labels:  classification, clustering
Nlp Journey
Documents, papers and codes related to Natural Language Processing, including Topic Model, Word Embedding, Named Entity Recognition, Text Classificatin, Text Generation, Text Similarity, Machine Translation),etc. All codes are implemented intensorflow 2.0.
Stars: ✭ 1,290 (+737.66%)
Mutual labels:  classification, svm
Machine learning code
机器学习与深度学习算法示例
Stars: ✭ 88 (-42.86%)
Mutual labels:  svm, clustering
Ml
A high-level machine learning and deep learning library for the PHP language.
Stars: ✭ 1,270 (+724.68%)
Mutual labels:  classification, clustering
Neuroflow
Artificial Neural Networks for Scala
Stars: ✭ 105 (-31.82%)
Mutual labels:  classification, clustering
Augmentedgaussianprocesses.jl
Gaussian Process package based on data augmentation, sparsity and natural gradients
Stars: ✭ 99 (-35.71%)
Mutual labels:  classification, svm
Isl Python
Solutions to labs and excercises from An Introduction to Statistical Learning, as Jupyter Notebooks.
Stars: ✭ 108 (-29.87%)
Mutual labels:  linear-regression, pca
Dat8
General Assembly's 2015 Data Science course in Washington, DC
Stars: ✭ 1,516 (+884.42%)
Mutual labels:  linear-regression, clustering
Sinaweibo Emotion Classification
新浪微博情感分析应用
Stars: ✭ 118 (-23.38%)
Mutual labels:  classification, svm
Stringlifier
Stringlifier is on Opensource ML Library for detecting random strings in raw text. It can be used in sanitising logs, detecting accidentally exposed credentials and as a pre-processing step in unsupervised ML-based analysis of application text data.
Stars: ✭ 85 (-44.81%)
Mutual labels:  classification, clustering

Introduction

This is one of the best massive online open courses (MOOC) on machine learning and is taught by Prof. Andrew NG. However, Prof. NG teaches the course along with MATLAB/Octave and the assignments must be done and submitted in MATLAB/Octave. Do you like the course but not the proprietary MATLAB or the sluggish Octave? Or for any reason, would you rather to use the free GNU R to complete the assignments? This project is your answer.

To view the lecture videos, slides and assignments instructions visit the course website and its wiki page. This repository provides the starter code to solve the assignments in R statistical software; the completed assignments are also available beside each exercise file. Simply follow these steps to complete the assignments:

  1. View the lecture videos and handouts.
  2. Read R compatible version of instructions which are available as wiki pages.
  3. Use the starter directory and fill the parts of the code that is written "YOUR CODE HERE"
  4. If you couldn't solve it by yourself, get help from the accompanied file suffixed by _solution inside the same directory of the starter code. For example, starter/ex1/computeCost.R has an associated solution file named starter/ex1/computeCost_solution.R
  5. Submit

Dependencies

In order to produce similar results and plots to Octave/Matlab, you should install a few packages:

  • rgl package is used to produce the 3D scatter plots and surface plots in the exercises.
  • SnowballC: portStemmer function in this package has the same role of the portStemmer.m.
  • raster package is used to produce the plot of the bird in exercise 7.
  • jsonlite and httr packages are needed for submission.
  • pinv.R: The ginv (generalized inverse) function in MASS package doesn't produce the same result of the Matlab pinv (pseudo-inverse). I wrote pinv.R as the modified version of MASS ginv to produce the same result of the MATLAB pinv. For more info see this stackoverflow discussion
  • lbfgsb3_.R: Certain optimization tasks could only be solved using lbfgsb3 package, yet there are a few bugs in this package. The purpose of lbfgsb3_.R is to address these bugs; it is used for exercises 4 and 8. Beware that fmincg or fminunc optimization function in MATLAB takes one function as input and computes cost and gradient simultaneously. However, cost and gradient functions must be supplied into optim or lbfgsb3 functions individually.

Before starting to code, install the following packages: install.packages(c('rgl','lbfgsb3','SnowballC','raster','jsonlite', 'httr'))

Submission

After completing each assignment, source("submit.r") and then submit() in your R console.

I submitted the solutions to Coursera for testing and the scores were 100%. Please report any problem with submission here.

Topics covered in the course and assignments

  1. Linear regression, cost function and normalization
  2. Gradient descent and advanced optimization
  3. Multiple linear regression and normal equation
  4. Logistic regression, decision boundary and multi-class classification
  5. Over-fitting and Regularization
  6. Neural Network non-linear classification
  7. Model validation, diagnosis and learning curves
  8. System design, prioritizing and error analysis
  9. Support vector machine (SVM), large margin classification and SVM kernels (linear and Gaussian)
  10. K-Means clustering
  11. Principal component analysis (PCA)
  12. Anomaly detection, supervised learning
  13. Recommender systems, Collaborative filtering
  14. Large scale machine learning, stochastic and mini-batch gradient descent, on-line learning, map reduce

Screen-shots

A few screenshots of the plots produced in R:

Anomaly Detection Gradient Descent Convergence K-Means Clustering K-Means Raster Compress Learning Curves PCA Face Dataset SVM RBF Kernel Multiple Regression PCA Pixel Dataset Centroids

Licence

This project is released under MIT to the extent it is original.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].
OSZAR »