Cover of Applied Machine Learning for Data Scientists and Software Engineers, showing an abstract representation of data flowing through a structured pipeline

Published

2017

AI Learning ✨ New

Applied Machine Learning for Data Scientists and Software Engineers

A practical guide to structuring ML projects and making sound technical decisions from problem definition to deployment

Build machine learning systems that work in practice, not just in notebooks, by learning how to frame problems, choose models, and ship reliable pipelines.

Applied machine learning is less about algorithms and more about decisions: what problem to solve, which model to trust, when to stop tuning, and how to ship something that holds up in production. This book gives data scientists and software engineers a shared framework for making those decisions well, covering the full arc from raw data to deployed system. Whether you write the models or the infrastructure around them, you will leave with a concrete, repeatable process.

About this book

Most machine learning courses teach you to fit a model. Few teach you to build a system. There is a wide gap between running a Jupyter notebook on clean data and delivering a production ML pipeline that a team can maintain and trust. This book closes that gap.

Andrew and Adam Kelleher draw on real project experience to give you a decision-first approach to applied ML. Instead of surveying every algorithm, they focus on the reasoning that comes before and after the model: how to define success, how to select and validate the right technique for your constraints, and how to structure code and data flows so that the system stays reliable when the real world pushes back.

The book is equally relevant to data scientists who want to write software that ships and to software engineers who need to reason about model behavior and uncertainty. It does not assume you are one or the other. It assumes you are trying to solve a real problem and need a practical framework for doing it.

  • Frame a machine learning problem precisely before touching any data
  • Choose evaluation metrics that reflect business goals, not just benchmark leaderboards
  • Build feature engineering pipelines that are reproducible and testable
  • Select models based on interpretability, latency, and data size constraints
  • Validate models with methods that catch overfitting and distribution shift
  • Design training and serving infrastructure that avoids common failure modes

The techniques here are not tied to a single library or framework. The underlying decisions remain the same whether you are using scikit-learn, XGBoost, or a neural network. Code examples are in Python, kept short and focused on the concept, not the boilerplate.

If you have been building ML prototypes that never quite make it to production, or inheriting pipelines you cannot explain or fix, this book gives you the mental models and structural habits to do the work differently.

🎯 What you'll learn

  • Define a machine learning problem in terms that connect model outputs to measurable business outcomes
  • Select evaluation metrics that expose the real risks in your specific prediction task
  • Build feature engineering pipelines that are reproducible, versioned, and safe to deploy
  • Choose between model families based on interpretability, latency, and dataset size requirements
  • Validate models against distribution shift and leakage before committing to production
  • Structure training and serving code so that failures surface early rather than silently in production
  • Diagnose underperforming models by separating data problems from model problems from metric problems

πŸ‘€ Who is this book for?

  • Data scientists who can train models but want a more disciplined approach to scoping, validating, and shipping them
  • Software engineers moving into ML roles who need a practical framework for making modeling decisions
  • ML engineers responsible for production pipelines who want to reduce failures and maintenance burden
  • Analysts transitioning to predictive modeling who need a clear mental model for the end-to-end process
  • Technical leads overseeing ML projects who need to evaluate design choices made by their teams

Table of contents

  1. 01

    Framing the Problem

    Learn how to translate a vague business need into a well-posed machine learning problem, including how to define the prediction target, the cost of errors, and the minimum viable performance threshold.

  2. 02

    Understanding Your Data

    Develop a systematic approach to exploratory data analysis that surfaces distribution issues, label noise, and leakage before they contaminate your model. You will build a checklist that travels with every new dataset you encounter.

  3. 03

    Evaluation Metrics That Matter

    Move beyond accuracy and learn to select metrics that reflect the actual costs and trade-offs in your task, including precision-recall trade-offs, calibration, and ranking metrics for different output types.

  4. 04

    Feature Engineering and Pipelines

    Build feature transformations as testable, reproducible pipeline components rather than ad-hoc preprocessing scripts. You will apply these techniques to numerical, categorical, and temporal data.

  5. 05

    Choosing a Model

    Learn to match model families to problem constraints, comparing linear models, tree ensembles, and neural approaches on the axes of interpretability, training cost, and prediction latency.

  6. 06

    Training, Tuning, and Avoiding Overfitting

    Set up training experiments that produce trustworthy results, covering cross-validation strategies, hyperparameter search, and early stopping without leaking information between splits.

  7. 07

    Model Validation and Debugging

    Diagnose why a model underperforms by systematically separating data problems from modeling problems from metric mismatches, and apply targeted fixes for each failure mode.

  8. 08

    Deploying and Monitoring in Production

    Structure serving code, versioning, and monitoring so that model degradation and data drift surface as alerts rather than silent errors. You will design a deployment checklist covering inference latency, rollback strategy, and feature consistency.

Frequently asked questions

What background knowledge do I need before reading this book?

You should be comfortable with Python and have at least a passing familiarity with core ML concepts like regression, classification, and cross-validation. The book focuses on applied decision-making rather than mathematical derivations, so graduate-level statistics is not required.

Is this book still relevant given it was published in 2017?

The core framework for scoping, evaluating, and deploying ML systems has not changed, and the book's value is precisely that it focuses on those durable decisions rather than specific library versions. Some tooling references may be dated, but the reasoning throughout remains directly applicable.

Does the book cover deep learning or neural networks?

Neural networks are covered as one option within the model selection framework, but the book is not a deep learning text. Its emphasis is on the process of building ML systems, which applies regardless of which model type you ultimately choose.

Are there code examples, and what libraries do they use?

Yes, code examples are written in Python using libraries common in 2017, primarily scikit-learn and NumPy. The examples are intentionally short and concept-focused rather than production boilerplate.

Is this book more useful for data scientists or software engineers?

Both roles are addressed directly. Data scientists will find a more rigorous structure for the decisions they already make informally, and software engineers will gain the vocabulary and reasoning tools to work confidently on ML systems.

You might also like

πŸ“¬ Weekly Newsletter

Stay ahead of the curve

Get the best programming tutorials, data analytics tips, and tool reviews delivered to your inbox every week.

No spam. Unsubscribe anytime.