transformers Module#
Data transformation utilities for epidemiological analysis.
This module provides transformer classes and functions for cleaning, normalizing, and preparing epidemiological data for analysis, with scikit-learn compatible interfaces.
Classes#
Functions#
Examples#
Date transformation:
from episia.data.transformers import DateTransformer
transformer = DateTransformer(date_columns=['date_col'], extract_features=True)
df_transformed = transformer.fit_transform(df)
# New columns: date_col_year, date_col_month, date_col_day, etc.
Categorical encoding:
from episia.data.transformers import CategoricalTransformer
transformer = CategoricalTransformer(
categorical_columns=['district', 'disease'],
encoding='onehot'
)
df_encoded = transformer.fit_transform(df)
Outlier handling:
from episia.data.transformers import OutlierTransformer
transformer = OutlierTransformer(
numeric_columns=['age', 'bmi'],
method='iqr',
threshold=1.5,
action='clip'
)
df_cleaned = transformer.fit_transform(df)
Feature engineering:
from episia.data.transformers import FeatureEngineer
transformer = FeatureEngineer()
df_features = transformer.fit_transform(df)
# Creates age_groups, bmi categories, interaction terms
Pipeline creation:
from episia.data.transformers import create_pipeline, DateTransformer, CategoricalTransformer
pipeline = create_pipeline([
DateTransformer(date_columns=['date']),
CategoricalTransformer(categorical_columns=['district']),
OutlierTransformer(numeric_columns=['cases'])
])
df_processed = pipeline(df)
Normalization:
from episia.data.transformers import normalize_data
df_norm = normalize_data(df, columns=['age', 'bmi'], method='standard')