https://github.com/ravirch/end-to-end-ann-models-for-regression-and-classification
This project presents an end-to-end approach to building Artificial Neural Network (ANN) models for both regression and classification, demonstrating the versatility of neural networks in predictive analytics.
https://github.com/ravirch/end-to-end-ann-models-for-regression-and-classification
ann deep-learning tensorflow
Last synced: 7 months ago
JSON representation
This project presents an end-to-end approach to building Artificial Neural Network (ANN) models for both regression and classification, demonstrating the versatility of neural networks in predictive analytics.
- Host: GitHub
- URL: https://github.com/ravirch/end-to-end-ann-models-for-regression-and-classification
- Owner: ravirch
- Created: 2024-11-07T05:26:28.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-11-07T05:33:34.000Z (11 months ago)
- Last Synced: 2025-01-14T04:08:45.963Z (9 months ago)
- Topics: ann, deep-learning, tensorflow
- Language: Jupyter Notebook
- Homepage:
- Size: 461 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Here’s a structured README for your project based on the directory structure you provided:
---
# End-to-End Artificial Neural Network (ANN) Project for Regression and Classification
This project demonstrates the use of Artificial Neural Networks (ANNs) to solve both regression and classification problems. Drawing inspiration from Krish Naik's Udemy course on Generative AI, it covers a complete workflow, including data preprocessing, model training, hyperparameter tuning, and prediction, all implemented in Jupyter notebooks and a Streamlit app for easy interaction.
## Table of Contents
- [Project Overview](#project-overview)
- [Directory Structure](#directory-structure)
- [Requirements](#requirements)
- [Installation](#installation)
- [Usage](#usage)
- [Project Notebooks](#project-notebooks)
- [Logging and Checkpoints](#logging-and-checkpoints)
- [Acknowledgments](#acknowledgments)## Project Overview
This project includes separate ANN models for handling regression and classification tasks, providing an end-to-end solution from data preprocessing to model prediction. It also includes hyperparameter tuning, logging, and a simple web app interface using Streamlit for showcasing predictions. By working with both types of models, the project illustrates how ANNs can be adapted to various data types and objectives.## Directory Structure
```
├── data/ # Directory for storing datasets used for training and testing
├── dump/ # Stores model checkpoints and weights for classification tasks
├── dump_reg/ # Stores model checkpoints and weights for regression tasks
├── logs/ # Logs for tracking training process of classification models
├── regressionlogs/ # Logs for tracking training process of regression models
├── Classification ANN Training.ipynb # Jupyter notebook for classification ANN training
├── Regression ANN Training.ipynb # Jupyter notebook for regression ANN training
├── Hyperparameter Tuning ANN.ipynb # Notebook for hyperparameter tuning of ANN models
├── Prediction Example.ipynb # Notebook for generating predictions using trained models
├── app.py # Streamlit app for interactive model demonstration
├── requirements.txt # List of dependencies required for the project
└── README.md # Project documentation
```## Requirements
To run this project, you need Python 3.x and the following packages:
- TensorFlow / Keras
- Streamlit
- scikit-learn
- matplotlib
- pandas
- numpyAll required packages are listed in the `requirements.txt` file.
## Installation
1. **Clone the repository:**
```bash
git clone https://github.com/ravirch/End-to-End-ANN-Models-for-Regression-and-Classification
cd End-to-End-ANN-Models-for-Regression-and-Classification
```2. **Install the dependencies:**
```bash
pip install -r requirements.txt
```## Usage
### Running the Notebooks
- Open `Classification ANN Training.ipynb` and `Regression ANN Training.ipynb` to train the classification and regression models, respectively.
- Use `Hyperparameter Tuning ANN.ipynb` to experiment with different hyperparameter configurations and optimize model performance.
- Use `Prediction Example.ipynb` to test the trained models with sample data for predictions.### Running the Streamlit App
To start the Streamlit app, run:```bash
streamlit run app.py
```The app will open in your browser, providing an interactive interface for testing the classification and regression models.
## Project Notebooks
1. **Classification ANN Training.ipynb**: Notebook dedicated to training a classification model using ANN.
2. **Regression ANN Training.ipynb**: Notebook dedicated to training a regression model using ANN.
3. **Hyperparameter Tuning ANN.ipynb**: Explores various hyperparameter options to improve the performance of both models.
4. **Prediction Example.ipynb**: Demonstrates how to use the trained models to make predictions on new data.## Logging and Checkpoints
- The `logs/` and `regressionlogs/` directories store logs for monitoring training progress.
- `dump/` and `dump_reg/` contain model checkpoints, allowing you to resume training or evaluate saved models without retraining.## Acknowledgments
This project was inspired by Krish Naik’s Udemy course on Generative AI. Special thanks to Krish Naik for his insightful lessons, which greatly informed the development of this project.
---