| Area | What you get |
|---|---|
| Data | CSV loading, table preview, data profiling, missing value handling |
| Preprocessing | Label/one-hot encoding, column dropping, scaler info |
| Visualisation | Histograms, scatter plots, correlation heatmaps, feature distributions, PCA 2D |
| Training | 7 classification + 7 regression algorithms, hyperparameter control, CV scores |
| AutoML | Automatic model sweep with sortable leaderboard |
| Evaluation | Confusion matrix, ROC curve, cross-validation bar chart, metrics dashboard |
| Prediction | Form-based single prediction, batch CSV prediction with export |
| Registry | Persistent model save/load/delete with metadata |
| Experiments | JSONL-backed run history with full metric tracking |
| Plugins | Drop Python files into /plugins to add custom models and preprocessors |
Requirements: Python 3.10+
# Clone
git clone https://github.com/pro-grammer-SD/sciwizard.git
cd sciwizard
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
# Install
pip install -e ".[dev]"python -m sciwizardOr use the installed entry point:
sciwizard- Data tab β load a CSV, select target column, handle missing values
- Preprocess tab β encode categoricals, drop irrelevant columns
- Visualize tab β explore distributions and correlations
- Train tab β pick algorithm, configure split, train
- Evaluate tab β inspect confusion matrix, ROC, CV scores
- Predict tab β enter values for single prediction or upload a batch CSV
- Registry tab β save and reload trained models
- Experiments tab β review all past runs
Drop a .py file into the plugins/ directory:
# plugins/extra_trees.py
from sklearn.ensemble import ExtraTreesClassifier
def register(registry: dict) -> None:
registry["models"]["Extra Trees"] = ExtraTreesClassifier(n_estimators=100)SciWizard discovers it on next launch and adds it to the model selector.
pytestsciwizard/
βββ sciwizard/
β βββ app.py # Bootstrap & main()
β βββ config.py # Constants & paths
β βββ core/
β β βββ data_manager.py # CSV loading, profiling, cleaning
β β βββ model_trainer.py # Training, evaluation, AutoML
β β βββ model_registry.py # Persistent model storage
β β βββ experiment_tracker.py
β β βββ plugin_loader.py
β βββ ui/
β βββ main_window.py # Top-level window + sidebar
β βββ theme.py # Dark stylesheet
β βββ workers.py # QThread/QRunnable wrappers
β βββ panels/ # One file per application tab
β βββ widgets/ # Shared UI components
βββ tests/
βββ docs/
βββ plugins/ # Drop custom model plugins here
βββ icon/
βββ icon.ico
See CONTRIBUTING.md.
MIT β see LICENSE.
