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:
- Believe. Know that you can learn machine learning by practicing working through problems (top-down) rather than studying theory (bottom-up).
- 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.
- 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.
- 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.
- 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.
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.
- Believe. Acknowledge that you have limiting beliefs that are holding you back.
- Process. Use my process. Use this checklist for working through classification problems.
- 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.
- Dataset. Select datasets from the UCI Machine Learning Repository. This post will help you select datasets by traits. Start with the Iris flower dataset.
- Portfolio. Checkout this post that explains how to build your machine learning portfolio.
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.
A very good start for any one who wants to starting learning ML.
Thanks.
Thanks djamel.
Thanks for creating this site
You’re very welcome.
Oh yes, I’m very interested in following your process in learning ‘ Machine Learning’. I’ll be keeping an eye on your emails.
Great post! I already started today learning ML and very excited about it. Thanks
Thanks Pablo, good luck!
Thanks Jason. This is exactly what I am looking for. Great posts.
Great Post Really.!! nicely organized and explained up to the point.
Thanks Harshil.
Great post
Thanks Wale.
Thanks, experience based wise advices.
Thanks, the most clarifying website regarding the ML learning process.
You’re very welcome.
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 🙂
I’m glad you’re finding it useful Jim.
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
Yes, start here Leandro:
https://machinelearningmastery.com/start-here/#python
Thanks, making ML learning process easy.
You’re welcome, I’m glad the post helped.
Thanks Jason, very good info to start the ML
I hope it helps Ram, hang in there!
how do your blog tutorials are distributed ? I want to learn serially . Will u please help me with this ?
You can read all of the posts online in an ad hoc way for free.
You can purchase my books to get a systematic coverage of a specific topic:
https://machinelearningmastery.com/products
I hope that helps.
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
Sorry, hardware implementations are not my area of expertise. I cannot give you good advice.
Hello Jason, you are so kind and generous in motivating people to understand machine learning. Thanks a lot
Thanks Jyoti.
how machine learning algorithms can be profiled using Python.
Algorithm profiling
Good question, sorry this is not something I have worked on.
Thank you very much for providing nice information about Machine Learning.
You’re welcome, I’m glad it helped!
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.
Yes. I have worked with many developers with an undergrad doing more “useful” ml than most kaggle competitions – as in, impacting the business.
Thanks. Do you have any suggestions? Do I continue in R and work in Python? I really don’t have a preference.I was able to do your ML intro with R using the iris dataset. But I cannot seem to do with a dataset I have downloaded.
Python skills are in great demand:
https://machinelearningmastery.com/python-growing-platform-applied-machine-learning/
i am interested to learn machine learning. can you suggest me some books
You can get started here:
https://machinelearningmastery.com/start-here/#getstarted
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.
You’re welcome, I hope the post helps.
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.
You’re very kind.
Jason – Do you have any video lessons or is it mostly blogs and books?
This is a common question that I answer here:
https://machinelearningmastery.com/faq/single-faq/do-you-have-videos
A very good start for any one who wants to starting learning ML.
Thanks.
Hi!
I’m your Linked in friend.
Glad to know you and your posts.
I would follow your steps, Top Down flow.
Thanks.
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.
I recommend starting with an area that you are most excited by or an area that you need help with and can apply immediately.
Perhaps try some of the free tutorials first, organized by topic here:
https://machinelearningmastery.com/start-here/
I am in. Slightly confusing on how to start.
Request reply n guide
Start here:
https://machinelearningmastery.com/start-here/
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.
Not algorithms specifically, but how to work through machine learning projects:
https://machinelearningmastery.com/machine-learning-with-r/
Great Jason. Thanks
You’re welcome.
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?
Good question.
– use a smaller model
– use less data
– run on a faster machine
– hand optimize the code
I HIGHLY RECOMMENDED ON YOUR SITES IN MY FRIENDS (YOU,KNOW , MY FRIENDS ARE HIGHLY Hungry to learn machine learning )
And me !!!!! Beginners !!
Thanks!
Thankyou so much for the help jason it really helps me a lot
You’re very welcome!
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?
You’re welcome!
Sorry, I don’t think I have code for what you describe. Perhaps try posting to stackoverflow.
Thank you so much for sharing all these info with us.
You’re welcome.
Thanks Jason ! You always inspire us.
Thanks!
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.
Stats is pretty important, this may help:
https://machinelearningmastery.com/start-here/#statistical_methods
Great one Jason. Keep up the good work. I’m learning a new thing everyday
Thank you. Glad you enjoyed it.
What are the resources to learning and applying machine learning algorithms?
Do you think the roadmap here would be helpful to you? https://machinelearningmastery.com/start-here/
Thanks, yeah I found this one!
Thanks, yeah I found this one!
You are very welcome Soltani!
thanx, I felt the same,
Nice information
Great feedback Venkat!
Hi Jason,
Thanks for sharing this piece with me. I really concur in everything you said and will start the work immediately.
Looking forward to your mails.
You are very welcome Lucy! Thank you for your support!
Thanks Jason!