How Do I Get Started In Machine Learning? (the short version)

I get daily emails asking the question:

How do I get started in machine learning?

This post provides my quick answer. Here is my long answer.

So here is how to get started in machine learning, the quick version.

Practice Creating Predictive Models

You’re interested in machine learning but you’re not sure of the specific outcome you’re looking for.

  • Maybe you’re interested in learning more about machine learning algorithms.
  • Maybe you’re interested in creating predictions.
  • Maybe you’re interested in solving complex problems.
  • Maybe you’re interested in creating smarter software.
  • Maybe you’re even interested in becoming a data scientist.

I have a suggestion…

Given a dataset, learn how to create accurate models, reliably.

  • You will learn about the types and behaviours of machine learning algorithms.
  • You can use the resulting predictions directly.
  • You can build the skills to be able to solve your complex problems.
  • You can use the models in your software.
  • You can use the models in competitions, like those on Kaggle.
  • You can use the results to demonstrate your skills at applied machine learning.

Here’s What To Do, Step-by-Step

You are going to be told to learn the math, read the textbooks and study theory.

Maybe that path is good for academics. I call this approach the bottom-up approach to getting started in machine learning.

This is not the only path. There are other ways.

The Top-Down Approach To Getting Started in Machine Learning

Here are the steps to get started:

  1. Believe. Know that you can learn machine learning by practicing working through problems (top-down) rather than studying theory (bottom-up).
  2. Pick a Process. Select a systematic process for working through a machine learning problem from beginning to end that you can use to reliably get a good result on any problem you work on.
  3. Pick a Tool. Select a tool or platform that you can use to actually work through problems and map it onto your chosen systematic process.
  4. Pick a Dataset. Select datasets to work on and practice the process. Ideally select properties of problems that you want to practice and find well understood datasets that have those traits on which to practice.
  5. Build a Portfolio. Write up your results and learnings in semi-formal work products (blog posts, presentations, tech reports) and share them publicly to demonstrate your growing machine learning skills and capabilities and engage like minded practitioners.
Machine Learning for Programmers - A Better Approach

A better approach to learning machine learning that starts with working machine learning problems end-to-end.

Once you settle on a process and tool, repeat step 4 and build up your portfolio in step 5.

Here is Specifically What You Can Do

Good process but not specific enough for you?

Let’s get more specific.

  1. Believe. Acknowledge that you have limiting beliefs that are holding you back.
  2. Process. Use my process. Use this checklist for working through classification problems.
  3. Tool. Use WEKA. It provides a large number of algorithms and a graphical user interface and does not require any programming. Here is a tutorial for creating your first classifier.
  4. Dataset. Select datasets from the UCI Machine Learning Repository. This post will help you select datasets by traits. Start with the Iris flower dataset.
  5. Portfolio. Checkout this post that explains how to build your machine learning portfolio.
Weka Explorer Interface with the Iris dataset loaded

Weka Explorer Interface with the Iris dataset loaded

Action Step

There are a lot of reasons to not get started in machine learning.

I don’t have the math. I can’t program. So on and on.

If you want to get started in machine learning. Get started. Stop getting ready to start!

If you want to dive deeper into how I think you should get started in machine learning, read my post titled “Machine Learning for Programmers“. It goes into a lot more detail.

Do you have a question? A doubt? Leave a comment.

