Skip to content

glassbox.models.neighbors

K-Nearest Neighbors models.


KNeighborsClassifier

KNeighborsClassifier(
    k=5, metric=EUCLIDEAN, algorithm=BRUTE_FORCE
)

Bases: BaseKNN

Source code in glassbox/models/neighbors/_knn.py
def __init__(
    self,
    k: int = 5,
    metric: DistanceMetric = DistanceMetric.EUCLIDEAN,
    algorithm: SearchAlgorithm = SearchAlgorithm.BRUTE_FORCE,
) -> None:
    """
    Initialize the BaseKNN estimator.

    Parameters
    ----------
    k : int, default=5
        Number of neighbors to use.
    metric : DistanceMetric, default=DistanceMetric.EUCLIDEAN
        Distance metric to compute distances.
    algorithm : SearchAlgorithm, default=SearchAlgorithm.BRUTE_FORCE
        Algorithm used to compute the nearest neighbors.
    """
    self.k: int = k
    self.metric: DistanceMetric = metric
    self.algorithm: SearchAlgorithm = algorithm
    self.index: BaseIndex | None = None
    self.y_train: np.ndarray | None = None

KNeighborsRegressor

KNeighborsRegressor(
    k=5, metric=EUCLIDEAN, algorithm=BRUTE_FORCE
)

Bases: BaseKNN

Source code in glassbox/models/neighbors/_knn.py
def __init__(
    self,
    k: int = 5,
    metric: DistanceMetric = DistanceMetric.EUCLIDEAN,
    algorithm: SearchAlgorithm = SearchAlgorithm.BRUTE_FORCE,
) -> None:
    """
    Initialize the BaseKNN estimator.

    Parameters
    ----------
    k : int, default=5
        Number of neighbors to use.
    metric : DistanceMetric, default=DistanceMetric.EUCLIDEAN
        Distance metric to compute distances.
    algorithm : SearchAlgorithm, default=SearchAlgorithm.BRUTE_FORCE
        Algorithm used to compute the nearest neighbors.
    """
    self.k: int = k
    self.metric: DistanceMetric = metric
    self.algorithm: SearchAlgorithm = algorithm
    self.index: BaseIndex | None = None
    self.y_train: np.ndarray | None = None