Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lumiml-0.1.0.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lumiml-0.1.0-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

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

Hashes for lumiml-0.1.0.tar.gz
Algorithm Hash digest
SHA256 462c6524539b4abdb23dc051f3146a5e8db37d4987db2bd4cdf2c71e49b0303c
MD5 7fa79c87f5835ab56fe35808b6efe6f6
BLAKE2b-256 3a1cb2cd14896b344e50263e1735c148f9e2cf455569329c1782f868e8355532

See more details on using hashes here.

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

Hashes for lumiml-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f9c06c6adca2e7a1a48f3977fd317689be5b7a6459fe4b69f77f281091344a0b
MD5 affc985a42c310320fdcabe84c46b58a
BLAKE2b-256 5bb5bfa5c001f5f9deef2c12880ceeb47b9490600bd8c0ceca887961a4648f79

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page