A comprehensive AI-based system for predicting and classifying device prices based on specifications. Built with Python for machine learning and Spring Boot for backend API services. Features data preprocessing, model training, real-time predictions, and SQLite integration. Developed by Ayman Abo Ghonim.
This is an initial version of the project serving as a proof-of-concept (POC). The project is currently under development and continuous improvement. Future enhancements and improvements are planned, including:
- Further Exploratory Data Analysis (EDA): Perform additional EDA to better understand the dataset, identify and handle outliers, and apply different approaches to handle missing values.
- Data Preprocessing and Encoding: Experiment with various data preprocessing and encoding techniques to improve model performance.
- Model Experimentation and Hyperparameter Optimization (HPO): Try different machine learning models and optimize hyperparameters to find the best-performing model.
- Modularity and Documentation: Increase and enhance the modularity of the project for better maintainability and scalability. Provide comprehensive documentation for all components.
- Simple Web Application: Develop a simple web application to demonstrate the system's capabilities and provide a user-friendly interface for interacting with the prediction model.
- Logging and Monitoring: Add logging and monitoring to track the performance and behavior of the system in real-time.
- Integration and Deployment: Streamline the integration between Python and Spring Boot components and prepare for seamless deployment.
- python_project/: Contains the Python scripts and notebooks for data preparation, model training, and prediction.
- spring_project/: Contains the Spring Boot application for serving API endpoints and interacting with the Python model.
- Python 3.8 or higher
- Java 11 or higher
- Spring Boot 2.5 or higher
- SQLite (for local database storage)
- Any web browser
- Clone the repository.
- Follow the setup instructions in the respective README files for the Python and Spring Boot projects.