A lightweight binary image classification system built with scikit‑learn, focusing on k‑Nearest Neighbors (kNN) and classical ML models. It features dynamic, model‑aware image preprocessing (HOG, scaling, PCA) that adapts automatically to image characteristics, enabling efficient training and reliable inference for custom datasets.
Reason this release was yanked:
Production Error
Project description
DynamicML 🚀
Dynamic, model‑aware classical machine learning for image classification
CREATED BY SUNKARA SAI GANESH , KARROTHU MOURYA , KUDIRELLA SANMUKA SAI, DONTALA KIRAN KUMAR
DynamicML is a lightweight Python library built on top of scikit‑learn that enables binary image classification using classical machine learning models, with a strong focus on dynamic, model‑aware preprocessing. The library is designed to automatically adapt preprocessing pipelines based on image characteristics and model requirements, making it easy to experiment, benchmark, and deploy classical ML solutions for image data. Typically in just 2-4 lines of code.
✨ Key Features
- ✅ Binary image classification using classical ML models
- ✅ Dynamic preprocessing tailored to each model
- ✅ Strong support for k‑Nearest Neighbors (kNN)
- ✅ Multiple feature extraction strategies (pixels, HOG, PCA)
- ✅ Modular, extensible, and deployment‑ready
- ✅ No deep‑learning dependencies (lightweight & fast)
🎯 Project Goals
DynamicML is designed to:
- Provide clear, principled preprocessing pipelines for image‑based ML
- Avoid one‑size‑fits‑all preprocessing
- Make classical ML viable for image classification tasks
- Enable rapid experimentation and reproducibility
- Serve as a learning and benchmarking framework for image ML
📦 Supported Models
DynamicML supports most classical classifiers available in scikit‑learn, including:
Linear Models
- Logistic Regression
- SGDClassifier
- Perceptron
- RidgeClassifier
Distance‑Based Models
- k‑Nearest Neighbors (kNN)
- Radius Neighbors
- Nearest Centroid
Support Vector Machines
- Linear SVM
- Kernel SVM (RBF, Poly, Sigmoid)
Probabilistic Models
- Gaussian Naive Bayes
- Multinomial Naive Bayes
- Complement Naive Bayes
- Bernoulli Naive Bayes
Tree‑Based Models
- Decision Tree
- Random Forest
- Extra Trees
Boosting & Ensembles
- AdaBoost
- Gradient Boosting
- HistGradientBoosting
- Bagging
- Voting
- Stacking
Neural & Bayesian
- MLPClassifier
- GaussianProcessClassifier
🖼️ Image Preprocessing Philosophy
DynamicML follows one core principle:
Preprocessing depends on both the image type and the model type.
Instead of applying the same pipeline to every model, DynamicML dynamically selects preprocessing steps such as:
- Image resizing
- Color conversion (RGB → Grayscale)
- Feature extraction
- Feature scaling
- Dimensionality reduction
🧠 Feature Extraction Strategies
DynamicML supports multiple feature representations:
1. Flattened Pixels
- Best for very small images
- Used mainly for baselines
2. Histogram of Oriented Gradients (HOG)
- Captures shape and edge information
- Illumination‑invariant
- Highly effective for kNN and SVM
3. PCA‑Compressed Features
- Reduces dimensionality
- Improves speed and generalization
- Strongly recommended for distance‑based models
4. Binary / Thresholded Features
- Useful for masks, silhouettes, and edge maps
🔄 Dynamic Preprocessing Logic
DynamicML automatically adapts preprocessing based on:
- Image size
- Image type (grayscale, binary, color)
- Feature dimensionality
- Model requirements (scaling, PCA, distance metrics)
Example logic:
If model is distance‑based → scaling required
If feature dimension is high → apply PCA
If image is large → use HOG instead of raw pixels
If model is tree‑based → skip scaling
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 dynamicml-1.0.1.tar.gz.
File metadata
- Download URL: dynamicml-1.0.1.tar.gz
- Upload date:
- Size: 10.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
00d697db151b32d5452f9000b7b571cf21c870f6192b2d293327e88b616737d1
|
|
| MD5 |
5bfd9dff85c135794f4ea89f358fe657
|
|
| BLAKE2b-256 |
de8d6ea6ef236b0034b4939a262980d58c829e4b96a51968d559e2a314cd74ce
|
File details
Details for the file dynamicml-1.0.1-py3-none-any.whl.
File metadata
- Download URL: dynamicml-1.0.1-py3-none-any.whl
- Upload date:
- Size: 10.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eeb85a0183f201250b65c72fff3505dfe50849ba80805ab9bb355fbddf71a744
|
|
| MD5 |
d415d72d00a2904b92b8f90fc494040a
|
|
| BLAKE2b-256 |
6486ab30dc62bbc4ddc7f441af27729a09f1d86ac156ff30ec3b0c366b9821a6
|