Skip to content

jeswin2003lobo/DataSynth

Repository files navigation

🧠 Smart Data Understanding and Synthetic Data Generation for Efficient AI Pipelines

Python Streamlit License Status

DataSynth – A Human-in-the-Loop Exploratory Data Analysis Platform

Empowering data scientists with intelligent data preprocessing, interactive visualization, and advanced synthetic data generation capabilities


🎯 Project Overview

This project presents DataSynth, an innovative human-in-the-loop exploratory data analysis platform designed to revolutionize how data scientists and analysts approach data understanding and synthetic data generation. By combining interactive web interfaces with advanced machine learning techniques, our platform streamlines the entire data pipeline from preprocessing to synthetic data creation.

🌟 Key Features

  • πŸ” Smart Data Understanding: Advanced exploratory data analysis with interactive visualizations
  • 🧹 Intelligent Data Preprocessing: Comprehensive data cleaning and transformation utilities
  • 🧬 Synthetic Data Generation: State-of-the-art synthetic data creation using Copulas and SDV
  • 🎨 Modern UI/UX: Glassmorphism-inspired interface built with Streamlit
  • πŸ“Š Real-time Analytics: Interactive dashboards with immediate feedback
  • πŸ’Ύ Export Capabilities: Seamless data export with timestamped outputs

πŸ—οΈ System Architecture

Our platform follows a modular monolith architecture with clear separation of concerns:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                 Frontend Layer                  β”‚
β”‚            (Streamlit Web UI)                   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                Business Logic                   β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚   β”‚Data Preproc β”‚  Analysis   β”‚  Synthetic  β”‚   β”‚
β”‚   β”‚   Module    β”‚   Module    β”‚Data Module  β”‚   β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                 Data Layer                      β”‚
β”‚        (Pandas, NumPy, SciPy)                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸš€ Getting Started

Prerequisites

  • Python 3.8 or higher
  • pip package manager
  • Virtual environment (recommended)

Installation

  1. Clone the repository

    git clone <repository-url>
    cd Major_Project
  2. Create and activate virtual environment

    python -m venv venv
    
    # On Windows
    venv\Scripts\activate
    
    # On macOS/Linux
    source venv/bin/activate
  3. Install dependencies

    pip install -r requirements.txt
  4. Launch the application

    streamlit run main.py
  5. Access the platform Open your browser and navigate to http://localhost:8501


πŸ’» Technology Stack

Frontend

  • Streamlit - Interactive web application framework
  • streamlit-option-menu - Enhanced navigation components
  • streamlit-extras - Additional UI components

Data Processing

  • Pandas - Data manipulation and analysis
  • NumPy - Numerical computing
  • SciPy - Scientific computing (version < 1.11)

Machine Learning & Analytics

  • Scikit-learn - Machine learning utilities
  • Copulas - Statistical modeling for synthetic data
  • SDV (Synthetic Data Vault) - Advanced synthetic data generation

Visualization

  • Matplotlib - Static plotting
  • Seaborn - Statistical visualization
  • Plotly - Interactive visualizations

πŸ“‹ Core Modules

πŸ”§ Data Preprocessing

  • Missing Value Handling: Smart imputation strategies
  • Outlier Detection: Z-score and IQR-based methods
  • Feature Encoding: One-hot and label encoding
  • Feature Scaling: Standardization and Min-Max scaling
  • Column Management: Intelligent column removal and selection

πŸ“Š Data Analysis

  • Statistical Summaries: Comprehensive dataset insights
  • Distribution Analysis: Interactive histograms and box plots
  • Correlation Analysis: Heatmaps and correlation matrices
  • Missing Value Visualization: Pattern identification

🧬 Synthetic Data Generation

  • Copula-based Models: Advanced statistical modeling
  • Quality Assessment: Synthetic vs. original data comparison
  • Export Functionality: Multiple format support
  • Privacy Preservation: Maintaining statistical properties while ensuring privacy

🎨 User Interface Features

  • Glassmorphism Design: Modern, translucent UI elements
  • Responsive Layout: Optimized for various screen sizes
  • Interactive Navigation: Seamless single-page application experience
  • Real-time Feedback: Immediate visual confirmation of operations
  • Progress Tracking: Step-by-step guidance through workflows

πŸ“ˆ Use Cases

  1. Data Scientists: Rapid prototyping and data exploration
  2. Machine Learning Engineers: Data pipeline development and testing
  3. Research Teams: Synthetic data generation for privacy-sensitive projects
  4. Business Analysts: Quick insights and data quality assessment
  5. Educational Institutions: Teaching data science concepts interactively

πŸ”§ Configuration

The platform supports various configuration options:

  • Data Upload Limits: Configurable file size restrictions
  • Processing Parameters: Customizable thresholds for outlier detection
  • Export Formats: Multiple output format options
  • UI Themes: Customizable color schemes and layouts

🚦 Development Workflow

Running in Development Mode

# Activate virtual environment
venv\Scripts\activate  # Windows
source venv/bin/activate  # macOS/Linux

# Run with debug mode
streamlit run main.py --server.runOnSave=true

Project Structure

Major_Project/
β”œβ”€β”€ main.py                          # Main application entry point
β”œβ”€β”€ data_preprocessing_function.py   # Data preprocessing utilities
β”œβ”€β”€ data_analysis_functions.py       # Analysis and visualization functions
β”œβ”€β”€ synthetic_data_generator.py      # Synthetic data generation module
β”œβ”€β”€ requirements.txt                 # Python dependencies
└── README.md                        # Project documentation

πŸ”’ Security & Privacy

  • Data Privacy: All processing occurs locally - no data transmitted externally
  • Session Management: Secure session state handling
  • Input Validation: Comprehensive data validation and sanitization
  • Error Handling: Robust error management and user feedback

🀝 Contributing

We welcome contributions! Please follow these guidelines:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

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


πŸ† Developed By

Team Members

USN Name Role
4SO22CD021 Glen Elric Fernandes Lead Developer & Data Scientist
4SO22CD023 Jeswin Jacob Lobo Full-Stack Developer & UI/UX Designer
4SO22CD033 Muhammed Zaid Satar Machine Learning Engineer & Analytics
4SO22CD046 Shashank Rao U Backend Developer & System Architect

πŸ“ž Support & Contact

  • Issues: Report bugs and feature requests via GitHub Issues
  • Documentation: Comprehensive guides available in the /docs folder
  • Community: Join our discussions for questions and collaboration

🎯 Future Roadmap

  • Advanced ML Models: Integration with deep learning frameworks
  • Cloud Deployment: Scalable cloud-based deployment options
  • API Development: RESTful API for programmatic access
  • Real-time Collaboration: Multi-user collaborative features
  • Advanced Visualizations: 3D plotting and interactive dashboards
  • Database Integration: Direct database connectivity and querying

⭐ Star this repository if you find it helpful!

Built with ❀️ using Python, Streamlit, and cutting-edge data science libraries

Made with Python Built with Love

About

Smart Data Understanding and Synthetic Data Generation for Efficient AI Pipelines

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages