Transparent, scratch-built AutoML library (NumPy-only core)
Project description
GlassBox-AutoML
A transparent, scratch-built Automated Machine Learning library with a NumPy-only math core.
Features
| Module | Contents |
|---|---|
| EDA / Inspector | Mean, median, mode, std, skewness, kurtosis, Pearson matrix, IQR outliers, auto-typing |
| Preprocessing | SimpleImputer, MinMaxScaler, StandardScaler, OneHotEncoder, LabelEncoder |
| Models | LinearRegression, LogisticRegression, DecisionTree, RandomForest, GaussianNaiveBayes, KNearestNeighbors |
| Optimization | GridSearch, RandomSearch, KFoldCV |
| Evaluation | ClassificationMetrics (accuracy, precision, recall, F1, confusion matrix), RegressionMetrics (MAE, MSE, RMSE, R²) |
| AutoFit | End-to-end pipeline: EDA → Cleaning → Model Search → Explainability report |
Quick Start
from glassbox import AutoFit
import numpy as np
# data = numpy array, last column = target
af = AutoFit(task="classification", target_col=-1, cv=5, time_budget=60)
report = af.fit(data, feature_names=["age", "income", "credit_score", "approved"])
print(af.explain())
predictions = af.predict(new_X)
Installation
pip install numpy
pip install -e .
Run the demo
python examples/autofit_demo.py
Run all tests
python tests/test_utils.py
python tests/test_preprocessing.py
python tests/test_models.py
python tests/test_optimization_eval.py
Architecture
glassbox/
├── autofit.py # End-to-end AutoML orchestrator
├── eda/
│ └── inspector.py # EDA: statistics, correlation, outliers, auto-typing
├── preprocessing/
│ ├── imputer.py # SimpleImputer (mean/median/mode)
│ ├── scalers.py # MinMaxScaler, StandardScaler
│ └── encoders.py # OneHotEncoder, LabelEncoder
├── models/
│ ├── linear.py # LinearRegression, LogisticRegression (gradient descent)
│ ├── tree.py # DecisionTree (Gini / MSE)
│ ├── forest.py # RandomForest (bagging + √features)
│ ├── naive_bayes.py # GaussianNaiveBayes (Laplace smoothing)
│ └── knn.py # KNearestNeighbors (Euclidean + Manhattan)
├── optimization/
│ ├── search.py # GridSearch, RandomSearch
│ └── cross_validation.py # KFoldCV
└── evaluation/
└── metrics.py # ClassificationMetrics, RegressionMetrics
Design Principles
- Zero heavy dependencies — only NumPy for all math
- White-box — every model can explain its decisions
- WASM-ready — no C extensions, pure Python + NumPy
- Modular — every transformer implements
fit(),transform(),fit_transform()
License
MIT
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
glassbox_automl-1.0.0.tar.gz
(23.1 kB
view details)
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 glassbox_automl-1.0.0.tar.gz.
File metadata
- Download URL: glassbox_automl-1.0.0.tar.gz
- Upload date:
- Size: 23.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
526af374112704bfe90c5d77026aa33ad51f7c94337eb877fa027315bb0f2ac3
|
|
| MD5 |
2ea16cbe5bb40e80ea66f32b99df305d
|
|
| BLAKE2b-256 |
bde2338a977053c5ce19a3d0740b6199a937cf999c7cdfac0f0d019e79c691ff
|
File details
Details for the file glassbox_automl-1.0.0-py3-none-any.whl.
File metadata
- Download URL: glassbox_automl-1.0.0-py3-none-any.whl
- Upload date:
- Size: 30.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a05b4a3a571e86f73ee0ae79aa6c8b3fb82c1842856c059587384fbe8a96cc32
|
|
| MD5 |
4921fcaf466d43f5489d642b22138e9f
|
|
| BLAKE2b-256 |
8af7d32f8be47638bb07223793cb5c818a2bb98d00616c54fae1e14cb5af3c31
|