Skip to content

[source]

Radius Neighbors#

Radius Neighbors is a classifier that takes the distance-weighted vote of each neighbor within a cluster of a fixed user-defined radius to make a prediction. Since the radius of the search can be constrained, Radius Neighbors is more robust to outliers than K Nearest Neighbors. In addition, Radius Neighbors acts as a quasi-anomaly detector by flagging samples that have 0 neighbors within the search radius.

Interfaces: Estimator, Learner, Probabilistic, Persistable

Data Type Compatibility: Depends on distance kernel

Parameters#

# Name Default Type Description
1 radius 1.0 float The radius within which points are considered neighbors.
2 weighted false bool Should we consider the distances of our nearest neighbors when making predictions?
3 outlierClass '?' string The class label for any samples that have 0 neighbors within the specified radius.
4 tree BallTree Spatial The spatial tree used to run range searches.

Example#

use Rubix\ML\Classifiers\RadiusNeighbors;
use Rubix\ML\Graph\Trees\KDTree;
use Rubix\ML\Kernels\Distance\Manhattan;

$estimator = new RadiusNeighbors(50.0, true, '?', new KDTree(100, new Manhattan()));

Additional Methods#

Return the base spatial tree instance:

public tree() : Spatial