Spaces:
Running
AI-Based Diamond Price Prediction and Classification
This project utilizes machine learning and AI techniques to predict diamond grading prices (GIA-certified prices, grading prices, and bygrading prices) based on various diamond attributes. Additionally, it provides classification-based recommendations for changes in diamond parameters. The system is built using Flask, scikit-learn, and XGBoost, and it is deployed as a web application with a user-friendly interface.
π Project Overview
Problem Statement
Manually evaluating diamond prices and certification costs is a time-consuming and error-prone task. This project automates the process by leveraging AI models to analyze historical data and provide accurate predictions and recommendations based on diamond attributes.
Key Features
β
Diamond Price Prediction: Predicts GIA, grading, and bygrading prices using AI.
β
Parameter Change Analysis: Identifies and suggests modifications in diamond attributes.
β
Automated Data Processing: Cleans and preprocesses input data for better model accuracy.
β
Web-Based Interface: Flask-based UI for easy file uploads and result visualization.
β
Downloadable Reports: Users can download CSV reports for predictions and analysis.
βοΈ Tech Stack
Component | Tools/Technologies Used |
---|---|
Backend | Flask, scikit-learn, XGBoost, NumPy, Pandas |
Frontend | HTML, CSS, Jinja Templates |
Database | CSV/Excel file-based input |
Deployment | Docker, Gunicorn |
Machine Learning | Linear Regression, Decision Trees, Random Forest, K-Nearest Neighbors, XGBoost |
π Project Workflow
πΉ Input:
- Users upload a CSV/Excel file containing diamond attributes (Tag, Carat, Shape, Quality, Color, Cut, Polish, Symmetry, Fluorescence, etc.).
πΉ Processing:
- Prediction Models estimate GIA prices, grading prices, and bygrading prices.
- Classification Models analyze changes in diamond parameters (e.g., carat, color, cut).
πΉ Output:
- Users receive predicted values and recommendations based on AI models.
- Results are displayed in a structured table.
- Users can download reports as CSV files.
π οΈ Setup Instructions
1οΈβ£ Clone the Repository
git clone https://huggingface.co/spaces/WebashalarForML/DiamRapo
cd diamond-price-prediction
2οΈβ£ Create a Virtual Environment (Optional)
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
3οΈβ£ Install Dependencies
pip install -r requirements.txt
4οΈβ£ Run the Application
python app.py
Visit http://127.0.0.1:5000
in your browser.
π¦ Running with Docker
1οΈβ£ Build the Docker Image
docker build -t diamond-prediction .
2οΈβ£ Run the Container
docker run -p 7860:7860 diamond-prediction
Now, visit http://localhost:7860
to use the app.
π API Endpoints
Endpoint | Method | Description |
---|---|---|
/ |
GET | Home page |
/predict |
POST | Uploads a CSV/Excel file and predicts diamond prices |
/download_pred |
GET | Downloads prediction results as CSV |
/download_class |
GET | Downloads classification analysis as CSV |
π Project Structure
.
βββ app.py # Flask application
βββ templates/
β βββ index.html # Home page template
β βββ output.html # Output display template
βββ static/ # CSS and static files
βββ Model/ # Trained ML models (.joblib)
βββ Label_encoders/ # Pretrained label encoders
βββ uploads/ # Uploaded files storage
βββ data/ # Processed data files
βββ requirements.txt # Dependencies list
βββ Dockerfile # Docker setup
βββ README.md # Documentation
π Example Use Cases
1οΈβ£ Predicting Diamond Prices
- Upload a diamond dataset (CSV/Excel).
- The AI model predicts GIA price, grading price, and bygrading price.
- Download the results as a structured report.
2οΈβ£ Identifying Diamond Parameter Changes
- AI analyzes changes in carat, cut, color, and other attributes.
- Alerts users to potential modifications in the diamond properties.
π Future Enhancements
- β Improve model accuracy with deep learning.
- β Add support for real-time API integration with diamond pricing databases.
- β Extend the system to predict market trends using time-series forecasting.
π‘ Credits
Developed by Webashlar, a leading IT company specializing in AI, data science, and software solutions.
Happy predicting! πβ¨