An open API service indexing awesome lists of open source software.

https://github.com/ahammadnafiz/predicta

Predicta: Simplify your workflow with our powerful data analysis and machine learning tool.
https://github.com/ahammadnafiz/predicta

analytics data-science data-visualization dataanalysis machine-learning pandas project python streamlit streamlit-webapp webapp

Last synced: 3 months ago
JSON representation

Predicta: Simplify your workflow with our powerful data analysis and machine learning tool.

Awesome Lists containing this project

README

          

![Predicta](predicta/assets/Predicta_banner.png)



Python


License


Streamlit


GitHub Issues


GitHub Stars


Professional Package



python


streamlit


scikit_learn


pytorch

> πŸš€ Professional Machine Learning Platform for End-to-End Data Science Workflows

Predicta is a comprehensive, enterprise-grade machine learning platform that transforms complex data science workflows into intuitive, streamlined processes. Built with a modular architecture and professional coding standards, Predicta empowers data scientists to build, deploy, and maintain robust predictive models efficiently.

**🎯 Now featuring professional package structure with CLI interface, centralized configuration, and modular architecture!**

![Predicta Dashboard](predicta/assets/predictaapp_streamlitapp.jpeg)

## ✨ Features

### πŸ“Š Advanced Data Analysis
- **Interactive Visualization Suite**: Generate insightful plots and charts
- **Automated Data Profiling**: Quick statistical summaries and data quality checks
- **Pattern Recognition**: Identify correlations and trends effortlessly
- **Missing Data Detection**: Smart identification of data gaps and anomalies

### πŸ”§ Intelligent Preprocessing
- **Automated Data Cleaning**: Smart handling of missing values and outliers
- **Feature Engineering**: Advanced encoding and scaling techniques
- **Data Validation**: Robust checks for data integrity and consistency
- **Type Inference**: Automatic detection and conversion of data types

### πŸ€– Machine Learning Pipeline
- **Algorithm Selection**: Curated collection of ML algorithms for various tasks
- **Hyperparameter Optimization**: Automated model tuning for optimal performance
- **Cross-Validation**: Robust model validation techniques
- **Performance Metrics**: Comprehensive model evaluation suite

### πŸ“ˆ Production-Ready Features
- **Model Export**: Easy deployment of trained models
- **Batch Prediction**: Efficient processing of large datasets
- **API Integration**: RESTful API for seamless integration
- **Version Control**: Track model versions and experiments

### πŸ—οΈ Professional Package Features
- **CLI Interface**: Command-line tools for easy management
- **Modular Architecture**: Self-contained, reusable components
- **Centralized Configuration**: Professional settings management
- **Advanced Logging**: Comprehensive logging with error filtering
- **Asset Management**: Proper handling of static resources
- **Session Management**: Robust temporary file handling
- **Import System**: Professional absolute import structure
- **Package Installation**: Standard pip-installable package

## πŸš€ Quick Start

### Prerequisites
- Python 3.8+
- pip package manager

### Installation

1. Clone the repository:
```bash
git clone https://github.com/ahammadnafiz/Predicta.git
cd Predicta
```

2. Create a virtual environment (recommended):
```bash
python -m venv venv
source venv/bin/activate # Linux/Mac
# or
.\venv\Scripts\activate # Windows
```

3. Install the package:
```bash
pip install -e .
```

### Usage

#### Command Line Interface
```bash
# Launch the Streamlit application
predicta run

# Check version
predicta version

# View configuration
predicta config

# Clean temporary files
predicta clean
```

#### Direct Python Usage
```bash
# Launch Streamlit application directly
python -m predicta.app.main

# Or using streamlit
streamlit run predicta/app/main.py
```

## πŸ“ Project Structure

```
predicta/
β”œβ”€β”€ __init__.py # Package initialization
β”œβ”€β”€ cli.py # Command-line interface
β”œβ”€β”€ app/ # Main application
β”‚ β”œβ”€β”€ __init__.py
β”‚ β”œβ”€β”€ main.py # Streamlit app entry point
β”‚ β”œβ”€β”€ predicta_app.py # Core application logic
β”‚ └── pages/ # Streamlit pages
β”‚ β”œβ”€β”€ predicta_chat.py
β”‚ β”œβ”€β”€ predicta_viz.py
β”‚ └── prediction_app.py
β”œβ”€β”€ core/ # Core infrastructure
β”‚ β”œβ”€β”€ __init__.py
β”‚ β”œβ”€β”€ config.py # Configuration management
β”‚ β”œβ”€β”€ logging_config.py # Logging setup
β”‚ └── streamlit_patches.py # Compatibility patches
β”œβ”€β”€ modules/ # Feature modules
β”‚ β”œβ”€β”€ data_exploration/ # Data analysis and visualization
β”‚ β”œβ”€β”€ feature_cleaning/ # Data cleaning and preprocessing
β”‚ β”œβ”€β”€ feature_engineering/ # Feature transformation
β”‚ β”œβ”€β”€ feature_selection/ # Feature importance and selection
β”‚ β”œβ”€β”€ ml_models/ # Machine learning algorithms
β”‚ └── code_editor/ # Code editing capabilities
β”œβ”€β”€ ui/ # User interface components
β”‚ └── theme/ # Theming and styling
β”œβ”€β”€ utils/ # Utility functions
└── assets/ # Static assets (images, etc.)
```

## πŸ—οΈ Architecture

Predicta follows a modular architecture with clear separation of concerns:

- **Core**: Infrastructure components (config, logging, patches)
- **Modules**: Self-contained feature modules with specific responsibilities
- **UI**: User interface components and theming
- **App**: Main application logic and Streamlit pages
- **CLI**: Command-line interface for easy launching and management

## 🀝 Contributing

We love your input! Contribute to Predicta in many ways:

1. Report bugs and feature requests
2. Review source code changes
3. Submit pull requests
4. Help others in discussions

Check out our [Contributing Guidelines](CONTRIBUTING.md) for more details.

### Development Setup

1. Clone and install in development mode:
```bash
git clone https://github.com/ahammadnafiz/Predicta.git
cd Predicta
pip install -e .
```

2. Install development dependencies:
```bash
pip install -r requirements.txt
```

3. Run tests (when available):
```bash
python -m pytest tests/
```

## πŸ”§ Configuration

Predicta uses a centralized configuration system:

- **Config Management**: Centralized settings in `predicta/core/config.py`
- **Logging**: Professional logging setup with configurable levels
- **Asset Management**: Centralized asset path management
- **Session Management**: Temporary file handling and cleanup

## πŸ“¦ Package Features

- **Professional Structure**: Follows Python packaging best practices
- **Modular Design**: Self-contained modules with clear interfaces
- **CLI Interface**: Easy command-line access to all features
- **Logging System**: Comprehensive logging with PyTorch compatibility
- **Configuration Management**: Centralized settings and path management
- **Asset Management**: Proper handling of static assets and resources

## πŸ—ΊοΈ Roadmap

- [ ] Deep Learning Integration
- [ ] AutoML Capabilities
- [ ] Time Series Analysis
- [ ] Natural Language Processing
- [ ] Cloud Deployment Options
- [ ] Real-time Processing

## πŸ“„ License

This project is licensed under the Apache License - see the [LICENSE](https://github.com/ahammadnafiz/Predicta/blob/main/LICENSE) file for details.

## 🌟 Support

⭐️ Star this repo if you find it helpful!

## πŸ“§ Contact

Got questions? Reach out!

- Email: ahammadnafiz@outlook.com

---

Made with ❀️ by Ahammad Nafiz