🌟 Keras Data Processor (KDP) - Powerful Data Preprocessing for TensorFlow 🌟
Provided and maintained by 🦄 UnicoLab
Transform your raw data into ML-ready features with just a few lines of code!
KDP provides a state-of-the-art preprocessing system built on TensorFlow Keras. It handles everything from feature normalization to advanced embedding techniques, making your ML pipelines faster, more robust, and easier to maintain. Built with ❤️ by 🦄 UnicoLab, it provides a clean, efficient, and extensible foundation for building sophisticated machine learning models for enterprise AI applications.
✨ Key Features
- 🚀 Efficient Single-Pass Processing: Process all features in one go, dramatically faster than alternatives
- 🧠 Distribution-Aware Encoding: Automatically detects and optimally handles different data distributions
- 👁️ Tabular Attention: Captures complex feature interactions for better model performance
- 🔍 Feature Selection: Automatically identifies and focuses on the most important features
- 🔄 Feature-wise Mixture of Experts: Specialized processing for different feature types
- 📦 Production-Ready: Deploy your preprocessing along with your model as a single unit
🚀 Quick Installation
# Using pip
pip install kdp
# Using Poetry
poetry add kdp
📋 Simple Example
from kdp import PreprocessingModel, FeatureType
# Define your features
features_specs = {
"age": FeatureType.FLOAT_NORMALIZED,
"income": FeatureType.FLOAT_RESCALED,
"occupation": FeatureType.STRING_CATEGORICAL,
"description": FeatureType.TEXT
}
# Create and build the preprocessor
preprocessor = PreprocessingModel(
path_data="data/my_data.csv",
features_specs=features_specs,
# Enable advanced features
use_distribution_aware=True,
tabular_attention=True
)
result = preprocessor.build_preprocessor()
model = result["model"]
# Use the preprocessor with your data
processed_features = model(input_data)
📚 Comprehensive Documentation
We've built an extensive documentation system to help you get the most from KDP:
Core Guides
- 🚀 Quick Start Guide - Get up and running in minutes
- 📊 Feature Processing - Learn about all supported feature types
- 🧙♂️ Auto-Configuration - Let KDP configure itself for your data
Advanced Topics
- 📈 Distribution-Aware Encoding - Smart handling of different distributions
- 👁️ Tabular Attention - Capture complex feature interactions
- 🔢 Advanced Numerical Embeddings - Rich representations for numbers
- 🤖 Transformer Blocks - Apply transformer architecture to tabular data
- 🎯 Feature Selection - Focus on what matters in your data
- 🧠 Feature-wise Mixture of Experts - Specialized processing per feature
Integration & Performance
- 🔗 Integration Guide - Use KDP with existing ML pipelines
- 🚀 Tabular Optimization - Supercharge your preprocessing
- 📈 Performance Tips - Handling large datasets efficiently
Background & Resources
- 💡 Motivation - Why we built KDP
- 🤝 Contributing - Help improve KDP
🖼️ Model Architecture
Your preprocessing pipeline is built as a Keras model that can be used independently or as the first layer of any model:
📊 Performance
KDP outperforms alternative preprocessing approaches, especially as data size increases:
🤝 Contributing
We welcome contributions! Please check out our Contributing Guide for guidelines on how to proceed.
💬 Join Our Community
Have questions or want to connect with other KDP users? Join us on Discord:
🛠️ Development Tools
KDP includes tools to help developers:
- Documentation Generation: Automatically generate API docs from docstrings
- Model Diagram Generation: Visualize model architectures with
make generate_doc_contentor run:python scripts/generate_model_diagrams.pyThis creates diagram images indocs/features/imgs/models/for all feature types and configurations.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Built with TensorFlow and Keras
- Inspired by modern deep learning research
- Community-driven development
- All contributors who help make KDP better
Built with ❤️ for the ML community by 🦄 UnicoLab.ai
Release files for kdp 1.12.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kdp-1.12.0.tar.gz | 224.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kdp-1.12.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 371.1 kB
Release files / kdp-1.12.0.tar.gz
| Download URL | kdp-1.12.0.tar.gz |
|---|---|
| Size | 224.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8c14ab6358ca9ea655a4b8f7e145849d8849d2b18de8f0da2dfa19fb712ce4f3
|
|
BLAKE2b-256 checksum How to use checksums |
9c36b33c631b748e949f00aae8ef8f1eb247b1092902382468a44ed3b826d6e9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.1 CPython/3.11.16 Linux/6.17.0-1022-azure
|
Release files / kdp-1.12.0-py3-none-any.whl
| Download URL | kdp-1.12.0-py3-none-any.whl |
|---|---|
| Size | 146.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4a7d756fd4c57e9eee725c4c9f709cbcf73c6f16dfd6728863ebd5f434c86549
|
|
BLAKE2b-256 checksum How to use checksums |
bb440a35b74a803ba5f959406ed864b1b8ab453bd6bdafc0a342d6c5648d2895
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.1 CPython/3.11.16 Linux/6.17.0-1022-azure
|