A data preprocessing and cleaning toolkit for machine learning. Still under active development.
Project description
LumiML (Working Title)
Simplifying Machine Learning, One Step at a Time.
Machine Learning is powerful—but often overwhelming for beginners and even experienced developers. LumiML is a Python module designed to streamline data preprocessing and input handling, making it easier to focus on building and deploying models rather than wrestling with messy data.
Currently in active development 🚧 (v0.1.0), LumiML aims to become a comprehensive toolkit for data preprocessing, feature engineering, and pipeline automation.
✨ Features
Data Preprocessing Made Simple
Clean missing values with smart strategies (mean, median, most_frequent, advanced iterative imputation).
Handle outliers with robust statistical methods (winsorization).
Detect and convert numerical columns hidden as strings.
Automatic categorical encoding & scaling.
Flexible Train/Test Splits
Easy splitting into train/test/validation sets.
Built-in options for cleaning before splitting.
Label Preprocessing
Automatic encoding of categorical labels.
Quantile scaling for numerical targets.
Pipeline Integration
Works seamlessly with scikit-learn Pipelines & Transformers.
Save and load preprocessors with joblib.
Image Data Support
Load, preprocess, and augment image datasets.
Integrated with TensorFlow Keras ImageDataGenerator.
Correlation & Insights
Explore data correlations and visualize relationships.
Supports numeric, categorical, and mixed features.
📦 Installation
Currently not on PyPI (work in progress). You can install directly from source:
git clone https://github.com/Cod4L/LumiML.git cd LumiML pip install -e .
Once released:
pip install LumiML
🚀 Quick Start 🔹 Tabular Data import pandas as pd from LumiML import DataHandler
Example dataset
df = pd.read_csv("data.csv")
features = df.drop("target", axis=1) labels = df["target"]
Initialize handler
handler = DataHandler(df, features, labels)
Clean + Split
X_train, X_test, y_train, y_test = handler.data_split( features, labels, test_size=0.2, include_validation=False, clean_splits=True )
Preprocessing pipeline
preprocessor, label_encoder = handler.preprocess(X_train, include_y=True, y_train=y_train)
print("Preprocessor ready:", preprocessor)
🔹 Image Data from LumiML import ImageDataHandler
img_handler = ImageDataHandler("datasets/images", img_height=128, img_width=128, batch_size=32)
train_gen, val_gen = img_handler.createImageGenerator()
for X_batch, y_batch in train_gen: print("Batch shape:", X_batch.shape, y_batch.shape) break
🛠 Roadmap
✅ v0.1 – Core preprocessing (tabular + image data). 🔄 v0.2 – Feature engineering helpers (feature selection, transformations). 🔄 v0.3 – Model evaluation utilities (metrics, visualization). 🔄 v0.4 – Automated pipeline builder for ML projects. 🔄 v1.0 – Stable release on PyPI.
📊 Example Use Cases
Students & researchers simplifying preprocessing for assignments.
Startups needing a fast ML pipeline setup without writing boilerplate.
Data scientists experimenting with new datasets quickly.
Developers deploying models but needing clean input processing.
🤝 Contributing
Contributions are welcome! 🚀
Fork the repo
Create a feature branch
Submit a pull request
Please follow the coding style (PEP8) and include tests where possible.
📜 License
MIT License © 2025 Moon See LICENSE for details.
📬 Contact
Author: Moon 📧 Email: illuxionxio@gmail.com
⚡ LumiML is not just a library—it’s a vision to make machine learning development more approachable, intuitive, and productive for everyone.
Project details
Release history Release notifications | RSS feed
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 lumiml-0.1.0.tar.gz.
File metadata
- Download URL: lumiml-0.1.0.tar.gz
- Upload date:
- Size: 12.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
462c6524539b4abdb23dc051f3146a5e8db37d4987db2bd4cdf2c71e49b0303c
|
|
| MD5 |
7fa79c87f5835ab56fe35808b6efe6f6
|
|
| BLAKE2b-256 |
3a1cb2cd14896b344e50263e1735c148f9e2cf455569329c1782f868e8355532
|
File details
Details for the file lumiml-0.1.0-py3-none-any.whl.
File metadata
- Download URL: lumiml-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f9c06c6adca2e7a1a48f3977fd317689be5b7a6459fe4b69f77f281091344a0b
|
|
| MD5 |
affc985a42c310320fdcabe84c46b58a
|
|
| BLAKE2b-256 |
5bb5bfa5c001f5f9deef2c12880ceeb47b9490600bd8c0ceca887961a4648f79
|