Machine Learning in Python: Essential Techniques for Predictive Analysis

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Learn a simpler and more effective way to analyze data and predict outcomes with Python Machine Learning in Python shows you how to successfully analyze data using only two core machine learning algorithms, and how to apply them using Python. By focusing on two algorithm families that effectively predict outcomes, this book is able to provide full descriptions of the mechanisms at work, and the examples that illustrate the machinery with specific, hackable code. The algorithms are explained in simple terms with no complex math and applied using Python, with guidance on algorithm selection, data preparation, and using the trained models in practice. You will learn a core set of Python programming techniques, various methods of building predictive models, and how to measure the performance of each model to ensure that the right one is used. The chapters on penalized linear regression and ensemble methods dive deep into each of the algorithms, and you can use the sample code in the book to develop your own data analysis solutions. Machine learning algorithms are at the core of data analytics and visualization. In the past, these methods required a deep background in math and statistics, often in combination with the specialized R programming language. This book demonstrates how machine learning can be implemented using the more widely used and accessible Python programming language. Predict outcomes using linear and ensemble algorithm families Build predictive models that solve a range of simple and complex problems Apply core machine learning algorithms using Python Use sample code directly to build custom solutions Machine learning doesn't have to be complex and highly specialized. Python makes this technology more accessible to a much wider audience, using methods that are simpler, effective, and well tested. Machine Learning in Python shows you how to do this, without requiring an extensive background in math or statistics.

Author(s): Michael Bowles
Publisher: Wiley
Year: 2017

Language: English
Pages: 360

