Metadata-Version: 2.4
Name: autonova
Version: 1.0.3
Summary: An automated machine learning pipeline with all-at-one-click feature.
Home-page: https://github.com/Sanjaypal1916/ProjectX
Author: Sanjay Pal
Author-email: sanjaypal606060@gmail.com
License: MIT
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: catboost>=1.1.0
Requires-Dist: imbalanced-learn>=0.10.0
Requires-Dist: joblib>=1.2.0
Requires-Dist: lightgbm>=3.3.0
Requires-Dist: numpy>=1.23.0
Requires-Dist: optuna>=3.0.0
Requires-Dist: optuna-integration[sklearn]>=3.0.0
Requires-Dist: pandas>=1.5.0
Requires-Dist: pytest>=7.2.0
Requires-Dist: scikit-learn>=1.2.0
Requires-Dist: xgboost>=1.7.0
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license
Dynamic: license-file
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# ⚡AutoNova  

AutoNova is a modern **AutoML framework** that can handle everything from **data preprocessing to model training** in just **3 lines of code**.  
It is designed to save your time, boost productivity, and make Machine Learning workflows **effortless**.  

---

## ✨ Features  

🔹 **Preprocessing Class**  
-  **Cleaning & Transforming** – Handle missing values, scaling, encoding  
-  **Feature Engineering** – Generate new useful features automatically  
-  **Feature Selection** – Select only the most important features  
-  **Balancing** – Fix imbalanced datasets with SMOTE  
-  **Splitting** – Train-test splits with ease  

🔹 **Model Training Class**  
-  Automated Model Selection & Training  
-  Hyperparameter Tuning with **Optuna**  
-  Performance Metrics (Accuracy, Precision, Recall, F1, ROC-AUC)  

---

## 🚀 Installation  

```bash
pip install autonova
```

## 📝 Usage Description

```python 
from autonova.auto import AutoNova
import pandas as pd

df = pd.read_csv("star_classification.csv")
target_col = "class"

automl = autonova(data=df, target_col=target_col)
automl.go(use_gpu=False, fast_mode=False, cv_splits=5, n_trials=50)

print("Best Model:", mode.best_model)
print("Preprocessing Steps:", mode.preprocess_logic)
print("Score:", mode.score)
print("Train Data Shapes:", [x.shape for x in mode.train_data])
print("Test Data Shapes:", [x.shape for x in mode.test_data])
```
- `use_gpu=True` GPU for Optuna training
- `fast_mode=True` only Faster models
- `cv_splits=5` number of Splits
- `n_trials=50` number of Trials

## 🤝 Contributing

Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change. Take use of `CONTRIBUTING.md` file to make contributions.

## 📜 License

MIT License – do anything, just give credit.

