Metadata-Version: 2.4
Name: softauto
Version: 0.3.3
Summary: One-call EDA + preprocessing + feature selection + plotting + advisor + tuning (robust CV).
Author: Soft Tech Talks
License: MIT
Keywords: auto-ml,EDA,machine learning,sklearn,feature selection
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: pandas>=2.0.0
Requires-Dist: numpy>=1.24.0
Requires-Dist: scikit-learn>=1.3.0
Requires-Dist: joblib>=1.3.0
Requires-Dist: matplotlib>=3.7.0
Provides-Extra: boosters
Requires-Dist: xgboost>=2.0.0; extra == "boosters"
Requires-Dist: lightgbm>=4.0.0; extra == "boosters"
Provides-Extra: imbalance
Requires-Dist: imbalanced-learn>=0.12.0; extra == "imbalance"

# softauto 0.3.1 – tiny-data safe SMOTE, advisor, plots
# softauto 0.3.2 (Pro+Fix)

**EDA → Clean → Select → Train → Tune → Plot → Advise**  
A lightweight AutoML helper that makes it easy to run an end-to-end experiment with just one call.

---

## ✨ Features
- **Model Zoo** (classification & regression):  
  `logreg`, `linear`, `ridge`, `lasso`, `random_forest`, `gb`, `svm_rbf`, `knn`, `mlp`  
  *(XGBoost / LightGBM available if installed).*

- **Preprocessing**
  - Missing-value imputation (median / most_frequent).
  - Scaling: `standard`, `minmax`, `robust`, or `None`.
  - Rare-category binning (`cat_min_freq=...`).
  - Outlier clipping (`num_clip_quantiles=(low, high)`).

- **Feature Selection**
  - `mutual_info` → keep top-k informative features.
  - `rfecv` → recursive elimination with CV.

- **Imbalance Handling**
  - `imbalance="auto"` → tries SMOTE (safe on small folds) else falls back to class weights.
  - `imbalance="class_weight"` or `"smote"` explicit.
  - New: `smote_k_neighbors` param (default 5, auto-reduced on small datasets).

- **Advisor**
  - If user-chosen model underperforms (e.g., accuracy < 0.75), evaluates a shortlist and:
    - Returns best alternatives.
    - Suggests practical tuning/feature/imbalance tips.
    - Auto-fixes to best alternative if `advisor_auto_fix=True`.

- **Plots & Report**
  - Target distribution, missingness, correlation, feature importance.
  - Auto-generated `report.html` with embedded charts.

- **Tuning**
  - Lightweight `RandomizedSearchCV` with sensible param grids.
  - Safe defaults (`error_score=0.0` → failed folds don’t crash).

---

## 🔧 Install
```bash
pip install -e .
# optional extras:
pip install -e .[boosters]   # xgboost, lightgbm
pip install -e .[imbalance]  # imbalanced-learn for SMOTE
