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?

  • $\begingroup$ Usually, the best way to get started using new libraries is to learn by example. scikit-learn is very popular, so you can find lots of hands-on tutorials by googling scikit-learn + your favorite method. $\endgroup$ – Marc Claesen Aug 16 '15 at 10:16

In addition to the scikit-learn user guide, the following two sources were of great help to me:

  1. 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.
  2. 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.

  • $\begingroup$ They said that these tutorials are for those who have prior knowledge. Not for the first timers. $\endgroup$ – Utkarsh Gupta Aug 17 '15 at 12:38
  • $\begingroup$ Although some of these videos ('d' in particular) assume prior knowledge in basic statistics and machine learning concepts (i.e., Theory), I still recommend following along and playing around with the provided code and additional resources, because as @mark-claesen said, its best to learn by example, and most of it is well commented. $\endgroup$ – samirzach Aug 18 '15 at 19:25

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.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.