Kneighbors / Classifier Layer

K-Nearest Neighbors Classifier - Classifier implementing the k-nearest neighbors vote.

Mathematical form: where:

  • is the k nearest neighbors of point x
  • is the weight of the i-th neighbor
  • is the indicator function

Key characteristics:

  • Instance-based learning
  • No training phase
  • Local decision making
  • Distance-based classification
  • Lazy learning algorithm

Common applications:

  • Pattern recognition
  • Recommendation systems
  • Anomaly detection
  • Image classification
  • Medical diagnosis

Outputs:

  1. Predicted Table: Input data with predictions
  2. Validation Results: Cross-validation metrics
  3. Test Metric: Test set performance
  4. ROC Curve Data: ROC analysis information
  5. Confusion Matrix: Classification breakdown
  6. Feature Importances: Distance-based importance

Note: Performance heavily depends on feature scaling and distance metric choice

Table
0
0
Predicted Table
1
Validation Results
2
Test Metric
3
ROC Curve Data
4
Confusion Matrix
5
Feature Importances

SelectFeatures

[column, ...]

Feature columns for k-Nearest Neighbors classification:

Requirements:

  • Numerical features
  • No missing values
  • Finite values only
  • Distance-compatible features

Preprocessing guidelines:

  1. Scaling (critical):

    • StandardScaler: When normal distribution
    • MinMaxScaler: When bounded range needed
    • RobustScaler: When outliers present
  2. Feature engineering:

    • Dimensionality reduction
    • Handle categorical variables
    • Create meaningful distances
    • Remove redundant features
  3. Distance considerations:

    • Feature relevance to distance
    • Feature interactions
    • Curse of dimensionality
    • Distance metric validity
  4. Quality checks:

    • Feature distributions
    • Outlier detection
    • Scale compatibility
    • Distance correlation

If empty, uses all numeric columns except target.

Note: Feature scaling is crucial for distance-based algorithms

Target column for k-NN classification:

Requirements:

  • Categorical labels
  • No missing values
  • At least two classes
  • Properly encoded

Local prediction characteristics:

  • Class probabilities from local density
  • Sensitive to local class distribution
  • Adapts to decision boundary shape
  • Non-parametric estimation

Class considerations:

  • Local class balance
  • Spatial class distribution
  • Class overlap regions
  • Decision boundary complexity

Quality checks:

  • Validate label consistency
  • Check class distributions
  • Monitor local densities
  • Verify label encoding

Params

oneof
DefaultParams

Optimized default configuration for k-Nearest Neighbors:

Default settings:

  • n_neighbors: 5 (balanced local influence)
  • weights: uniform (simple voting)
  • algorithm: auto (adaptive selection)
  • leaf_size: 30 (balanced tree structure)
  • power: 2 (Euclidean distance)

Best suited for:

  • Medium-sized datasets
  • Balanced classes
  • Scaled features
  • Initial exploration

Computational complexity:

  • Query time: for tree-based
  • Space: for storage

Fine-grained control over k-Nearest Neighbors parameters:

Parameter categories:

  1. Model structure (n_neighbors)
  2. Distance computation (weights, power)
  3. Algorithm optimization (algorithm, leaf_size)

Performance impact:

  • Time complexity
  • Memory usage
  • Prediction accuracy
  • Decision boundary smoothness

Number of neighbors for classification:

Selection guide:

  • Small k: More local, sensitive to noise
  • Large k: Smoother boundaries, biased
  • Rule of thumb:

Trade-offs:

  • Bias vs. variance
  • Noise sensitivity
  • Computation time
uniform

Neighbor weighting scheme for prediction:

Weight calculation:

  • Uniform:
  • Distance:

Impact:

  • Affects neighbor influence
  • Changes decision boundaries
  • Modifies prediction confidence
uniform ~

Equal weights for all neighbors:

Properties:

  • Simple majority voting
  • Distance-independent
  • More robust to noise
  • Stable predictions
distance ~

Inverse distance weighting:

Properties:

  • Closer neighbors more important
  • Smooth decision boundaries
  • Distance-sensitive
  • Better for continuous spaces
auto

Algorithm for computing nearest neighbors:

Selection criteria:

  1. Data dimensionality
  2. Sample size
  3. Distance metric
  4. Memory constraints
auto ~

Automatic algorithm selection:

Chooses based on:

  • Dataset size
  • Feature dimensionality
  • Metric type
  • Available memory
ball_tree ~

Ball Tree algorithm:

Best for:

  • High dimensions (n > 3)
  • Complex distance metrics
  • Variable density data
  • Memory efficiency needed
kd_tree ~

KD Tree algorithm:

