Skip to main content

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


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)

Uploaded Source

Built Distribution

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

glassbox_automl-1.0.0-py3-none-any.whl (30.6 kB view details)

Uploaded Python 3

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

Hashes for glassbox_automl-1.0.0.tar.gz
Algorithm Hash digest
SHA256 526af374112704bfe90c5d77026aa33ad51f7c94337eb877fa027315bb0f2ac3
MD5 2ea16cbe5bb40e80ea66f32b99df305d
BLAKE2b-256 bde2338a977053c5ce19a3d0740b6199a937cf999c7cdfac0f0d019e79c691ff

See more details on using hashes here.

File details

Details for the file glassbox_automl-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for glassbox_automl-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a05b4a3a571e86f73ee0ae79aa6c8b3fb82c1842856c059587384fbe8a96cc32
MD5 4921fcaf466d43f5489d642b22138e9f
BLAKE2b-256 8af7d32f8be47638bb07223793cb5c818a2bb98d00616c54fae1e14cb5af3c31

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