christophM / interpretable-ml-book

Book about interpretable machine learning
https://christophm.github.io/interpretable-ml-book/
Other
4.8k stars 1.06k forks source link

Interpretable machine learning

Explaining the decisions and behaviour of machine learning models.

Build Status

Summary

You can find the current version of the book here: https://christophm.github.io/interpretable-ml-book/

This book is about interpretable machine learning. Machine learning is being built into many products and processes of our daily lives, yet decisions made by machines don't automatically come with an explanation. An explanation increases the trust in the decision and in the machine learning model. As the programmer of an algorithm you want to know whether you can trust the learned model. Did it learn generalizable features? Or are there some odd artifacts in the training data which the algorithm picked up? This book will give an overview over techniques that can be used to make black boxes as transparent as possible and explain decisions. In the first chapter algorithms that produce simple, interpretable models are introduced together with instructions how to interpret the output. The later chapters focus on analyzing complex models and their decisions. In an ideal future, machines will be able to explain their decisions and make a transition into an algorithmic age more human. This books is recommended for machine learning practitioners, data scientists, statisticians and also for stakeholders deciding on the use of machine learning and intelligent algorithms.

The book is automatically built from the master branch and pushed to gh-pages by GitHub Actions.

Contributing

See how to contribute

Rendering the book

Clone the repository.

git clone git@github.com:christophM/interpretable-ml-book.git

Make sure all dependencies for the book are installed. This book has the structure of an R package, so dependencies can be installed easily, only R and the devtools library is required. Start an R session in the folder of the book repository and type:

devtools::install_deps()

For rendering the book, start an R session and type:

setwd("manuscript")
# first, generate the references
source("../scripts/references.R")
bookdown::render_book('.', 'bookdown::gitbook')

After rendering, the HTML files of the book will be in the "_book" folder. You can either double-click index.html directly or, of course, do it in R:

browseURL('_book/index.html')

Notes on Printing with lulu.com

Writing

Stuff that both works for leanpub and for bookdown:

Printing for proofreading with extra line spacing: Build HTML book, go to manuscript/_book/libs/gitbook*/css/style.css, change line-height:1.7 to line-height:2.5, open local html with chrome, print to pdf with custom margin.

Changelog

All notable changes to the book will be documented here.

v2.0 (IN PROGRESS) [html version]

v1.1 (2019-03-23) [Print version, ebook version]

v1.0 (2019-02-21)

v0.7 (2018-11-21)

v0.6 (2018-11-02)

v0.5 (2018-08-14)

v0.4 (2018-05-23)

v0.3 (2018-04-24)

v0.2 (2018-02-13)

v0.1 (2017-12-03)