This project aims to predict the prices of cars using machine learning (ML) and deep learning (DL) techniques. The project utilizes a comprehensive dataset containing features of various cars such as make, model, year, mileage, and other relevant attributes. We have implemented both traditional ML models and DL models to predict car prices accurately.
-
Machine Learning Models:
- Implemented various ML algorithms including linear regression, random forest, and gradient boosting.
- Utilized techniques like feature engineering, feature scaling, and hyperparameter tuning to improve model performance.
-
Deep Learning Models:
- Developed neural network architectures using libraries like TensorFlow and Keras.
- Explored different architectures including feedforward neural networks, convolutional neural networks (CNNs), and recurrent neural networks (RNNs).
- Employed techniques like dropout regularization and batch normalization to prevent overfitting.
-
Full-Stack Implementation:
- Developed a web application using the Next.js framework for the frontend.
- Integrated the ML and DL models into the backend using Flask or FastAPI.
- Implemented a user-friendly interface for users to input car features and receive predicted prices.
The project is organized into the following directories:
- data/: Contains the dataset used for training and testing the models.
- notebooks/: Jupyter notebooks used for exploratory data analysis (EDA), model development, and evaluation.
- models/: Saved trained models.
- src/: Source code for the web application.
- backend/: Backend code implementing the ML and DL models.
- frontend/: Frontend code for the Next.js application.
-
Setup Environment:
- Install required dependencies using
pip install -r requirements.txt
. - Ensure Node.js and npm are installed for the frontend setup.
- Install required dependencies using
-
Training Models:
- Explore the Jupyter notebooks in the
notebooks/
directory for EDA and model development. - Train ML and DL models using the provided scripts.
- Explore the Jupyter notebooks in the
-
Web Application:
- Navigate to the
PFE/Website
directory. - Run
npm install
to install frontend dependencies. - Start the Next.js development server with
npm run dev
.
- Navigate to the
-
Testing:
- Test the functionality of the web application by navigating to the provided URL in a web browser.
- Submit car features through the interface and observe predicted prices.
- Dana Amine (@DanaAmine): Data Scientist, ML/DL model development
- Belkacemi Abderrahim (@Rahim444): Full-Stack Developer, Web application frontend implementation, and web scraping
- Mama Maroua (@romy-ma): Backend Developer, Web application backend implementation
- Hermez Abderrahim (@Hermez-anderrahim): Full-Stack Developer, Web application frontend implementation, and UI/UX design
- Imane Belbachir (@imane-belbachir): Frontend Developer, UI/UX designer, frontend implementation and UI/UX design
- Graba Chakib (@Chakibceran22): Backend Developer, 3D Designer, Backend implementation, and 3D models design
This project is licensed under the USTHB License - see the LICENSE file for details.