Dive Into Machine Learning
Free ways to dive into machine learning with Python and Jupyter Notebook. Notebooks, courses, and other links. (First posted in 2016.)
Install / Use
npx skills add dive-into-machine-learning/dive-into-machine-learningInstalls into whichever agent you are using.
README
Initiatives
Before we dive in, here are some notable projects and initiatives that might interest you as well.
Related to machine learning
- AlgorithmWatch — newsletter — "a non-profit research and advocacy organization that is committed to watch, unpack and analyze automated decision-making (ADM) systems and their impact on society."
daviddao/awful-ai— "Awful AI is a curated list to track current scary usages of AI — hoping to raise awareness"humanetech-community/awesome-humane-tech— "Promoting solutions that improve wellbeing, freedom and society"
Code against climate change
ProjectDrawdown/solutions— Project Drawdown — "Project Drawdown entered the climate conversation with the publication of the 2017 book. With The Drawdown Review in 2020, the project continues its mission to inspire and communicate solutions." Python and Jupyter Notebooks.philsturgeon/awesome-earthdaviddao/code-against-climate-changeprotontypes/open-sustainable-technology
Dive into Machine Learning
Hi there! You might find this resource helpful if:
- You know Python or you're learning it :snake:
- You're new to Machine Learning
- You care about the ethics of ML
- You learn by doing
For some great alternatives, jump to the end or check out Nam Vu's guide, Machine Learning for Software Engineers.
Of course, there is no easy path to expertise. Also, I'm not an expert! I just want to connect you with some great resources from experts. Applications of ML are all around us. I think it's in the public interest for more people to learn more about ML, especially hands-on, because there are many different ways to learn.
Whatever motivates you to dive into machine learning, if you know a bit of Python, these days you can get hands-on with a machine learning "Hello World!" in minutes.
Let's get started
Tools you'll need
If you prefer local installation
- Python. Python 3 is the best option.
- Jupyter Notebook. (Formerly known as IPython Notebook.)
- Some scientific computing packages:
- numpy
- pandas
- scikit-learn
- matplotlib
You can install Python 3 and all of these packages in a few clicks with the Anaconda Python distribution. Anaconda is popular in Data Science and Machine Learning communities. (Use whichever tool works for you. If you're unsure or need more context about using conda/virtualenv/poetry/pipenv, here's a very helpful guide)
Cloud-based options
Some options you can use from your browser:
- Binder is Jupyter Notebook's official choice to try JupyterLab
- Deepnote allows for real-time collaboration
- Google Colab provides "free" GPUs
For other options, see:
- markusschanta/awesome-jupyter, "Hosted Notebook Solutions"
- ml-tooling/best-of-jupyter, "Notebook Environments"
Let's go!
Learn how to use Jupyter Notebook (5-10 minutes). (You can learn by screencast instead.)
Now, follow along with this brief exercise: An introduction to machine learning with scikit-learn. Do it in ipython or a Jupyter Notebook, coding along and executing the code in a notebook.
What just happened?
You just classified some hand-written digits using scikit-learn. Neat huh?
Dive in
A Visual Introduction to Machine Learning
Let's learn a bit more about Machine Learning, and a couple of common ideas and concerns. Read "A Visual Introduction to Machine Learning, Part 1" by Stephanie Yee and Tony Chu.
It won't take long. It's a beautiful introduction ... Try not to drool too much!
"A Few Useful Things to Know about Machine Learning"
OK. Let's dive deeper.
Read "A Few Useful Things to Know about Machine Learning" by Prof. Pedro Domingos. It's densely packed with valuable information, but not opaque. (Don't worry if you don't understand it all yet.) Take some time with this one.
Jargon note
- What is the difference between Data Analytics, Data Analysis, Data Mining, Data Science, Machine Learning, and Big Data?
- Another handy term: "Data Engineering."
- "MLOps" overlaps with Data Eng, and there's an introductory MLOps section later in this guide.
Explore another notebook
Next, code along with one or more of these notebooks.
- Series of notebooks:
- Dr. Randal Olson's Example Machine Learning notebook: "let's pretend we're working for a startup that just got funded to create a smartphone app that automatically identifies species of flowers from pictures taken on the smartphone. We've been tasked by our head of data science to create a demo machine learning model that takes four measurements from the flowers (sepal length, sepal width, petal length, and petal width) and identifies the species based on those measurements alone."
- Various topical notebooks:
Find more great Jupyter Notebooks when you're ready:
- Jupyter's official Gallery of Interesting Jupyter Notebooks: Statistics, Machine Learning and Data Science (permalink)
Immerse yourself
Pick one of the courses below and start on your way.
Prof. Andrew Ng's Machine Learning on Coursera
Prof. Andrew Ng's Machine Learning is a popular and esteemed free online course. I've seen it recommended often. And emphatically.
It's recommended to grab a textbook to use as an in-depth reference. The two I saw recommended most often were Understanding Machine Learning and Elements of Statistical Learning. [You only need to use one of
Related Skills
mcp
Use the `mcp_perplexity-ask_perplexity_search` tools to answer questions. You should use this instead of the `web_search` tool because it is a lot more accurate.
practical-power-systems-synthesis
This skill enables synthesis in the domain of power-systems (engineering). It represents research-level-level expertise and is designed for production use in research, industry, and educational contexts. Use this skill when you need to perform synthesis operations related to power-systems.
semi-supervised-optogenetics-testing
This skill enables testing in the domain of optogenetics (neuroscience). It represents intermediate-level expertise and is designed for production use in research, industry, and educational contexts. Use this skill when you need to perform testing operations related to optogenetics.
data-mining-interpretation-fundamental
This skill enables interpretation in the domain of data-mining (data-science). It represents fundamental-level expertise and is designed for production use in research, industry, and educational contexts. Use this skill when you need to perform interpretation operations related to data-mining.
Security Score
Audited on Aug 3, 2026



