What’s the best way to start learning machine learning in Python?
For starting with implementation of Machine learning algorithms in Python:
It would be best to follow Udacity’s Intro To Machine Learning course. It is taught by none other than Sebastian Thrun (Founder of Udacity) himself. They use scikit-learn for the programming exercises and show you how to use the package for solving various problems for each algorithm (regression, naive bayes, decision trees, SVM, etc.) along with practical considerations for solving real world problems. Why I would prefer this over Andrew Ng’s course that you might have heard of, is purely from the implementation point of view. The programming exercises there are in Octave / Matlab which is rarely used nowadays.
The course would help you get started with machine learning in python. If you are motivated after that, you can check out scikit-learn’s User Guide. It presents all the various algorithms that the package includes along with code samples which help you visualize them greatly. Also, if you are looking to get into the field, visualizing your data is going to be an important skill, giving you one reason to devote your time to this.
Important algorithms to understand (from the user guide above) would be:
(P -> more practically used, VI -> very important)
Supervised Learning
Generalized Linear Model
- Ordinary Least Squares
- Ridge regression
- Lasso
- Logistic regression
- Stochastic Gradient Descent (SGD)
- Perceptron
Linear Discriminant analysis (LDA)
Support Vector Machines (SVM) (VI,P)
Nearest neighbors (NN)
- Unsupervised Nearest Neighbors (computationally expensive)
- NN using KD-Tree (optimized way)
Naive Bayes (VI to understand the math behind ML)
Decison Trees (VI)
Ensemble methods
- Random Forests (VIP)
- Adaboost
- Boosting
Neural Networks (VIP)
Unsupervised Learning
Gaussian Mixture Models (GMM)
Clustering
- Kmeans
Decomposing
- PCA
- LDA
Neural Networks (VIP)
EDIT:
For getting started with machine learning as a subject, please take a look at:
For starting on projects in ML, this might be useful:
Hope this helped :)
Originally published at www.quora.com.