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.

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

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

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


    • Avatar
      Jason Brownlee October 3, 2015 at 6:21 am #

      Thanks djamel.

      • Avatar
        Sean Xiao April 20, 2016 at 7:09 pm #

        Thanks for creating this site

    • Avatar
      Mpafane Simani December 12, 2020 at 2:17 am #

      Oh yes, I’m very interested in following your process in learning ‘ Machine Learning’. I’ll be keeping an eye on your emails.

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

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

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

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

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

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

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

    Thanks, experience based wise advices.

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

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

  7. Avatar
    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. Avatar
    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,

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

    Thanks, making ML learning process easy.

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

    Thanks Jason, very good info to start the ML

  11. Avatar
    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. Avatar
    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.


    • Avatar
      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. Avatar
    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. Avatar
    Jyoti bali November 8, 2017 at 4:50 pm #

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

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

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

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

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

  16. Avatar
    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.

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

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

  18. Avatar
    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. Avatar
    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. Avatar
    Thalanayar Muthukumar June 8, 2018 at 10:45 pm #

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

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

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

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

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

  23. Avatar
    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.

  24. Avatar
    Gopikrishna March 20, 2019 at 1:02 pm #

    I am in. Slightly confusing on how to start.
    Request reply n guide

  25. Avatar
    Hardik August 12, 2019 at 10:57 pm #

    Hello Jason,
    I am a Data Science Student.
    I found your articles and blogs awesome. They hit the nail perfectly. I am very thankful to you for sharing your knowledge in very interesting way.

    Do you have any book which explains all Machine Algorithms/Other Data Science Topic using ‘R’ language (like you have one which uses Excel). I am interested .

    Please reply and share you advise.

  26. Avatar
    Brian Atuhirwe November 7, 2019 at 5:28 am #

    Great Jason. Thanks

  27. Avatar
    najeh January 11, 2020 at 9:37 am #

    Deep learning applications takes a lot of time to be executed, what are the solution that can i do to improve the run-time of these applications?

    • Avatar
      Jason Brownlee January 12, 2020 at 7:57 am #

      Good question.

      – use a smaller model
      – use less data
      – run on a faster machine
      – hand optimize the code

  28. Avatar
    Vishnu(hunt) April 8, 2020 at 10:50 pm #

    And me !!!!! Beginners !!

  29. Avatar
    Ayushi October 1, 2020 at 6:54 pm #

    Thankyou so much for the help jason it really helps me a lot

  30. Avatar
    Manjeet October 28, 2020 at 10:28 pm #

    Hi Jason,

    I have been following your website lately in this lockdown. Must say you have taken great efforts to make subject look easy for beginners. And it helped me too understanding some key concepts. Thanks you for giving us such a wonderful explanation of the subject. As you described this post , i have picked a problem and started working on it, I need to know can you share python code for tracking / tracing a line in a image file?

    • Avatar
      Jason Brownlee October 29, 2020 at 8:03 am #

      You’re welcome!

      Sorry, I don’t think I have code for what you describe. Perhaps try posting to stackoverflow.

  31. Avatar
    Zainab January 26, 2021 at 3:31 pm #

    Thank you so much for sharing all these info with us.

  32. Avatar
    Kunal P June 25, 2021 at 10:44 pm #

    Thanks Jason ! You always inspire us.

  33. Avatar
    Anugraha Mohapatra July 3, 2021 at 9:09 pm #

    I have some background in Mathematics, but have less knowledge in statistics. How much statistics is to be learnt to continue in machine learning algorithms? I have just started machine learning out of curiosity.

  34. Avatar
    Bartholomew Shekari August 14, 2021 at 7:33 pm #

    Great one Jason. Keep up the good work. I’m learning a new thing everyday

    • Avatar
      Adrian Tam August 14, 2021 at 11:32 pm #

      Thank you. Glad you enjoyed it.

  35. Avatar
    Rishiraj Chakraborty August 25, 2021 at 12:04 am #

    What are the resources to learning and applying machine learning algorithms?

  36. Avatar
    Rishiraj Chakraborty August 28, 2021 at 1:07 am #

    Thanks, yeah I found this one!

  37. Avatar
    soltani Youssef February 4, 2022 at 11:15 pm #

    Thanks, yeah I found this one!

    • Avatar
      James Carmichael February 5, 2022 at 11:03 am #

      You are very welcome Soltani!

  38. Avatar
    venkat April 8, 2022 at 4:08 pm #

    thanx, I felt the same,

    Nice information

    • Avatar
      James Carmichael April 9, 2022 at 8:48 am #

      Great feedback Venkat!

Leave a Reply