Machine Learning in Python®
Contents
Introduction
Chapter 1 The Two Essential Algorithms for Making Predictions
Why Are These Two Algorithms So Useful?
What Are Penalized Regression Methods?
What Are Ensemble Methods?
How to Decide Which Algorithm to Use
The Process Steps for Building a Predictive Model
Framing a Machine Learning Problem
Feature Extraction and Feature Engineering
Determining Performance of a Trained Model
Chapter Contents and Dependencies
Summary
Chapter 2 Understand the Problem by Understanding the Data
The Anatomy of a New Problem
Different Types of Attributes and Labels Drive Modeling Choices
Things to Notice about Your New Data Set
Classification Problems: Detecting Unexploded Mines Using Sonar
Physical Characteristics of the Rocks Versus Mines Data Set
Statistical Summaries of the Rocks versus Mines Data Set
Visualization of Outliers Using Quantile-Quantile Plot
Statistical Characterization of Categorical Attributes
How to Use Python Pandas to Summarize the Rocks Versus Mines Data Set
Visualizing Properties of the Rocks versus Mines Data Set
Visualizing with Parallel Coordinates Plots
Visualizing Interrelationships between Attributes and Labels
Visualizing Attribute and Label Correlations Using a Heat Map
Summarizing the Process for Understanding Rocks versus Mines Data Set
Real-Valued Predictions with Factor Variables: How Old Is Your Abalone?
Parallel Coordinates for Regression Problems—Visualize Variable Relationships for Abalone Problem
How to Use Correlation Heat Map for Regression—Visualize Pair-Wise Correlations for the Abalone Problem
Real-Valued Predictions Using Real-Valued Attributes: Calculate How Your Wine Tastes
Multiclass Classification Problem: What Type of Glass Is That?
Summary
Chapter 3 Predictive Model Building: Balancing Performance, Complexity, and Big Data
The Basic Problem: Understanding Function Approximation
Working with Training Data
Assessing Performance of Predictive Models
Factors Driving Algorithm Choices and Performance—Complexity and Data
Contrast Between a Simple Problem and a Complex Problem
Contrast Between a Simple Model and a Complex Model
Factors Driving Predictive Algorithm Performance
Choosing an Algorithm: Linear or Nonlinear?
Measuring the Performance of Predictive Models
Performance Measures for Different Types of Problems
Simulating Performance of Deployed Models
Achieving Harmony Between Model and Data
Choosing a Model to Balance Problem Complexity, Model Complexity, and Data Set Size
Using Forward Stepwise Regression to Control Overfitting
Evaluating and Understanding Your Predictive Model
Control Overfitting by Penalizing Regression Coefficients—Ridge Regression
Summary
Chapter 4 Penalized Linear Regression
Why Penalized Linear Regression Methods Are So Useful
Extremely Fast Coefficient Estimation
Variable Importance Information
Extremely Fast Evaluation When Deployed
Reliable Performance
Sparse Solutions
Problem May Require Linear Model
When to Use Ensemble Methods
Penalized Linear Regression: Regulating Linear Regression for Optimum Performance
Training Linear Models: Minimizing Errors and More
Adding a Coefficient Penalty to the OLS Formulation
Other Useful Coefficient Penalties—Manhattan and ElasticNet
Why Lasso Penalty Leads to Sparse Coefficient Vectors
ElasticNet Penalty Includes Both Lasso and Ridge
Solving the Penalized Linear Regression Problem
Understanding Least Angle Regression and Its Relationship to Forward Stepwise Regression
How LARS Generates Hundreds of Models of Varying Complexity
Choosing the Best Model from The Hundreds LARS Generates
Using Glmnet: Very Fast and Very General
Comparison of the Mechanics of Glmnet and LARS Algorithms
Initializing and Iterating the Glmnet Algorithm
Extensions to Linear Regression with Numeric Input
Solving Classification Problems with Penalized Regression
Working with Classification Problems Having More Than Two Outcomes
Understanding Basis Expansion: Using Linear Methods on Nonlinear Problems
Incorporating Non-Numeric Attributes into Linear Methods
Summary
Chapter 5 Building Predictive Models Using Penalized Linear Methods
Python Packages for Penalized Linear Regression
Multivariable Regression: Predicting Wine Taste
Building and Testing a Model to Predict Wine Taste
Training on the Whole Data Set before Deployment
Basis Expansion: Improving Performance by Creating New Variables from Old Ones
Binary Classification: Using Penalized Linear Regression to Detect Unexploded Mines
Build a Rocks versus Mines Classifier for Deployment
Multiclass Classification: Classifying Crime Scene Glass Samples
Summary
Chapter 6 Ensemble Methods
Binary Decision Trees
How a Binary Decision Tree Generates Predictions
How to Train a Binary Decision Tree
Tree Training Equals Split Point Selection
How Split Point Selection Affects Predictions
Algorithm for Selecting Split Points
Multivariable Tree Training—Which Attribute to Split?
Recursive Splitting for More Tree Depth
Overfitting Binary Trees
Measuring Overfit with Binary Trees
Balancing Binary Tree Complexity for Best Performance
Modifications for Classification and Categorical Features
Bootstrap Aggregation: “Bagging”
How Does the Bagging Algorithm Work?
Bagging Performance—Bias versus Variance
How Bagging Behaves on Multivariable Problem
Bagging Needs Tree Depth for Performance
Summary of Bagging
Gradient Boosting
Basic Principle of Gradient Boosting Algorithm
Parameter Settings for Gradient Boosting
How Gradient Boosting Iterates Toward a Predictive Model
Getting the Best Performance from Gradient Boosting
Gradient Boosting on a Multivariable Problem
Summary for Gradient Boosting
Random Forest
Random Forests: Bagging Plus Random Attribute Subsets
Random Forests Performance Drivers
Random Forests Summary
Summary
Chapter 7 Building Ensemble Models with Python
Solving Regression Problems with Python Ensemble Packages
Building a Random Forest Model to Predict Wine Taste
Constructing a RandomForestRegressor Object
Modeling Wine Taste with RandomForestRegressor
Visualizing the Performance of a Random Forests Regression Model
Using Gradient Boosting to Predict Wine Taste
Using the Class Constructor for GradientBoostingRegressor
Using GradientBoostingRegressor to Implement a Regression Model
Assessing the Performance of a Gradient Boosting Model
Coding Bagging to Predict Wine Taste
Incorporating Non-Numeric Attributes in Python Ensemble Models
Coding the Sex of Abalone for Input to Random Forest Regression in Python
Assessing Performance and the Importance of Coded Variables
Coding the Sex of Abalone for Gradient Boosting Regression in Python
Assessing Performance and the Importance of Coded Variables with Gradient Boosting
Solving Binary Classification Problems with Python Ensemble Methods
Detecting Unexploded Mines with Python Random Forest
Constructing a Random Forests Model to Detect Unexploded Mines
Determining the Performance of a Random Forests Classifier
Detecting Unexploded Mines with Python Gradient Boosting
Determining the Performance of a Gradient Boosting Classifier
Solving Multiclass Classification Problems with Python Ensemble Methods
Classifying Glass with Random Forests
Dealing with Class Imbalances
Classifying Glass Using Gradient Boosting
Assessing the Advantage of Using Random Forest Base Learners with Gradient Boosting
Comparing Algorithms
Summary
Index
EULA