Data Preprocessing Hyperparameters

Learn about data preprocessing hyperparameters in machine learning. Understanding scaling, encoding, and feature engineering parameters.

▶ Open the simulation

Introduction

Data preprocessing hyperparameters control how raw data is transformed before model training. These parameters significantly impact model performance, training efficiency, and generalization ability. Understanding how to tune preprocessing parameters is crucial for building effective machine learning pipelines.

Scaling Parameters

StandardScaler

Standardizes features to zero mean and unit variance:

z = (x - μ) / σ
  • No hyperparameters
  • Assumes normal distribution
  • Sensitive to outliers

MinMaxScaler

Scales features to [0, 1] range:

x_scaled = (x - min) / (max - min)
  • Feature range: (min, max)
  • Default: (0, 1)
  • Preserves zero entries

RobustScaler

Uses median and IQR for scaling:

z = (x - median) / IQR
  • No hyperparameters
  • Robust to outliers
  • Uses quartiles

Encoding Parameters

One-Hot Encoding

Creates binary columns for categorical variables:

  • Drop parameter: 'first', 'if_binary', None
  • Sparse parameter: True/False
  • Handle unknown: 'error', 'ignore'

Label Encoding

Maps categories to integers:

  • No hyperparameters
  • Order matters
  • Use for ordinal data

Target Encoding

Encodes categories using target statistics:

  • Smoothing parameter: controls overfitting
  • Min samples leaf: minimum samples per category
  • Noise level: adds random noise

Feature Engineering Parameters

Polynomial Features

Creates polynomial combinations:

degree = 2 # polynomial degree interaction_only = False # only interaction terms include_bias = True # include bias term
  • Degree: polynomial order
  • Interaction only: no powers
  • Include bias: add constant term

Feature Selection

Selects most important features:

  • K best: number of features to select
  • Score function: f_classif, mutual_info_classif
  • Percentile: percentage of features to keep

Imputation Parameters

Simple Imputer

Fills missing values:

strategy = 'mean' # 'mean', 'median', 'most_frequent', 'constant' fill_value = None # for constant strategy
  • Strategy: imputation method
  • Fill value: for constant strategy
  • Missing values: what to consider missing

KNN Imputer

Uses k-nearest neighbors for imputation:

  • N neighbors: number of neighbors
  • Weights: 'uniform', 'distance'
  • Metric: distance metric

Dimensionality Reduction Parameters

PCA

Principal Component Analysis:

n_components = 0.95 # number of components or variance ratio whiten = False # whiten components
  • N components: number or variance ratio
  • Whiten: normalize components
  • Random state: for reproducibility

LDA

Linear Discriminant Analysis:

  • N components: number of components
  • Solver: 'svd', 'lsqr', 'eigen'
  • Shrinkage: regularization parameter

Text Preprocessing Parameters

TF-IDF

Term Frequency-Inverse Document Frequency:

max_features = 10000 # maximum features ngram_range = (1, 2) # n-gram range min_df = 2 # minimum document frequency max_df = 0.95 # maximum document frequency
  • Max features: vocabulary size
  • N-gram range: word combinations
  • Min/max DF: document frequency limits

Count Vectorizer

Counts word occurrences:

  • Max features: vocabulary size
  • N-gram range: word combinations
  • Binary: binary counts

Image Preprocessing Parameters

Resize

Resizes images to fixed dimensions:

  • Size: target dimensions
  • Interpolation: resampling method
  • Keep aspect ratio: maintain proportions

Normalization

Normalizes pixel values:

mean = [0.485, 0.456, 0.406] # ImageNet means std = [0.229, 0.224, 0.225] # ImageNet stds
  • Mean: channel means
  • Std: channel standard deviations
  • Per channel: normalize each channel

Parameter Tuning Strategies

Pipeline Search

param_grid = { 'scaler': [StandardScaler(), MinMaxScaler(), RobustScaler()], 'pca__n_components': [0.8, 0.9, 0.95], 'classifier__C': [0.1, 1, 10] }

Validation Strategy

  • Use cross-validation
  • Prevent data leakage
  • Fit transformers on training data
  • Transform test data with fitted transformers

Key Insight

Preprocessing parameters should be tuned as part of the overall pipeline. Use cross-validation to prevent data leakage and ensure transformers are fitted only on training data.

Frequently Asked Questions

Which scaler should I use?

Use StandardScaler for normal data, MinMaxScaler for bounded data, RobustScaler for outlier-prone data. Test multiple scalers and choose based on validation performance.

How do I handle categorical variables?

Use one-hot encoding for nominal variables, label encoding for ordinal variables, target encoding for high-cardinality variables. Consider the number of categories and model requirements.

What's the best way to handle missing values?

Use SimpleImputer for simple cases, KNNImputer for complex patterns, or model-based imputation. Consider the missingness pattern and data characteristics.

How do I choose PCA components?

Use variance ratio (e.g., 0.95) to retain 95% of variance, or specify number of components. Plot explained variance to guide selection. Consider computational constraints.

What are good TF-IDF parameters?

Start with max_features=10000, ngram_range=(1,2), min_df=2, max_df=0.95. Adjust based on vocabulary size, document length, and computational resources.

What did you find?

Add reproduction steps (optional)