Test-Driven Machine Learning
About This Book
- Build smart extensions to pre-existing features at work that can help maximize their value
- Quantify your models to drive real improvement
- Take your knowledge of basic concepts, such as linear regression and Naive Bayes classification, to the next level and productionalize their models
- Play what-if games with your models and techniques by following the test-driven exploration process
Who This Book Is For
This book is intended for data technologists (scientists, analysts, or developers) with previous machine learning experience who are also comfortable reading code in Python. This book is ideal for those looking for a way to deliver results quickly to enable rapid iteration and improvement.
What You Will Learn
- Get started with an introduction to test-driven development and familiarize yourself with how to apply these concepts to machine learning
- Build and test a neural network deterministically, and learn to look for niche cases that cause odd model behaviour
- Learn to use the multi-armed bandit algorithm to make optimal choices in the face of an enormous amount of uncertainty
- Generate complex and simple random data to create a wide variety of test cases that can be codified into tests
- Develop models iteratively, even when using a third-party library
- Quantify model quality to enable collaboration and rapid iteration
- Adopt simpler approaches to common machine learning algorithms
- Use behaviour-driven development principles to articulate test intent
Machine learning is the process of teaching machines to remember data patterns, using them to predict future outcomes, and offering choices that would appeal to individuals based on their past preferences.
The book begins with an introduction to test-driven machine learning and quantifying model quality. From there, you will test a neural network, predict values with regression, and build upon regression techniques with logistic regression. You will discover how to test different approaches to Naive Bayes and compare them quantitatively, along with learning how to apply OOP (Object Oriented Programming) and OOP patterns to test-driven code, leveraging scikit-Learn.
Finally, you will walk through the development of an algorithm which maximizes the expected value of profit for a marketing campaign, by combining one of the classifiers covered with the multiple regression example in the book.