Book Image

Machine Learning Automation with TPOT

By : Dario Radečić
Book Image

Machine Learning Automation with TPOT

By: Dario Radečić

Overview of this book

The automation of machine learning tasks allows developers more time to focus on the usability and reactivity of the software powered by machine learning models. TPOT is a Python automated machine learning tool used for optimizing machine learning pipelines using genetic programming. Automating machine learning with TPOT enables individuals and companies to develop production-ready machine learning models cheaper and faster than with traditional methods. With this practical guide to AutoML, developers working with Python on machine learning tasks will be able to put their knowledge to work and become productive quickly. You'll adopt a hands-on approach to learning the implementation of AutoML and associated methodologies. Complete with step-by-step explanations of essential concepts, practical examples, and self-assessment questions, this book will show you how to build automated classification and regression models and compare their performance to custom-built models. As you advance, you'll also develop state-of-the-art models using only a couple of lines of code and see how those models outperform all of your previous models on the same datasets. By the end of this book, you'll have gained the confidence to implement AutoML techniques in your organization on a production level.
Table of Contents (14 chapters)
1
Section 1: Introducing Machine Learning and the Idea of Automation
3
Section 2: TPOT – Practical Classification and Regression
8
Section 3: Advanced Examples and Neural Networks in TPOT

Introduction to parallelism in Python

Executing tasks sequentially (where the second one starts after the first one finishes) is required in some situations. For example, maybe the input of the second function relies on the output of the first one. If that's the case, these two functions (processes) can't be executed at the same time.

But more often than not, that's not the case. Just imagine your program is connecting to three different API endpoints before the dashboard is displayed. The first API returns the current weather conditions, the second one returns the stock prices, and the last one returns today's exchange rates. There's no point in making the API calls one after the other. They don't rely on each other, so running them sequentially would be a huge waste of time.

Not only that, but it would also be a waste of CPU cores. Most modern PCs have at least four CPU cores. If you're running things sequentially, you're only using...