This project simulates the role of a data scientist at Booking.com tasked with uncovering potentially dishonest hotels. The method? Build a machine learning model that predicts hotel ratings based on various features of the booking. If the prediction is significantly off β something shady might be going on.
Predict the true rating of a hotel based on booking-related features such as:
- Hotel name
- Tags
- Booking dates
- Geolocation
- Type of stay (e.g., solo, family, short/long trip)
Hotels with large mismatches between actual and predicted ratings may require manual review.
- EDA_Project_3_model.ipynb
- README.md
- requirements.txt
All analysis is contained within the notebook, organized into:
- π§Ή Data Cleaning
- π Exploratory Data Analysis
- ποΈ Feature Engineering
- π Model Training & Evaluation
- π§ Model Insights and Conclusions
- Real Booking.com data
- Columns include:
hotel_nametags(meta data about guest type, trip length, etc.)review_scorereview_date,checkin_date, etc.lat,lng- Booking metadata (number of nights, guests, etc.)
- Extracted temporal features (season, weekday, time since booking, etc.)
- Parsed hotel
tagsfor useful clues - Cleaned and manually imputed missing coordinates
- Added geographic distance from city center
- Baseline: Linear Regression
- Main Model: Gradient Boosting Regressor
- Evaluation metric: MAE (Mean Absolute Error)
| Model | MAE |
|---|---|
| Linear Regression | ~0.54 |
| Gradient Boosting | ~0.42 |
Note: Lower MAE indicates better accuracy in predicting hotel ratings.
Hotels with a large gap between their actual and predicted scores may be flagged for review. This approach can be integrated into Bookingβs internal trust and safety tools.
- Python 3.8+
- pandas, numpy
- seaborn, matplotlib
- scikit-learn
- xgboost
Install dependencies with:
pip install -r requirements.txt