Best for:

  • Low dimensions (n ≤ 3)
  • Euclidean distance
  • Uniform density data
  • Fast queries needed
brute ~

Brute force search:

Best for:

  • Small datasets
  • Very high dimensions
  • Custom metrics
  • When exact NN needed

Tree algorithm leaf size parameter:

Trade-offs:

  • Small: Faster queries, more memory
  • Large: Slower queries, less memory

Optimal value depends on:

  • Dataset size
  • Available memory
  • Query frequency
2

Minkowski distance power parameter:

Common values:

  • p=1: Manhattan distance
  • p=2: Euclidean distance (default)
  • p=∞: Chebyshev distance

Choose based on:

  • Feature space properties
  • Domain knowledge
  • Performance requirements

Hyperparameter optimization for k-Nearest Neighbors:

Search strategy:

  1. Model structure tuning
  2. Distance metric optimization
  3. Algorithm selection

Best practices:

  • Start with n_neighbors search
  • Consider data characteristics
  • Monitor computational resources

NNeighbors

[u32, ...]
5

Neighbor count values to evaluate:

Common grids:

  • Basic: [3, 5, 7]
  • Extended: [3, 5, 7, 9, 11]
  • Logarithmic: [1, 2, 4, 8, 16]

Consider dataset size when choosing range

Weights

[enum, ...]
uniform

Neighbor weighting scheme for prediction:

Weight calculation:

  • Uniform:
  • Distance:

Impact:

  • Affects neighbor influence
  • Changes decision boundaries
  • Modifies prediction confidence
uniform ~

Equal weights for all neighbors:

Properties:

  • Simple majority voting
  • Distance-independent
  • More robust to noise
  • Stable predictions
distance ~

Inverse distance weighting:

Properties:

  • Closer neighbors more important
  • Smooth decision boundaries
  • Distance-sensitive
  • Better for continuous spaces

Algorithm

[enum, ...]
auto

Algorithm for computing nearest neighbors:

Selection criteria:

  1. Data dimensionality
  2. Sample size
  3. Distance metric
  4. Memory constraints
auto ~

Automatic algorithm selection:

Chooses based on:

  • Dataset size
  • Feature dimensionality
  • Metric type
  • Available memory
ball_tree ~

Ball Tree algorithm:

Best for:

  • High dimensions (n > 3)
  • Complex distance metrics
  • Variable density data
  • Memory efficiency needed
kd_tree ~

KD Tree algorithm:

Best for:

  • Low dimensions (n ≤ 3)
  • Euclidean distance
  • Uniform density data
  • Fast queries needed
brute ~

Brute force search:

Best for:

  • Small datasets
  • Very high dimensions
  • Custom metrics
  • When exact NN needed

LeafSize

[u32, ...]
30

Leaf size values to evaluate:

Typical ranges:

  • Small: [10, 20, 30]
  • Medium: [30, 50, 70]
  • Large: [50, 100, 150]

Impact on tree construction and query speed

Power

[f64, ...]
2

Distance metric powers to evaluate:

Common values:

  • [1.0]: Manhattan distance
  • [2.0]: Euclidean distance
  • [1.0, 2.0, 3.0]: Compare metrics

Consider feature space geometry

Accuracy

Performance metric for model evaluation:

Selection criteria:

  • Default: Model's built-in scoring
  • Accuracy: Overall correctness
  • BalancedAccuracy: For imbalanced data
  • LogLoss: Probability quality
  • RocAuc: Threshold-independent

Choose based on:

  • Class distribution
  • Problem requirements
  • Prediction type needed
Default ~

Uses estimator's built-in scoring method:

For Bernoulli NB:

  • Returns accuracy score
  • Equal weight to all samples
  • Fast computation

Best for:

  • Quick evaluation
  • Balanced datasets
  • Initial testing
Accuracy ~

Standard classification accuracy score:

Formula:

Properties:

  • Range: [0, 1]
  • Perfect score: 1.0
  • Baseline: max(class proportions)

Best for:

  • Balanced classes
  • Equal error costs
  • Simple evaluation
BalancedAccuracy ~

Class-weighted accuracy score:

Formula:

Properties:

  • Adjusts for class imbalance
  • Range: [0, 1]
  • Random baseline: 0.5

Best for:

  • Imbalanced datasets
  • When minority classes matter
  • Uneven class distributions
LogLoss ~

Logarithmic loss (cross-entropy):

Formula:

Properties:

  • Penalizes confident mistakes
  • Range: [0, ∞)
  • Perfect score: 0.0

Best for:

  • Probability calibration
  • When confidence matters
  • Probabilistic predictions
RocAuc ~

Area Under Receiver Operating Characteristic Curve:

