KMDS Featurization
KMDS Featurization turns cleaned data into model-ready datasets using a configurable stage pipeline.
It is designed to be flexible:
- works with standard cross-sectional datasets
- supports survival analysis workflows when needed
- keeps feature engineering and train/validation flow leakage-safe
- resolves file anchors relative to the workspace
working_dir
What it produces
The main outputs are:
featurized_data.csv: a consolidated engineered datasetmodel_ready_numeric_data.csv: a numeric model-ready export for modeling
This tool also creates diagnostic artifacts such as:
feature_selection_knee_curve.png
How it works
The pipeline is built from stage wrappers in featurization_scripts/featurization.py. Each stage returns a DataFrame and the runner concatenates stage outputs by index.
Key ideas:
- every row can be assigned a stable
record_id - stages are configured in
featurizer_config.yaml - stage output is merged horizontally to build the final dataset
- only the final stage may intentionally add new records back into the pipeline
Survival vs. regular featurization
This repository supports two kinds of workflows:
- regular cross-sectional featurization: one row per input record
- survival featurization: one row per subject after flattening event or interval history
If you are doing survival analysis, read:
documents/survival_featurization_pipeline.md
For regular workflows, see:
documents/user_guide_cs_featurization.md
Quick start
Initialize a workspace config:
featurization-cli init \
--working-dir /path/to/workspace \
--metadata-file your_metadata.csv \
--data-file your_cleaned_dataset.csv
Create a provisional starter config:
featurization-cli bootstrap \
--working-dir /path/to/workspace \
--metadata-file your_metadata.csv \
--data-file your_cleaned_dataset.csv
Run the pipeline:
featurization-cli run --working-dir /path/to/workspace
If you want to validate survival config first, check:
documents/survival_featurization_pipeline.md
Testing
Run the core tests with:
pytest -q tests/test_sba_pipeline.py tests/test_survival_prep.py tests/test_survival_featurizer_pipeline.py
Notes for users
featurizer_config.yamlfile anchors are workspace-relative.- absolute paths depend on your local
working_dirsetting. - stage wrappers should stay thin and use shared
src/tabular/logic. - survival support is a use-case extension, not a universal default.
Recommended documents
documents/client_onboarding.mddocuments/sba_pipeline_featurization.mddocuments/config_blueprint.mddocuments/path_coordinator_function.mddocuments/user_guide_cs_featurization.mddocuments/survival_featurization_pipeline.md
Documentation guidance
The package no longer ships embedded documents in the installed distribution. Use the repository's top-level documents/ folder for onboarding and implementation guidance.
For package discovery, clients should use the package metadata API:
from featurization import get_package_info
info = get_package_info()
print(info)
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kmds_featurization-0.7.0.tar.gz.
File metadata
- Download URL: kmds_featurization-0.7.0.tar.gz
- Upload date:
- Size: 44.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0452eab882a5d3d67aa0f9cfbd06adfe75117f1cd88577e72a447cad0b414c2e
|
|
| MD5 |
8928e9e6100952a9bde336ec9557c294
|
|
| BLAKE2b-256 |
f398ea5f9e74ed797a8016a7de2f88306ff10b7d6e2f37e4ebf3fdbf29179b66
|
File details
Details for the file kmds_featurization-0.7.0-py3-none-any.whl.
File metadata
- Download URL: kmds_featurization-0.7.0-py3-none-any.whl
- Upload date:
- Size: 40.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a6a1c5cc56d1ada71aedfbe17a1876a3edb2928926704e1f2291f6ed5cd55d1
|
|
| MD5 |
58a8bfa838440d2f5542bd9dccf48ef8
|
|
| BLAKE2b-256 |
195b65e8311b24d898503523da854c7428ff8f242c28066319f5a65b99559bfe
|