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.
- Host: GitHub
- URL: https://github.com/ahammadnafiz/predicta
- Owner: ahammadnafiz
- License: apache-2.0
- Created: 2024-04-24T18:24:53.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-08T16:09:07.000Z (12 months ago)
- Last Synced: 2024-11-08T17:20:55.504Z (12 months ago)
- Topics: analytics, data-science, data-visualization, dataanalysis, machine-learning, pandas, project, python, streamlit, streamlit-webapp, webapp
- Language: CSS
- Homepage: https://predictaapp.streamlit.app/
- Size: 15.7 MB
- Stars: 7
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

> π 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!**

## β¨ 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