liveBook · Manning

Clustering assumption

As explained in Outlier Detection in Python

The classification assumption that each class occupies one cluster or a small number of localized clusters in feature space.

The clustering assumption treats each class as occupying one cluster or a small number of localized regions in feature space. Classification can use this structure, but outlier detection often cannot. section 15.3.2

Outliers usually appear wherever normal data is absent, so they are dispersed rather than clustered. A dense outlier cluster would generally cease to be an outlier group, except when it represents a pattern absent during training. section 15.3.2

Figure 15.8 Left pane: dataset with known outliers. Inliers are drawn as dots and outliers as stars. Conceivably, we can create a classifier to separate these, but as the outliers are distributed throughout the space, it is not clear where to draw the decision boundary. This is much more of a problem in higher dimensions. Right pane: where there are many examples each of a small number of specific outliers, it is more feasible to classify these.

A synthetic dataset shows three large inlier clusters and scattered known outliers, illustrating why a classifier cannot determine reliable boundaries around future outliers; classification becomes more feasible when specific outlier types form repeated small clusters. section 15.3.2

How Outlier Detection in Python covers it

How deep it goes
Defines the assumption and demonstrates its failure for dispersed outliers, without developing a formal mathematical derivation.
Examples
Uses a synthetic dataset with three large inlier clusters, eight known outliers, and possible future outliers across the remaining space.
What you can do after
Evaluate whether classification boundaries are credible when target records are dispersed rather than concentrated in known clusters.
How it connects
Connects classification, the smoothness assumption, outlier detection, binary classifiers, and one-class models.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Outlier Detection in Python. The section links point to the parts of the book it draws on.