|
| 1 | +# Restaurant Recommender System |
| 2 | + |
| 3 | +This repository contains a restaurant recommendation system that uses restaurant data from a CSV file. The system can recommend restaurants based on their popularity, location, cuisines, and user ratings. |
| 4 | + |
| 5 | +## Project Structure |
| 6 | + |
| 7 | +- `Restaurant_Reservation.ipynb`: This notebook contains the implementation of the restaurant recommendation system. |
| 8 | + |
| 9 | +## Dataset |
| 10 | + |
| 11 | +The dataset used in this project is loaded from `food1.csv` and contains information about various restaurants, including: |
| 12 | + |
| 13 | +- `res_id`: Restaurant ID |
| 14 | +- `name`: Name of the restaurant |
| 15 | +- `url`: Zomato URL for the restaurant |
| 16 | +- `address`: Full address of the restaurant |
| 17 | +- `city`: City where the restaurant is located |
| 18 | +- `locality`: Locality or neighborhood of the restaurant |
| 19 | +- `cuisines`: Types of cuisines the restaurant serves |
| 20 | +- `timings`: Operating hours of the restaurant |
| 21 | +- `average_cost_for_one`: Average cost for one person |
| 22 | +- `highlights`: Special features or services of the restaurant |
| 23 | +- `aggregate_rating`: Average user rating of the restaurant |
| 24 | +- `votes`: Number of votes or reviews for the restaurant |
| 25 | +- `scope`: A custom score used for ranking restaurants |
| 26 | + |
| 27 | +## Model Explanation |
| 28 | + |
| 29 | +The restaurant recommendation system implemented in the notebook primarily ranks restaurants based on a combination of their user ratings and the number of reviews they have received. The model also allows filtering by locality, cuisines, and cost range. |
| 30 | + |
| 31 | +**Steps Involved:** |
| 32 | + |
| 33 | +1. **Data Exploration**: |
| 34 | + - The dataset is loaded using Pandas. |
| 35 | + - Basic exploration is done using `.head()`, `.info()`, and `.columns()` to understand the structure and details of the dataset. |
| 36 | + |
| 37 | +2. **Data Cleaning**: |
| 38 | + - Missing values are handled for attributes like `timings`. |
| 39 | + |
| 40 | +3. **Recommendation System**: |
| 41 | + - The recommendation system ranks restaurants based on their `aggregate_rating` and the number of `votes` they have received. |
| 42 | + - The user can filter restaurants based on criteria such as location (`locality`), `cuisines`, and cost (`average_cost_for_one`). |
| 43 | + |
| 44 | +## How to Run |
| 45 | + |
| 46 | +1. Clone the repository. |
| 47 | +2. Install the necessary dependencies (`pandas`, `numpy`, `matplotlib`, `seaborn`, `geopandas`). |
| 48 | +3. Open the `Restaurant_Reservation.ipynb` notebook and run the cells sequentially to explore and use the recommendation system. |
| 49 | + |
| 50 | +## Conclusion |
| 51 | + |
| 52 | +The restaurant recommendation system allows users to explore various restaurants and receive recommendations based on popularity, location, and cuisines. This project can be expanded by incorporating more advanced recommendation techniques, such as collaborative filtering, for personalized recommendations. |
0 commit comments