Book Image

Interpretable Machine Learning with Python

By : Serg Masís
Book Image

Interpretable Machine Learning with Python

By: Serg Masís

Overview of this book

Do you want to gain a deeper understanding of your models and better mitigate poor prediction risks associated with machine learning interpretation? If so, then Interpretable Machine Learning with Python deserves a place on your bookshelf. We’ll be starting off with the fundamentals of interpretability, its relevance in business, and exploring its key aspects and challenges. As you progress through the chapters, you'll then focus on how white-box models work, compare them to black-box and glass-box models, and examine their trade-off. You’ll also get you up to speed with a vast array of interpretation methods, also known as Explainable AI (XAI) methods, and how to apply them to different use cases, be it for classification or regression, for tabular, time-series, image or text. In addition to the step-by-step code, this book will also help you interpret model outcomes using examples. You’ll get hands-on with tuning models and training data for interpretability by reducing complexity, mitigating bias, placing guardrails, and enhancing reliability. The methods you’ll explore here range from state-of-the-art feature selection and dataset debiasing methods to monotonic constraints and adversarial retraining. By the end of this book, you'll be able to understand ML models better and enhance them through interpretability tuning.
Table of Contents (19 chapters)
Section 1: Introduction to Machine Learning Interpretation
Section 2: Mastering Interpretation Methods
Section 3:Tuning for Interpretability

Conventions used

There are a number of text conventions used throughout this book.

Code in text: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "Next, we can adversarially train the model by first initializing a new KerasClassifier with the robust_model."

A block of code is set as follows:

base_classifier = KerasClassifier(model=base_model,\                                  clip_values=(min_, max_))y_test_mdsample_prob = np.max(y_test_prob[sampl_md_idxs],\                                                       axis=1)y_test_smsample_prob = np.max(y_test_prob[sampl_sm_idxs],\                                                       axis=1)

When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:

robust_classifier = KerasClassifier(model=robust_model,\                                    clip_values=(min_, max_))attacks = BasicIterativeMethod(robust_classifier, eps=0.3,\                               eps_step=0.01, max_iter=20)trainer = AdversarialTrainer(robust_classifier, attacks, ratio=0.5), ohe.transform(y_train), nb_epochs=30,\            batch_size=128)

Any command-line input or output is written as follows:

$ mkdir css
$ cd css

Bold: Indicates a new term, an important word, or words that you see onscreen. For example, words in menus or dialog boxes appear in the text like this. Here is an example: "Select System info from the Administration panel."

Tips or important notes

Appear like this.