Metadata-Version: 2.1
Name: benchmark-adv-ml
Version: 0.1.14
Summary: Advanced benchmarking for machine learning models.
Author: VatsalPatel18
Author-email: vatsal1804@gmail.com
Requires-Python: >=3.9,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: matplotlib (>=3.7.0,<4.0.0)
Requires-Dist: numpy (>=1.24.0,<2.0.0)
Requires-Dist: pandas (>=2.0.3,<3.0.0)
Requires-Dist: scikit-learn (>=1.2.2,<2.0.0)
Requires-Dist: seaborn (>=0.11.2,<0.12.0)
Requires-Dist: tensorflow (>=2.17.0,<3.0.0)
Description-Content-Type: text/markdown

# Benchmark-Adv-ML

**Benchmark-Adv-ML** is a Python package designed to facilitate advanced benchmarking of machine learning models. It provides a comprehensive pipeline to evaluate model stability, generate predictions, and visualize results through various plots, including AUC curves, feature importance, and radar charts.

## Features

- **Model Stability Evaluation**: Automatically runs multiple machine learning models (Logistic Regression, SVC, RandomForestClassifier) across multiple runs.
- **Prediction and Metrics**: Generates and saves predictions, feature importance, and various metrics for each model and run.
- **Aggregation of Results**: Aggregates results across runs and models for comprehensive analysis.
- **Visualization**: Generates plots including AUC curves, AUC box plots, feature importance plots, and radar charts to compare model performance.

## Installation

You can install the package directly from PyPI:

```bash
pip install benchmark-adv-ml
```

## Usage in Unix

```bash
benchmark-adv-ml --data ./your_dataset.csv --output ./final_results --prelim_output ./prelim_results --n_runs 10 --seed 42
```

## Useage in python 

```bash
python -m benchmark_adv_ml benchmark --data ./Raisin_Dataset.data --output ./final_results --prelim_output ./prelim_results --n_runs 10 --seed 42
```
## Train Autoencoder Model 
```bash
python -m benchmark_adv_ml autoencoder --data ./Raisin_Dataset.data --epochs 10 --output_dir ./final_results/ --prelim_output ./prelim_results/ --latent_dim 10 --batch_size 32 --validation_split 0.1 --test_size 0.2 --seed 42
```



## Command-Line Arguments

--data: Path to the existing CSV file containing the dataset.
--output: Directory to save the final results and plots.
--target : Target column name in the dataset. ( default : 'label')
--prelim_output: Directory to save the preliminary results (predictions).
--n_runs: Number of runs for model stability evaluation (default is 20).
--seed: Seed for random state (default is 42).


## Example run : Benchmark Code 

```bash
benchmark-adv-ml --data ./your_dataset.csv --output ./final_results --prelim_output ./prelim_results --n_runs 10 --seed 42
```

### Dependencies 
Python 3.11+
seaborn
scikit-learn
pandas
numpy
matplotlib

## License

This project is licensed under the MIT License - see the LICENSE file for details.

## Author 
Vatsal Pate - VatsalPatel18



