ebook img

Imbalanced Classification with Python: Better Metrics, Balance Skewed Classes, Cost-Sensitive Learning PDF

463 Pages·2020·5.06 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Imbalanced Classification with Python: Better Metrics, Balance Skewed Classes, Cost-Sensitive Learning

Imbalanced Classification with Python Choose Better Metrics, Balance Skewed Classes, and Apply Cost-Sensitive Learning Jason Brownlee i Disclaimer The information contained within this eBook is strictly for educational purposes. If you wish to apply ideas contained in this eBook, you are taking full responsibility for your actions. The author has made every effort to ensure the accuracy of the information within this book was correct at time of publication. The author does not assume and hereby disclaims any liability to any party for any loss, damage, or disruption caused by errors or omissions, whether such errors or omissions result from accident, negligence, or any other cause. No part of this eBook may be reproduced or transmitted in any form or by any means, electronic or mechanical, recording or by any information storage and retrieval system, without written permission from the author. Acknowledgements Special thanks to my copy editor Sarah Martin and my technical editors Michael Sanderson and Arun Koshy, Andrei Cheremskoy, and John Halfyard. Copyright Imbalanced Classification with Python ' Copyright 2021 Jason Brownlee. All Rights Reserved. Edition: v1.3 Contents Copyright i Contents ii Preface iii I Introduction iv II Foundation 1 1 What is Imbalanced Classification 2 1.1 Tutorial Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Classification Predictive Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Imbalanced Classification Problems . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 Causes of Class Imbalance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.5 Challenge of Imbalanced Classification . . . . . . . . . . . . . . . . . . . . . . . 5 1.6 Examples of Imbalanced Classification . . . . . . . . . . . . . . . . . . . . . . . 7 1.7 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2 Intuition for Imbalanced Classification 10 2.1 Tutorial Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.2 Create and Plot a Binary Classification Problem . . . . . . . . . . . . . . . . . . 10 2.3 Create Synthetic Dataset with a Class Distribution . . . . . . . . . . . . . . . . 12 2.4 Effect of Skewed Class Distributions . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.5 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3 Challenge of Imbalanced Classification 24 3.1 Tutorial Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.2 Why Imbalanced Classification Is Hard . . . . . . . . . . . . . . . . . . . . . . . 25 3.3 Compounding Effect of Dataset Size . . . . . . . . . . . . . . . . . . . . . . . . 26 3.4 Compounding Effect of Label Noise . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.5 Compounding Effect of Data Distribution . . . . . . . . . . . . . . . . . . . . . 31 3.6 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ii CONTENTS iii 3.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 III Model Evaluation 35 4 Tour of Model Evaluation Metrics 36 4.1 Tutorial Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.2 Challenge of Evaluation Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.3 Taxonomy of Classifier Evaluation Metrics . . . . . . . . . . . . . . . . . . . . . 38 4.4 How to Choose an Evaluation Metric . . . . . . . . . . . . . . . . . . . . . . . . 45 4.5 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 5 The Failure of Accuracy 48 5.1 Tutorial Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 5.2 What Is Classification Accuracy? . . . . . . . . . . . . . . . . . . . . . . . . . . 49 5.3 Accuracy Fails for Imbalanced Classification . . . . . . . . . . . . . . . . . . . . 50 5.4 Example of Accuracy for Imbalanced Classification . . . . . . . . . . . . . . . . 51 5.5 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 5.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 6 Precision, Recall, and F-measure 57 6.1 Tutorial Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 6.2 Precision Measure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 6.3 Recall Measure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 6.4 Precision vs. Recall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 6.5 F-measure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 6.6 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 6.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7 ROC Curves and Precision-Recall Curves 68 7.1 Tutorial Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 7.2 ROC Curves and ROC AUC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 7.3 Precision-Recall Curves and AUC . . . . . . . . . . . . . . . . . . . . . . . . . . 74 7.4 ROC and PR Curves With a Severe Imbalance . . . . . . . . . . . . . . . . . . . 77 7.5 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 7.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 8 Probability Scoring Methods 86 8.1 Tutorial Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 8.2 Probability Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 8.3 Log Loss Score . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 8.4 Brier Score . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 8.5 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 8.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 CONTENTS iv 9 Cross-Validation for Imbalanced Datasets 96 9.1 Tutorial Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 9.2 Challenge of Evaluating Classifiers . . . . . . . . . . . . . . . . . . . . . . . . . 97 9.3 Failure of k-Fold Cross-Validation . . . . . . . . . . . . . . . . . . . . . . . . . . 97 9.4 Fix Cross-Validation for Imbalanced Classification . . . . . . . . . . . . . . . . . 100 9.5 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 9.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 IV Data Sampling 103 10 Tour of Data Sampling Methods 104 10.1 Tutorial Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 10.2 Problem of an Imbalanced Class Distribution . . . . . . . . . . . . . . . . . . . . 105 10.3 Balance the Class Distribution With Sampling . . . . . . . . . . . . . . . . . . . 105 10.4 Tour of Popular Data Sampling Methods . . . . . . . . . . . . . . . . . . . . . . 107 10.5 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 10.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 11 Random Data Sampling 112 11.1 Tutorial Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 11.2 Random Sampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 11.3 Random Oversampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 11.4 Random Undersampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 11.5 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 11.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 12 Oversampling Methods 121 12.1 Tutorial Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 12.2 Synthetic Minority Oversampling Technique . . . . . . . . . . . . . . . . . . . . 122 12.3 SMOTE for Balancing Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 12.4 SMOTE for Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 12.5 SMOTE With Selective Sample Generation . . . . . . . . . . . . . . . . . . . . . 130 12.6 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 12.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 13 Undersampling Methods 139 13.1 Tutorial Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 13.2 Undersampling for Imbalanced Classification . . . . . . . . . . . . . . . . . . . . 140 13.3 Methods that Select Examples to Keep . . . . . . . . . . . . . . . . . . . . . . . 142 13.4 Methods that Select Examples to Delete . . . . . . . . . . . . . . . . . . . . . . 150 13.5 Combinations of Keep and Delete Methods . . . . . . . . . . . . . . . . . . . . . 155 13.6 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 13.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 CONTENTS v 14 Oversampling and Undersampling 163 14.1 Tutorial Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 14.2 Binary Test Problem and Decision Tree Model . . . . . . . . . . . . . . . . . . . 164 14.3 Manually Combine Data Sampling Methods . . . . . . . . . . . . . . . . . . . . 166 14.4 Standard Combined Data Sampling Methods . . . . . . . . . . . . . . . . . . . . 170 14.5 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 14.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 V Cost-Sensitive 177 15 Cost-Sensitive Learning 178 15.1 Tutorial Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 15.2 Not All Classification Errors Are Equal . . . . . . . . . . . . . . . . . . . . . . . 179 15.3 Cost-Sensitive Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 15.4 Cost-Sensitive Imbalanced Classification . . . . . . . . . . . . . . . . . . . . . . 182 15.5 Cost-Sensitive Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 15.6 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 15.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 16 Cost-Sensitive Logistic Regression 189 16.1 Tutorial Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 16.2 Imbalanced Classification Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . 190 16.3 Logistic Regression for Imbalanced Classification . . . . . . . . . . . . . . . . . . 192 16.4 Weighted Logistic Regression with Scikit-Learn . . . . . . . . . . . . . . . . . . 193 16.5 Grid Search Weighted Logistic Regression . . . . . . . . . . . . . . . . . . . . . 197 16.6 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 16.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 17 Cost-Sensitive Decision Trees 201 17.1 Tutorial Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 17.2 Imbalanced Classification Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . 202 17.3 Decision Trees for Imbalanced Classification . . . . . . . . . . . . . . . . . . . . 205 17.4 Weighted Decision Tree With Scikit-Learn . . . . . . . . . . . . . . . . . . . . . 206 17.5 Grid Search Weighted Decision Tree . . . . . . . . . . . . . . . . . . . . . . . . . 207 17.6 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 17.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 18 Cost-Sensitive Support Vector Machines 211 18.1 Tutorial Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 18.2 Imbalanced Classification Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . 212 18.3 SVM for Imbalanced Classification . . . . . . . . . . . . . . . . . . . . . . . . . 215 18.4 Weighted SVM With Scikit-Learn . . . . . . . . . . . . . . . . . . . . . . . . . . 217 18.5 Grid Search Weighted SVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 18.6 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 18.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 CONTENTS vi 19 Cost-Sensitive Deep Learning in Keras 223 19.1 Tutorial Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 19.2 Imbalanced Classification Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . 224 19.3 Neural Network Model in Keras . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 19.4 Deep Learning for Imbalanced Classification . . . . . . . . . . . . . . . . . . . . 228 19.5 Weighted Neural Network With Keras . . . . . . . . . . . . . . . . . . . . . . . 229 19.6 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 19.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 20 Cost-Sensitive Gradient Boosting with XGBoost 233 20.1 Tutorial Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 20.2 Imbalanced Classification Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . 234 20.3 XGBoost Model for Classification . . . . . . . . . . . . . . . . . . . . . . . . . . 235 20.4 Weighted XGBoost for Class Imbalance . . . . . . . . . . . . . . . . . . . . . . . 237 20.5 Tune the Class Weighting Hyperparameter . . . . . . . . . . . . . . . . . . . . . 240 20.6 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 20.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 VI Advanced Algorithms 244 21 Probability Threshold Moving 245 21.1 Tutorial Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 21.2 Converting Probabilities to Class Labels . . . . . . . . . . . . . . . . . . . . . . 246 21.3 Threshold-Moving for Imbalanced Classification . . . . . . . . . . . . . . . . . . 246 21.4 Optimal Threshold for ROC Curve . . . . . . . . . . . . . . . . . . . . . . . . . 248 21.5 Optimal Threshold for Precision-Recall Curve . . . . . . . . . . . . . . . . . . . 254 21.6 Optimal Threshold Tuning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 21.7 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 21.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 22 Probability Calibration 263 22.1 Tutorial Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 22.2 Problem of Uncalibrated Probabilities . . . . . . . . . . . . . . . . . . . . . . . . 264 22.3 How to Calibrate Probabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 22.4 SVM With Calibrated Probabilities . . . . . . . . . . . . . . . . . . . . . . . . . 266 22.5 Decision Tree With Calibrated Probabilities . . . . . . . . . . . . . . . . . . . . 270 22.6 Grid Search Probability Calibration With KNN . . . . . . . . . . . . . . . . . . 272 22.7 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 22.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 23 Ensemble Algorithms 277 23.1 Tutorial Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 23.2 Bagging for Imbalanced Classification . . . . . . . . . . . . . . . . . . . . . . . . 278 23.3 Random Forest for Imbalanced Classification . . . . . . . . . . . . . . . . . . . . 281 23.4 Easy Ensemble for Imbalanced Classification . . . . . . . . . . . . . . . . . . . . 285 23.5 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 CONTENTS vii 23.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 24 One-Class Classification 289 24.1 Tutorial Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 24.2 One-Class Classification for Imbalanced Data . . . . . . . . . . . . . . . . . . . 290 24.3 One-Class Support Vector Machines . . . . . . . . . . . . . . . . . . . . . . . . . 292 24.4 Isolation Forest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 24.5 Minimum Covariance Determinant . . . . . . . . . . . . . . . . . . . . . . . . . 296 24.6 Local Outlier Factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 24.7 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 24.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 VII Projects 303 25 Framework for Imbalanced Classification Projects 304 25.1 Tutorial Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 25.2 What Algorithm To Use? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 25.3 Use a Systematic Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 25.4 Detailed Framework for Imbalanced Classification . . . . . . . . . . . . . . . . . 306 25.5 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 25.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 26 Project: Haberman Breast Cancer Classification 319 26.1 Tutorial Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 26.2 Haberman Breast Cancer Survival Dataset . . . . . . . . . . . . . . . . . . . . . 320 26.3 Explore the Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 26.4 Model Test and Baseline Result . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 26.5 Evaluate Probabilistic Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 26.6 Make Prediction on New Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 26.7 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 26.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 27 Project: Oil Spill Classification 342 27.1 Tutorial Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 27.2 Oil Spill Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 27.3 Explore the Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 27.4 Model Test and Baseline Result . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 27.5 Evaluate Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 27.6 Make Prediction on New Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361 27.7 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364 27.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 28 Project: German Credit Classification 366 28.1 Tutorial Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 28.2 German Credit Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 28.3 Explore the Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 CONTENTS viii 28.4 Model Test and Baseline Result . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 28.5 Evaluate Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 28.6 Make Prediction on New Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 28.7 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 28.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389 29 Project: Microcalcification Classification 390 29.1 Tutorial Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390 29.2 Mammography Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 29.3 Explore the Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 29.4 Model Test and Baseline Result . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 29.5 Evaluate Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 29.6 Make Predictions on New Data . . . . . . . . . . . . . . . . . . . . . . . . . . . 407 29.7 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409 29.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410 30 Project: Phoneme Classification 411 30.1 Tutorial Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411 30.2 Phoneme Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 30.3 Explore the Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 30.4 Model Test and Baseline Result . . . . . . . . . . . . . . . . . . . . . . . . . . . 416 30.5 Evaluate Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419 30.6 Make Prediction on New Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 30.7 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 30.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430 VIII Appendix 431 A Getting Help 432 A.1 Imbalanced Classification Books . . . . . . . . . . . . . . . . . . . . . . . . . . . 432 A.2 Machine Learning Books . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432 A.3 Python APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432 A.4 Ask Questions About Imbalanced Classification . . . . . . . . . . . . . . . . . . 433 A.5 How to Ask Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433 A.6 Contact the Author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433 B How to Setup Python on Your Workstation 434 B.1 Tutorial Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 B.2 Download Anaconda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 B.3 Install Anaconda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436 B.4 Start and Update Anaconda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438 B.5 Install the Imbalanced-Learn Library . . . . . . . . . . . . . . . . . . . . . . . . 441 B.6 Install the Deep Learning Libraries . . . . . . . . . . . . . . . . . . . . . . . . . 441 B.7 Install the XGBoost Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442 B.8 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 B.9 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 CONTENTS ix IX Conclusions 444 How Far You Have Come 445

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.