Welcome to the Hands-On Machine Learning repository! This project is based on the book Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow. It aims to provide a practical approach to learning machine learning concepts through hands-on coding examples and Jupyter notebooks. Whether you're a beginner or looking to enhance your skills, this repository is your gateway to understanding and implementing a variety of machine learning algorithms.
In this repository, we will explore and implement machine learning algorithms using the following libraries:
Before diving into the code, ensure you have the following prerequisites:
Make sure you have these skills to fully benefit from the code examples and projects in this repository!
The book is organized into two parts, each covering essential topics in machine learning.
Part | Topics | Links |
---|---|---|
Part I: The Fundamentals of Machine Learning | What machine learning is, problems it solves, and main categories | Link |
Steps in a typical machine learning project | Link | |
Learning by fitting a model to data | Link | |
Training Models | Link | |
Machine Learning Algorithems | Support Vector ML | Link |
Decision Tree | Link | |
Random Forest | Link | |
Dimention Reduction | Link | |
Unsupervised learning techniques: clustering, density estimation, anomaly detection | Link | |
Part II: Neural Networks and Deep Learning | What neural nets are and their applications | Link |
Building and training neural nets using TensorFlow and Keras | Link | |
Important neural net architectures: feedforward, convolutional, recurrent, LSTM, encoder-decoder, transformers, autoencoders, GANs, diffusion models | Link | |
Natural Language Processing with RNNs | Link | |
Building an agent that learns good strategies through trial and error (reinforcement learning) | Link | |
Loading and preprocessing large amounts of data efficiently | Link | |
Training and deploying TensorFlow models at scale | Link | |
Deep Computer Vision Using Convolutional Neural Networks | Link |
When learning about machine learning, experimenting with real-world data is essential, as it provides a more practical understanding than artificial datasets. Fortunately, there are thousands of open datasets available across various domains. Here are a few resources to find data:
- Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: A book that help you to learn ML.
- OpenML: A platform for sharing datasets, machine learning algorithms, and experiments.
- Kaggle: A well-known community for data science and machine learning, offering a variety of datasets and competitions.
- Papers With Code: A resource that connects papers with their associated code and datasets.
- UC Irvine Machine Learning Repository: A classic resource for machine learning datasets.
- Amazon’s AWS Datasets: A collection of publicly available datasets hosted on Amazon Web Services.
- TensorFlow Datasets: A collection of datasets ready for use with TensorFlow.
- DataPortals.org: A directory of open data portals around the world.
- OpenDataMonitor.eu: A platform that monitors the availability of open data.
- Wikipedia’s List of Machine Learning Datasets: A comprehensive list of datasets used for machine learning research.
- Quora: A platform where you can find discussions and recommendations about datasets.
- Datasets Subreddit: A community on Reddit where users share and discuss various datasets.
In this chapter, we’ll use the California Housing Prices dataset from the StatLib repository. This dataset is based on data from the 1990 California census. Although it may not be recent, it has many qualities that make it suitable for learning.
Many excellent resources are available to learn about machine learning. Some noteworthy options include:
-
Andrew Ng’s ML Course on Coursera: An amazing course that provides a comprehensive introduction to machine learning, although it requires a significant time investment.
-
Scikit-Learn User Guide: An exceptional guide that offers in-depth insights into using the Scikit-Learn library for machine learning.
-
Dataquest: Provides engaging interactive tutorials on various data science and machine learning topics.
-
Machine Learning Blogs: There are many insightful blogs available on platforms like Quora, where various ML topics are discussed.
Here are some introductory books on machine learning that I highly recommend:
-
Data Science from Scratch, 2nd Edition by Joel Grus (O’Reilly): This book presents the fundamentals of machine learning and implements some of the main algorithms in pure Python.
-
Machine Learning: An Algorithmic Perspective, 2nd Edition by Stephen Marsland (Chapman & Hall): A great introduction to machine learning, covering a wide range of topics in depth with code examples in Python.
-
Python Machine Learning, 3rd Edition by Sebastian Raschka (Packt Publishing): This book leverages Python open-source libraries and provides a thorough introduction to machine learning.
-
Deep Learning with Python, 2nd Edition by François Chollet (Manning): A practical book covering a wide range of topics with a focus on code examples, as expected from the author of the Keras library.
-
The Hundred-Page Machine Learning Book by Andriy Burkov (self-published): A concise yet comprehensive introduction to a broad range of machine learning topics, presented in an approachable manner without shying away from mathematical concepts.
Let's connect! Find me on the web.