ScalerCrafter¶
The ScalerCrafter normalizes numerical features using various scaling techniques.
Overview¶
from mlfcrafter import ScalerCrafter
crafter = ScalerCrafter(
scaler_type="minmax",
columns=None # Auto-select numerical columns
)
Parameters¶
scaler_type (str)¶
Default: "minmax"
Available Types:
- "minmax": MinMaxScaler - scales features to [0,1] range
- "standard": StandardScaler - standardizes features (mean=0, std=1)
- "robust": RobustScaler - uses median and IQR, robust to outliers
columns (Optional[List[str]])¶
Default: None (auto-select all numerical columns)
Specific columns to scale. If None, automatically selects all numerical columns except target column.
Context Input¶
data: Dataset to scale (required)target_column: Target column to exclude from scaling (optional)
Context Output¶
data: Dataset with scaled numerical featuresscaler: Fitted scaler object for future usescaled_columns: Names of columns that were scaledscaler_type: Type of scaler used
Example Usage¶
from mlfcrafter import MLFChain
from mlfcrafter.crafters import *
# Scale all numerical columns with MinMax
pipeline = MLFChain()
pipeline.add_crafter(DataIngestCrafter("data.csv"))
pipeline.add_crafter(ScalerCrafter(scaler_type="minmax"))
pipeline.add_crafter(ModelCrafter())
result = pipeline.run()
# Standard scaling for specific columns
pipeline = MLFChain()
pipeline.add_crafter(DataIngestCrafter("data.csv"))
pipeline.add_crafter(ScalerCrafter(
scaler_type="standard",
columns=["feature1", "feature2"]
))
result = pipeline.run()
# Robust scaling (good for data with outliers)
pipeline = MLFChain()
pipeline.add_crafter(DataIngestCrafter("data.csv"))
pipeline.add_crafter(ScalerCrafter(scaler_type="robust"))
result = pipeline.run()