SafariHub’s recommender system is designed to provide personalized recommendations for tour destinations, hotels, and tour operators in Kenya. By leveraging user preferences and historical interactions, the system aims to assist travelers in making informed choices. This can greatly enhance the overall travel experience for users.
Tourism is a thriving industry in Kenya, and travelers often face the challenge of choosing the right destinations for their trips. With an overwhelming number of options available, personalized recommendations are crucial. SafariHub’s recommender system aims to address this problem by suggesting relevant tour destinations, hotels, and tour operators in Kenya based on user preferences and historical interactions.
Travelers struggle to select the most suitable tourist destinations for their trips. By leveraging user data and interactions, our recommendation system will assist users in making informed choices, enhancing their travel experiences. The beneficiaries include travelers, tourism agencies, and local business owners.
- Build a collaborative filtering model to recommend destinations.
- Reduce cold-start problem by incorporating content-based features.
- Use NLP to recommend items based on sentiment analysis of reviews.
- Generate insights from user interaction data to understand trends, preferences, and popular destinations.
- Suggest a wide range of destinations, including both popular and less-known locations to cater to different travel preferences.
- Promote local hotels, destinations and tour agents through our web application.
- The dataset was scraped using the open source APIFY Tripadvisor Scraper.
- It contains information about tourist destinations in Kenya, including their names, categories, ratings, review counts, images, and other relevant features.
- The data's relevance lies in its ability to help us recommend destinations to travelers based on their preferences and historical interactions.
The following were found to be the most common double combination of words used in reviews:
It gives insights to the most popular activities in Kenya such as game drives
and day safaris
.
A hybrid recommendation system that combines NLP and content-based approaches to generate similar items.
Distance Metrics:
Average Mean Squared Error (MSE): 0.3309639568619343
Average Root Mean Squared Error (RMSE): 0.5752946695928395
Average Mean Absolute Error (MAE): 0.41681208879029213
*************************************************************************************
Classification Report:
precision recall f1-score support
Not Similar 0.93 0.94 0.93 182
Similar 0.62 0.58 0.60 31
accuracy 0.89 213
macro avg 0.78 0.76 0.77 213
weighted avg 0.88 0.89 0.89 213
*************************************************************************************
Recommended hotels for Diani Sea Lodge:
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
name | rating | priceRange | priceLevel | distances | |
---|---|---|---|---|---|
28 | Jacaranda Indian Ocean Beach Resort | 4.0 | KES 13,080 - KES 23,207 | Standard | 0.800187 |
72 | Medina Palms | 4.5 | KES 30,802 - KES 42,897 | Premium | 0.868753 |
103 | Sandies Tropical Village | 4.0 | KES 16,596 - KES 25,598 | Standard | 0.886675 |
227 | Silver Palm Spa and Resort | 4.5 | KES 25,176 - KES 30,942 | Standard | 0.891293 |
248 | The Charming Lonno Lodge | 5.0 | KES 42,335 - KES 47,257 | Luxury | 0.897824 |
-
The KNN model exhibits relatively low error metrics (MSE, RMSE, MAE). This suggests that the KNN model is better at minimizing errors when predicting similarity between hotels.
-
The KNN model offers recommendations that are more consistent in terms of proximity to the target hotel, which is an essential factor in making relevant recommendations.
The KNN model stands out as the most reliable option for providing recommendations, especially in terms of consistency and lower error metrics compared to other models. It also balances precision and recall well, making it more suitable for real-world applications. The SVM model may excel in specific scenarios, particularly where classification of "Not Similar" entities is more critical. However, it underperforms in recommending similar items compared to the KNN model.
-
Model Tuning: Continue fine-tuning the KNN model to further reduce errors and improve classification metrics, particularly for the "Similar" class. This could involve adjusting the number of neighbors or using weighted distances.
-
Hybrid Model Approach: Consider combining the strengths of both KNN and Cosine Similarity models in a hybrid approach, where one model is used for initial filtering and the other for fine-tuning recommendations.
-
Develop and integrate advanced recommendation algorithms that curate personalized travel itineraries based on individual preferences, historical travel data, and real-time user inputs. This will enhance the relevance and appeal of suggested destinations and activities.
-
Provide real-time updates on local events, weather conditions, and special offers relevant to the traveler’s current or upcoming location. This can be achieved through push notifications or in-app alerts, ensuring that travelers have the most up-to-date information.
-
Consider expanding the recommendation system to include data and insights from other countries. This will allow for a broader range of travel options and cross-country promotional opportunities.
The model was deployed using Django framework.
The user clicks on an image to generate recommendations.
Steps:
git clone https://github.com/Misfit911/SafariHub.git
cd SafariHub_app
pip install -r requirements.txt
# Windows
python manage.py runserver
# Mac
python3 manage.py runserver
├── SafariHub_app
Deployment
├── data
Data files
├── images
Images for Django web app
├── README.md
README.md
├── SAFARIHUB.docx
Report document
├── SafariHub.pdf
Report in PDF format
└── safarihub.ipynb
Jupyter notebook file