Case study
We'll review a piece of the case study we set aside in Chapter 3, When Objects Are Alike. We talked about the various ways to compute distances, but left part of the design to be filled in later. Now that we've seen some of the basic design patterns, we can apply some of them to our evolving case study.
Specifically, we need to put the various kinds of distance computations into the Hyperparameter
class definition. In Chapter 3, we introduced the idea that the distance computation is not a single definition. There are over 50 commonly used distance computation alternatives, some simple, some rather complex. In Chapter 3, we showed a few common ones, including Euclidean distance, Manhattan distance, Chebyshev distance, and even a complex-looking Sorensen distance. Each weights the "nearness" of the neighbors slightly differently.
This leads us to look at the Hyperparameter
class as containing three important components:
-
...