I have read text about machine learning and I feel that I have gained sufficient knowledge that I can start applying them practically. I have programming experience in python so I want to learn how to use scikit learn. I went through documentation but I left it because I couldn't quite get it. Are there any resources (books or courses etc) from where I can learn to use scikit learn?
In addition to the scikit-learn user guide, the following two sources were of great help to me:
- Building Machine Learning Systems with Python, by Willi Richert and Luis Pedro. Coelho, makes heavy use of the numpy, scipy and scikit-learn libraries in their fairly rigorous implementations of a wide variety of Machine Learning algorithms and concepts. The only requirement is that you follow the implementations along in your IDE after covering each concept, as they don't provide a dictionary like handle on each line of code throughout the book, only at places where it's really necessary.
PyCon conferences include a fairly large number of tutorial sessions in their itinerary, most of which end up as 3+ hours long videos in their Youtube channels. I would strongly recommend viewing the following sessions in the given order:
a. Machine Learning with Scikit-Learn (I) by Jake VanderPlas, held during PyCon 2015.
b. Olivier Grisel's Machine Learning with scikit-learn (II), Sequel to (a), also held at PyCon 2015.
c. Machine Learning with Scikit Learn | SciPy 2015 Tutorial | Andreas Mueller & Kyle Kastner Part I and its sequel both of which are part of the SciPy 2015 conference, now available in Enthought's channel.
d. Olivier Grisel's Advanced Machine Learning with scikit-learn, held at PyCon 2013.
They also offer more scikit-learn, scipy and pandas related tutorial sessions, so make sure you visit their channels as well.
EDIT: May I direct attention to @inversion's answer as well; Kaggle is the playground for learning machine learning techniques based on a wide variety of libraries such as scikit-learn, Lasagne (Python), Theano (Python), h2o (R and Python) and caret (R), and gives you real-life, hands-on challenges to tackle.
Kaggle has a very nice walk-through of the Titanic data. The first two links are more towards processing the data, and the last uses scikit-learn's Random Forest.
https://www.kaggle.com/c/titanic/details/getting-started-with-python https://www.kaggle.com/c/titanic/details/getting-started-with-python-ii https://www.kaggle.com/c/titanic/details/getting-started-with-random-forests
In addition, Kaggle has a number of other "learning" competitions, where people post scripts, many of which utilize scikit-learn.
For example, this script analyzes San Francisco Crime data using Naive Bayes:
There are hundreds of other scripts that you can fork and modify to try different approaches.
One advantage of walking through scripts on Kaggle is there is a very active forum, so you can ask specific questions about code.