Book Image

Machine Learning with LightGBM and Python

By : Andrich van Wyk
3 (1)
Book Image

Machine Learning with LightGBM and Python

3 (1)
By: Andrich van Wyk

Overview of this book

Machine Learning with LightGBM and Python is a comprehensive guide to learning the basics of machine learning and progressing to building scalable machine learning systems that are ready for release. This book will get you acquainted with the high-performance gradient-boosting LightGBM framework and show you how it can be used to solve various machine-learning problems to produce highly accurate, robust, and predictive solutions. Starting with simple machine learning models in scikit-learn, you’ll explore the intricacies of gradient boosting machines and LightGBM. You’ll be guided through various case studies to better understand the data science processes and learn how to practically apply your skills to real-world problems. As you progress, you’ll elevate your software engineering skills by learning how to build and integrate scalable machine-learning pipelines to process data, train models, and deploy them to serve secure APIs using Python tools such as FastAPI. By the end of this book, you’ll be well equipped to use various -of-the-art tools that will help you build production-ready systems, including FLAML for AutoML, PostgresML for operating ML pipelines using Postgres, high-performance distributed training and serving via Dask, and creating and running models in the Cloud with AWS Sagemaker.
Table of Contents (17 chapters)
1
Part 1: Gradient Boosting and LightGBM Fundamentals
6
Part 2: Practical Machine Learning with LightGBM
10
Part 3: Production-ready Machine Learning with LightGBM

Optimizing LightGBM with Optuna

We’ll walk through applying Optuna using a classification example. The problem we’ll be modeling is to predict customer churn (Yes/No) for a telecommunications provider. The dataset is available from https://github.com/IBM/telco-customer-churn-on-icp4d/tree/master/data.
The data describes each customer using data available to the provider – for example, gender, whether the customer is paying for internet service, has paperless billing, pays for tech support, and their monthly charges. The data consists of both numeric and categorical features. The data has already been cleaned and is balanced, allowing us to focus on the parameter optimization study.

We start by defining the objective of our parameter study. The objective function is called once for each trial. In this case, we want to train a LightGBM model on the data and calculate the F1 score. Optuna passes a trial object to the objective function, which we can use...