In this project, I tried to create a model that can predict the price of a laptop based on the criteria of the desired laptop by using the data of the available laptops that I collected from the Digikala website, the largest e-commerce site in Iran.
This project is a part of my portfolio, showcasing my skills. The main code isn't public, but I'm open to collaboration! Interested? Email me at mr.raz2002@gmail.com
Note: Since the price of laptops in Iran is constantly changing, I used Mage for this project, a modern tool for build and orchestrate data pipelines that fetch and prepare data and retrain model based on newset data.
https://meysamraz-laptop-price-prediction-project.streamlit.app/
https://loptop-price-prediction.herokuapp.com/
Predict price is in Rial (Iran's currency)
To collect my data, I used Digikala's secret api. I was able to collect the data I wanted (available laptops with prices) with a simple fitler.
-
- id : ID registered for laptop in Digikala
- title_fa : The name of the laptop in Farsi
- title_en : The name of the laptop in English
- price : Laptop price in Rial (Iranian currency)
- image_url : Laptop photo
- brand : Laptop brand
-
- cpu manufacturer : Laptop cpu manufacturer
- cpu series : The cpu series used in the laptop
- cpu model : The cpu model used in the laptop
- ram : Laptop RAM capacity
- ram type : The type of RAM used in the laptop
- internal storage : Internal storage capacity of the laptop
- internal storage type : The type of internal storage in loptop
- gpu manufacturer : Laptop gpu manufacturer
- gpu model : The gpu model used in the laptop
- screen resolution : Laptop screen resolution
- ports : Ports used in laptops
After collecting the data, I started checking the collected data to make sure it was collected correctly
Like all machine learning projects, the data doesn't arrive perfect and ready for prediction. At this point, I started cleaning the collected data.
For the next step, which is Feature engineering, it was necessary to get information about the data. In this step, I analyzed and explored the data.
In this step, I prepared the features for training the model
In this step, I chose the features needed to train the model
I pickeld model for use in the gui environment
I used Mage (moderen and easier version of Airflow), to ETL data from Digikala everyday and retrain model based on newest data and export model
To create website, I used streamlit formwork, a powerful formwork that allows me to create the desired user interface completely using Python.
I used Heroku a cloud platform as a service which provide a free hosting to deploy my app on it. it's and amzaing platform gave me so much flexbilte to deploy your apps