Skip to main content

Explainable graph-based text classifier — no neural networks, no GPU, no embeddings. LexiDecay v2 builds a statistical co-occurrence graph from training text, then classifies new documents by aggregating five types of evidence (direct token discriminativeness, phrase matches, context window, graph propagation, and token interactions).

Project description

SmartTab

A smart decision engine for tabular machine learning. Give it a table and a target column — it figures out the rest.

pip install smarttab
import smarttab

model = smarttab.fit(df, target="churned")
model.predict(new_customers)

That's a fully tuned, evaluated, explainable model. No feature engineering checklist, no hyperparameter grid, no "which algorithm should I use" — SmartTab looks at your data and your hardware and makes those calls for you, while still letting you override any single one of them the moment you need to.

📘 documents.md — the full guide: install → first model → real projects → every parameter, from a beginner's first fit() call to production-grade tuning.

⚙️ HowItWorks.md — what actually happens inside fit() and why it's built this way, for anyone who wants to look under the hood.

What you get

  • One function, any kind of tabular problem. Binary classification, multi-class, regression, multi-label, multi-output regression, and ranking are all detected automatically from the shape of your target — no task_type= flag to remember.
  • It cleans up after your data, not after you. Missing values, duplicate rows, constant columns, ID-like columns, leaky columns, datetime and free-text fields — handled automatically, conservatively, and explained back to you in the report.
  • It knows what's underneath it. SmartTab profiles your CPU, RAM, and GPU and tunes thread counts, batch sizes, and device selection so it runs well on a laptop and a workstation alike.
  • It doesn't always reach for the biggest hammer. Ask for ensemble="auto" and it will tune a couple of strong candidates, compare them, and only pay for a full multi-model ensemble when the extra complexity actually earns its keep.
  • Confidence, not just a label. For decisions where "maybe" matters — medical screening, fraud review, anything with a human in the loop — multi_threshold_ensemble=True gets you a confidence score alongside every prediction, so borderline cases can be routed for a second look instead of silently guessed at.
  • A report you'd actually want to read. model.report() produces a single self-contained, interactive HTML file — metrics, feature importance, SHAP, confusion matrices or ROC curves, timing, memory usage — plus the same data as clean JSON.
  • Save it, ship it, load it back. model.save() / smarttab.load() round-trip everything: the trained model(s), the cleaning pipeline, and every decision SmartTab made along the way.

A quick look

import smarttab

model = smarttab.fit(df, target="churned")   # analyzes, cleans, tunes, trains, evaluates

model.predict(new_df)                         # predictions on new data
model.evaluate(X_test, y_test)                # full metric set on a held-out set
model.report("my_report")                     # self-contained HTML + JSON + charts
model.save("model.smarttab")                  # one file, everything included

loaded = smarttab.load("model.smarttab")

data can be a pandas.DataFrame or a path to .csv / .tsv / .xlsx / .parquet / .json / .feather / .pickle.

Status

SmartTab is pre-1.0 and under active development. The core pipeline — cleaning, hardware-aware training, hyperparameter search, ensembles, decision thresholds, confidence scoring, explainability, and reporting — is fully working end to end for every task type listed above. See the roadmap at the end of documents.md for what's intentionally not here yet.

License

MIT — see LICENSE.

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

smarttab-1.0.0.tar.gz (57.7 kB view details)

Uploaded Source

Built Distribution

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

smarttab-1.0.0-py3-none-any.whl (70.0 kB view details)

Uploaded Python 3

File details

Details for the file smarttab-1.0.0.tar.gz.

File metadata

  • Download URL: smarttab-1.0.0.tar.gz
  • Upload date:
  • Size: 57.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.9

File hashes

Hashes for smarttab-1.0.0.tar.gz
Algorithm Hash digest
SHA256 c935522b33373e84163d7bc7fbeb0c3c8e1f598310143b8a8b4c64c8b2aef5c1
MD5 b56d0c2fa14291ff5c104d3915cd67ba
BLAKE2b-256 938d03bd9d1bd07888f5871535f61fd61d77421a42bd256f61d3be8649b0077c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: smarttab-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 70.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.9

File hashes

Hashes for smarttab-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c3e74dc8c859f69c9f70c29abb9183281e38d051aa52090b43655155c463c653
MD5 7e620c2d1cb70ac995a9f09103721970
BLAKE2b-256 4dfe9a90b706e68a113913dd918dd0011aed29d6acf79fa644c4e40690f95433

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