Properties:

  • Threshold-independent
  • Range: [0, 1]
  • Random baseline: 0.5
  • Perfect score: 1.0

Best for:

  • Binary classification
  • Threshold tuning
  • Ranking evaluation
  • Imbalanced datasets

Note: For multiclass, computes average ROC AUC

Split

oneof
DefaultSplit

Standard train-test split configuration optimized for general classification tasks.

Configuration:

  • Test size: 20% (0.2)
  • Random seed: 98
  • Shuffling: Enabled
  • Stratification: Based on target distribution

Advantages:

  • Preserves class distribution
  • Provides reliable validation
  • Suitable for most datasets

Best for:

  • Medium to large datasets
  • Independent observations
  • Initial model evaluation

Splitting uses the ShuffleSplit strategy or StratifiedShuffleSplit strategy depending on the field stratified. Note: If shuffle is false then stratified must be false.

Configurable train-test split parameters for specialized requirements. Allows fine-tuning of data division strategy for specific use cases or constraints.

Use cases:

  • Time series data
  • Grouped observations
  • Specific train/test ratios
  • Custom validation schemes

Random seed for reproducible splits. Ensures:

  • Consistent train/test sets
  • Reproducible experiments
  • Comparable model evaluations

Same seed guarantees identical splits across runs.

true

Data shuffling before splitting. Effects:

  • true: Randomizes order, better for i.i.d. data
  • false: Maintains order, important for time series

When to disable:

  • Time dependent data
  • Sequential patterns
  • Grouped observations
0.8

Proportion of data for training. Considerations:

  • Larger (e.g., 0.8-0.9): Better model learning
  • Smaller (e.g., 0.5-0.7): Better validation

Common splits:

  • 0.8: Standard (80/20 split)
  • 0.7: More validation emphasis
  • 0.9: More training emphasis
false

Maintain class distribution in splits. Important when:

  • Classes are imbalanced
  • Small classes present
  • Representative splits needed

Requirements:

  • Classification tasks only
  • Cannot use with shuffle=false
  • Sufficient samples per class

Cv

oneof
DefaultCv

Standard cross-validation configuration using stratified 3-fold splitting.

Configuration:

  • Folds: 3
  • Method: StratifiedKFold
  • Stratification: Preserves class proportions

Advantages:

  • Balanced evaluation
  • Reasonable computation time
  • Good for medium-sized datasets

Limitations:

  • May be insufficient for small datasets
  • Higher variance than larger fold counts
  • May miss some data patterns

Configurable stratified k-fold cross-validation for specific validation requirements.

Features:

  • Adjustable fold count with NFolds determining the number of splits.
  • Stratified sampling
  • Preserved class distributions

Use cases:

  • Small datasets (more folds)
  • Large datasets (fewer folds)
  • Detailed model evaluation
  • Robust performance estimation
3

Number of cross-validation folds. Guidelines:

  • 3-5: Large datasets, faster training
  • 5-10: Standard choice, good balance
  • 10+: Small datasets, thorough evaluation

Trade-offs:

  • More folds: Better evaluation, slower training
  • Fewer folds: Faster training, higher variance

Must be at least 2.

K-fold cross-validation without stratification. Divides data into k consecutive folds for iterative validation.

Process:

  • Splits data into k equal parts
  • Each fold serves as validation once
  • Remaining k-1 folds form training set

Use cases:

  • Regression problems
  • Large, balanced datasets
  • When stratification unnecessary
  • Continuous target variables

Limitations:

  • May not preserve class distributions
  • Less suitable for imbalanced data
  • Can create biased splits with ordered data

Number of folds for cross-validation. Selection guide: Recommended values:

  • 5: Standard choice (default)
  • 3: Large datasets/quick evaluation
  • 10: Thorough evaluation/smaller datasets

Trade-offs:

  • Higher values: More thorough, computationally expensive
  • Lower values: Faster, potentially higher variance

Must be at least 2 for valid cross-validation.

Random seed for fold generation when shuffling. Important for:

  • Reproducible results
  • Consistent fold assignments
  • Benchmark comparisons
  • Debugging and validation

Set specific value for reproducibility across runs.

true

Whether to shuffle data before splitting into folds. Effects:

  • true: Randomized fold composition (recommended)
  • false: Sequential splitting

Enable when:

  • Data may have ordering
  • Better fold independence needed

Disable for:

  • Time series data
  • Ordered observations

Stratified K-fold cross-validation maintaining class proportions across folds.

Key features:

  • Preserves class distribution in each fold
  • Handles imbalanced datasets
  • Ensures representative splits

Best for:

  • Classification problems
  • Imbalanced class distributions
  • When class proportions matter

