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
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.
- π 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
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) β
βββββββββββββββββββββββββββββββββββββββββββββββββββ
- Python 3.8 or higher
- pip package manager
- Virtual environment (recommended)
-
Clone the repository
git clone <repository-url> cd Major_Project
-
Create and activate virtual environment
python -m venv venv # On Windows venv\Scripts\activate # On macOS/Linux source venv/bin/activate
-
Install dependencies
pip install -r requirements.txt
-
Launch the application
streamlit run main.py
-
Access the platform Open your browser and navigate to
http://localhost:8501
- Streamlit - Interactive web application framework
- streamlit-option-menu - Enhanced navigation components
- streamlit-extras - Additional UI components
- Pandas - Data manipulation and analysis
- NumPy - Numerical computing
- SciPy - Scientific computing (version < 1.11)
- Scikit-learn - Machine learning utilities
- Copulas - Statistical modeling for synthetic data
- SDV (Synthetic Data Vault) - Advanced synthetic data generation
- Matplotlib - Static plotting
- Seaborn - Statistical visualization
- Plotly - Interactive visualizations
- 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
- Statistical Summaries: Comprehensive dataset insights
- Distribution Analysis: Interactive histograms and box plots
- Correlation Analysis: Heatmaps and correlation matrices
- Missing Value Visualization: Pattern identification
- 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
- 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
- Data Scientists: Rapid prototyping and data exploration
- Machine Learning Engineers: Data pipeline development and testing
- Research Teams: Synthetic data generation for privacy-sensitive projects
- Business Analysts: Quick insights and data quality assessment
- Educational Institutions: Teaching data science concepts interactively
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
# Activate virtual environment
venv\Scripts\activate # Windows
source venv/bin/activate # macOS/Linux
# Run with debug mode
streamlit run main.py --server.runOnSave=trueMajor_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
- 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
We welcome contributions! Please follow these guidelines:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
| 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 |
- Issues: Report bugs and feature requests via GitHub Issues
- Documentation: Comprehensive guides available in the
/docsfolder - Community: Join our discussions for questions and collaboration
- 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