48 Responses to How Do I Get Started In Machine Learning? (the short version)

  1. djamel October 3, 2015 at 4:43 am #

    A very good start for any one who wants to starting learning ML.

    Thanks.

  2. Pablo Moreno October 31, 2015 at 1:26 pm #

    Great post! I already started today learning ML and very excited about it. Thanks

  3. Balakrishna February 12, 2016 at 5:28 pm #

    Thanks Jason. This is exactly what I am looking for. Great posts.

  4. Harshil Sukhadia March 31, 2016 at 8:08 am #

    Great Post Really.!! nicely organized and explained up to the point.

  5. guest April 29, 2016 at 1:38 am #

    Thanks, experience based wise advices.

  6. guest April 29, 2016 at 2:11 am #

    Thanks, the most clarifying website regarding the ML learning process.

  7. Jim August 13, 2016 at 12:13 am #

    I think this is going to be a very inspirational site. Thanks Jason! Just being told the term “limiting beliefs” and understanding the individuals role in holding themselves back is an important thing to take form this article 🙂

  8. Leandro December 17, 2016 at 2:04 am #

    Hi Jason, My my name is Leandro and I’m from Brazil. In my case, I believe the best aproach to learn is based on practice project with concepts detailed. Do you have some material based on python that can fit with that?

    Thanks and Regards,
    Leandro

  9. Murali S J April 28, 2017 at 5:22 pm #

    Thanks, making ML learning process easy.

  10. Ram May 22, 2017 at 7:54 am #

    Thanks Jason, very good info to start the ML

  11. robiul June 12, 2017 at 6:09 am #

    how do your blog tutorials are distributed ? I want to learn serially . Will u please help me with this ?

  12. himanshu July 31, 2017 at 3:49 pm #

    Dear Dr. Jason,

    Thanks for your material on ML. IT does help a lot to beginners in the field like me.
    I wanted to know if we can go ahead and implement the model in a hardware platform once the model is validated.
    What kind of hardware platforms can be used like FPGA etc.

    Thanks

    • Jason Brownlee July 31, 2017 at 3:52 pm #

      Sorry, hardware implementations are not my area of expertise. I cannot give you good advice.

  13. Jyoti bali November 8, 2017 at 3:56 pm #

    Hello Jason, you are so kind and generous in motivating people to understand machine learning. Thanks a lot

  14. Jyoti bali November 8, 2017 at 4:50 pm #

    how machine learning algorithms can be profiled using Python.
    Algorithm profiling

    • Jason Brownlee November 9, 2017 at 9:53 am #

      Good question, sorry this is not something I have worked on.

  15. Sanjay Ghodke December 1, 2017 at 10:16 pm #

    Thank you very much for providing nice information about Machine Learning.

  16. Preetha K Menon March 6, 2018 at 10:46 am #

    Is it really true that I do not need advanced math or coding experience to do machine learning? I have a PhD in social science and am interested in ML. I am learning R and have a fairly good background in stats.

    • Jason Brownlee March 6, 2018 at 2:56 pm #

      Yes. I have worked with many developers with an undergrad doing more “useful” ml than most kaggle competitions – as in, impacting the business.

  17. kamrul hasan March 16, 2018 at 7:32 pm #

    i am interested to learn machine learning. can you suggest me some books

  18. aziz El Wali March 17, 2018 at 12:23 am #

    Hi Jason, I’m an agronomist, I’m studying R, I’m very interested in Machine Learning, so it’s very nice from you to want to help people in this way. Thank you very much.

  19. Benya Jamiu May 26, 2018 at 2:48 am #

    Do any body thinks there are any other teachers who can give better lectures or learning better than you?I guess not bcoz I’ve been in this area not quite long but one of the best of the best teacher I’ve ever seen in given details is you.
    Keep it up Dr.

  20. Thalanayar Muthukumar June 8, 2018 at 10:45 pm #

    Jason – Do you have any video lessons or is it mostly blogs and books?

  21. shankaranarayanan v October 1, 2018 at 7:39 pm #

    A very good start for any one who wants to starting learning ML.

  22. Hyeongchan November 8, 2018 at 10:21 am #

    Hi!
    I’m your Linked in friend.
    Glad to know you and your posts.
    I would follow your steps, Top Down flow.

  23. Solomon January 25, 2019 at 7:10 pm #

    hey Jason. Im a new subscriber, but i am extremely impressed with the fantastic materials you post.
    As a seniour computer engineering student, i have some background in math and programming. So what book do you recommed as a guide to learn machine learning, that’s suitable for absolute beginners like myself.

Leave a Reply