Requirements:

  • Classification tasks only
  • Sufficient samples per class
  • Categorical target variable

Number of stratified folds. Guidelines: Typical values:

  • 5: Standard for most cases
  • 3: Quick evaluation/large datasets
  • 10: Detailed evaluation/smaller datasets

Considerations:

  • Must allow sufficient samples per class per fold
  • Balance between stability and computation time
  • Consider smallest class size when choosing

Seed for reproducible stratified splits. Ensures:

  • Consistent fold assignments
  • Reproducible results
  • Comparable experiments
  • Systematic validation

Fixed seed guarantees identical stratified splits.

false

Data shuffling before stratified splitting. Impact:

  • true: Randomizes while maintaining stratification
  • false: Maintains data order within strata

Use cases:

  • true: Independent observations
  • false: Grouped or sequential data

Class proportions maintained regardless of setting.

Random permutation cross-validator with independent sampling.

Characteristics:

  • Random sampling for each split
  • Independent train/test sets
  • More flexible than K-fold
  • Can have overlapping test sets

Advantages:

  • Control over test size
  • Fresh splits each iteration
  • Good for large datasets

Limitations:

  • Some samples might never be tested
  • Others might be tested multiple times
  • No guarantee of complete coverage

Number of random splits to perform. Consider: Common values:

  • 5: Standard evaluation
  • 10: More thorough assessment
  • 3: Quick estimates

Trade-offs:

  • More splits: Better estimation, longer runtime
  • Fewer splits: Faster, less stable estimates

Balance between computation and stability.

Random seed for reproducible shuffling. Controls:

  • Split randomization
  • Sample selection
  • Result reproducibility

Important for:

  • Debugging
  • Comparative studies
  • Result verification
0.2

Proportion of samples for test set. Guidelines: Common ratios:

  • 0.2: Standard (80/20 split)
  • 0.25: More validation emphasis
  • 0.1: More training data

Considerations:

  • Dataset size
  • Model complexity
  • Validation requirements

It must be between 0.0 and 1.0.

Stratified random permutation cross-validator combining shuffle-split with stratification.

Features:

  • Maintains class proportions
  • Random sampling within strata
  • Independent splits
  • Flexible test size

Ideal for:

  • Imbalanced datasets
  • Large-scale problems
  • When class distributions matter
  • Flexible validation schemes

Number of stratified random splits. Guidelines: Recommended values:

  • 5: Standard evaluation
  • 10: Detailed analysis
  • 3: Quick assessment

Consider:

  • Sample size per class
  • Computational resources
  • Stability requirements

Seed for reproducible stratified sampling. Ensures:

  • Consistent class proportions
  • Reproducible splits
  • Comparable experiments

Critical for:

  • Benchmarking
  • Research studies
  • Quality assurance
0.2

Fraction of samples for stratified test set. Best practices: Common splits:

  • 0.2: Balanced evaluation
  • 0.3: More thorough testing
  • 0.15: Preserve training size

Consider:

  • Minority class size
  • Overall dataset size
  • Validation objectives

It must be between 0.0 and 1.0.

Time Series cross-validator. Provides train/test indices to split time series data samples that are observed at fixed time intervals, in train/test sets. It is a variation of k-fold which returns first k folds as train set and the k + 1th fold as test set. Note that unlike standard cross-validation methods, successive training sets are supersets of those that come before them. Also, it adds all surplus data to the first training partition, which is always used to train the model. Key features:

  • Maintains temporal dependence
  • Expanding window approach
  • Forward-chaining splits
  • No future data leakage

Use cases:

  • Sequential data
  • Financial forecasting
  • Temporal predictions
  • Time-dependent patterns

Note: Training sets are supersets of previous iterations.

Number of temporal splits. Considerations: Typical values:

  • 5: Standard forward chaining
  • 3: Limited historical data
  • 10: Long time series

Impact:

  • Affects training window growth
  • Determines validation points
  • Influences computational load

Maximum size of training set. Should be strictly less than the number of samples. Applications:

  • 0: Use all available past data
  • >0: Rolling window of fixed size

Use cases:

  • Limit historical relevance
  • Control computational cost
  • Handle concept drift
  • Memory constraints

Number of samples in each test set. When 0:

  • Auto-calculated as n_samples/(n_splits+1)
  • Ensures equal-sized test sets

Considerations:

  • Forecast horizon
  • Validation requirements
  • Available future data

Gap

u64
0

Number of samples to exclude from the end of each train set before the test set.Gap between train and test sets. Uses:

  • Avoid data leakage
  • Model forecast lag
  • Buffer periods

Common scenarios:

  • 0: Continuous prediction
  • >0: Forward gap for realistic evaluation
  • Match business forecasting needs