You are previewing Designing Machine Learning Systems with Python.
O'Reilly logo
Designing Machine Learning Systems with Python

Book Description

Design efficient machine learning systems that give you more accurate results

About This Book

  • Gain an understanding of the machine learning design process

  • Optimize machine learning systems for improved accuracy

  • Understand common programming tools and techniques for machine learning

  • Develop techniques and strategies for dealing with large amounts of data from a variety of sources

  • Build models to solve unique tasks

  • Who This Book Is For

    This book is for data scientists, scientists, or just the curious. To get the most out of this book, you will need to know some linear algebra and some Python, and have a basic knowledge of machine learning concepts.

    What You Will Learn

  • Gain an understanding of the machine learning design process

  • Optimize the error function of your machine learning system

  • Understand the common programming patterns used in machine learning

  • Discover optimizing techniques that will help you get the most from your data

  • Find out how to design models uniquely suited to your task

  • In Detail

    Machine learning is one of the fastest growing trends in modern computing. It has applications in a wide range of fields, including economics, the natural sciences, web development, and business modeling. In order to harness the power of these systems, it is essential that the practitioner develops a solid understanding of the underlying design principles.

    There are many reasons why machine learning models may not give accurate results. By looking at these systems from a design perspective, we gain a deeper understanding of the underlying algorithms and the optimisational methods that are available. This book will give you a solid foundation in the machine learning design process, and enable you to build customised machine learning models to solve unique problems. You may already know about, or have worked with, some of the off-the-shelf machine learning models for solving common problems such as spam detection or movie classification, but to begin solving more complex problems, it is important to adapt these models to your own specific needs. This book will give you this understanding and more.

    Style and approach

    This easy-to-follow, step-by-step guide covers the most important machine learning models and techniques from a design perspective.

    Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at If you purchased this book elsewhere, you can visit and register to have the code file.

    Table of Contents

    1. Designing Machine Learning Systems with Python
      1. Table of Contents
      2. Designing Machine Learning Systems with Python
      3. Credits
      4. About the Author
      5. About the Reviewer
        1. eBooks, discount offers, and more
          1. Why subscribe?
      7. Preface
        1. What this book covers
        2. What you need for this book
        3. Who this book is for
        4. Conventions
        5. Reader feedback
        6. Customer support
          1. Downloading the example code
          2. Errata
          3. Piracy
          4. Questions
      8. 1. Thinking in Machine Learning
        1. The human interface
        2. Design principles
          1. Types of questions
          2. Are you asking the right question?
          3. Tasks
            1. Classification
            2. Regression
            3. Clustering
            4. Dimensionality reduction
            5. Errors
            6. Optimization
            7. Linear programming
            8. Models
              1. Geometric models
              2. Probabilistic models
              3. Logical models
            9. Features
          4. Unified modeling language
            1. Class diagrams
            2. Object diagrams
            3. Activity diagrams
            4. State diagrams
        3. Summary
      9. 2. Tools and Techniques
        1. Python for machine learning
        2. IPython console
        3. Installing the SciPy stack
        4. NumPY
          1. Constructing and transforming arrays
          2. Mathematical operations
        5. Matplotlib
        6. Pandas
        7. SciPy
        8. Scikit-learn
        9. Summary
      10. 3. Turning Data into Information
        1. What is data?
        2. Big data
          1. Challenges of big data
            1. Data volume
            2. Data velocity
            3. Data variety
          2. Data models
          3. Data distributions
          4. Data from databases
          5. Data from the Web
          6. Data from natural language
          7. Data from images
          8. Data from application programming interfaces
        3. Signals
          1. Data from sound
        4. Cleaning data
        5. Visualizing data
        6. Summary
      11. 4. Models – Learning from Information
        1. Logical models
          1. Generality ordering
          2. Version space
          3. Coverage space
          4. PAC learning and computational complexity
        2. Tree models
          1. Purity
        3. Rule models
          1. The ordered list approach
          2. Set-based rule models
        4. Summary
      12. 5. Linear Models
        1. Introducing least squares
          1. Gradient descent
          2. The normal equation
        2. Logistic regression
          1. The Cost function for logistic regression
        3. Multiclass classification
        4. Regularization
        5. Summary
      13. 6. Neural Networks
        1. Getting started with neural networks
        2. Logistic units
        3. Cost function
          1. Minimizing the cost function
        4. Implementing a neural network
        5. Gradient checking
        6. Other neural net architectures
        7. Summary
      14. 7. Features – How Algorithms See the World
        1. Feature types
          1. Quantitative features
          2. Ordinal features
          3. Categorical features
        2. Operations and statistics
        3. Structured features
        4. Transforming features
          1. Discretization
          2. Normalization
          3. Calibration
        5. Principle component analysis
        6. Summary
      15. 8. Learning with Ensembles
        1. Ensemble types
        2. Bagging
          1. Random forests
          2. Extra trees
        3. Boosting
          1. Adaboost
          2. Gradient boosting
        4. Ensemble strategies
          1. Other methods
        5. Summary
      16. 9. Design Strategies and Case Studies
        1. Evaluating model performance
        2. Model selection
          1. Gridsearch
        3. Learning curves
        4. Real-world case studies
          1. Building a recommender system
            1. Content-based filtering
            2. Collaborative filtering
            3. Reviewing the case study
          2. Insect detection in greenhouses
            1. Reviewing the case study
        5. Machine learning at a glance
        6. Summary
      17. Index