Testing
Learn testing with map-reduce using classifier strategies in the Hyperparameter class.
We'll cover the following
Overview
The testing process can also be defined as a higher-order function, a function that accepts a function as a parameter value. We can summarize the testing effort as
a map-reduce problem. Given a Hyperparameter
with a value and a distance algorithm, we need to use an iterator for the following two steps:
-
A function classifies all test samples, mapping each test sample to if the classification was correct or for an incorrect classification. This is the map part of map-reduce.
-
A function computes a summary with the count of correct values from the long sequence of actual classified samples. This is the reduce part of map-reduce.
Python provides high-level functions for these map and reduce operations. This allows us to focus on the details of the mapping and ignore the boilerplate part of iterating over the data items.
Looking forward to the next section, we’ll want to refactor the Hyperparameter
class to split the classifier algorithm into a separate, standalone function. We’ll make the classifier function a Strategy that we provide when we create an instance of the Hyperparameter
class. Doing this means we can more easily experiment with some alternatives. We’ll look at three different ways to approach refactoring a class.
Implementation
Here’s one definition that relies on an external classifier function:
Get hands-on with 1400+ tech skills courses.