Metadata-Version: 2.4
Name: autonova
Version: 1.0.5
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.        
Github Link : https://github.com/Sanjaypal1916/ProjectX

##  License

MIT License – do anything, just give credit.

##  Need Help?

If you’re stuck, don’t worry — we’ve got your back!  
- Open a [Discussion](../../discussions) for general questions.  
- Create an [Issue](../../issues) for bug reports or feature requests.  
- Or contact the maintainers directly.  

We’d love to see your contributions and help you along the way.  

---

✨ Keep learning, keep building, and keep innovating!  
💡 Together, we can make **AutoNova** even better.  

Best,  
**The AutoNova Team** 🚀
