|
|
--- |
|
|
language: en |
|
|
license: mit |
|
|
library_name: scikit-learn |
|
|
tags: |
|
|
- travel |
|
|
- destination-prediction |
|
|
- clustering |
|
|
- recommendation-system |
|
|
--- |
|
|
|
|
|
# Destination Cluster Predictor |
|
|
|
|
|
## Model Description |
|
|
|
|
|
This model is a machine learning system designed to predict and recommend travel destinations based on user preferences and requirements. It uses a combination of clustering and classification techniques to group similar destinations and make personalized recommendations. |
|
|
|
|
|
### Model Type |
|
|
|
|
|
The model consists of three main components: |
|
|
- A clustering model (`destination_clustering_model.pkl`) |
|
|
- Label encoders for categorical features (`destination_label_encoders.pkl`) |
|
|
- A scaler for numerical features (`destination_scaler.pkl`) |
|
|
|
|
|
### Input Features |
|
|
|
|
|
The model takes the following input features: |
|
|
|
|
|
1. **Interest**: Combinations of interests (Mountains, Wildlife, Adventure, Culture, etc.) |
|
|
2. **Goal**: Travel goals (Adventure, Exploration, Photography, Trekking, etc.) |
|
|
3. **Climate**: Weather conditions (Temperate, Cold, Moderate, Cool, Warm, etc.) |
|
|
4. **Solo/Group**: Travel type (Solo, Group, or Solo/Group) |
|
|
5. **Access**: Transportation options (Road, Trek, Air, Boat, etc.) |
|
|
6. **Distance**: Numerical value (10-1500 km) |
|
|
7. **Latitude**: Numerical value (24-37) |
|
|
8. **Longitude**: Numerical value (60-78) |
|
|
9. **Activity**: Various activities and their combinations |
|
|
|
|
|
### Output |
|
|
|
|
|
The model outputs: |
|
|
- A predicted destination cluster |
|
|
- Top 5 destination recommendations based on the input preferences |
|
|
|
|
|
## Training Data |
|
|
|
|
|
The model was trained on a dataset of travel destinations with their associated features and characteristics. The training data is stored in `data.xlsx` and contains 125 entries. |
|
|
|
|
|
## Training Procedure |
|
|
|
|
|
The model uses a combination of: |
|
|
- Label encoding for categorical variables |
|
|
- Standard scaling for numerical features |
|
|
- Clustering algorithm for destination grouping |
|
|
|
|
|
## Evaluation |
|
|
|
|
|
The model's performance is evaluated based on: |
|
|
- Cluster coherence |
|
|
- Recommendation relevance |
|
|
- User preference matching |
|
|
|
|
|
## Limitations |
|
|
|
|
|
- The model's recommendations are limited to the destinations present in the training data |
|
|
- Geographic coordinates are constrained to specific ranges (Latitude: 24-37, Longitude: 60-78) |
|
|
- Distance recommendations are limited to 10-1500 km range |
|
|
|
|
|
## Usage |
|
|
|
|
|
```python |
|
|
# Example usage |
|
|
from predictor.models import DestinationPredictor |
|
|
|
|
|
predictor = DestinationPredictor() |
|
|
recommendations = predictor.predict( |
|
|
interest="Mountains", |
|
|
goal="Adventure", |
|
|
climate="Temperate", |
|
|
travel_type="Solo", |
|
|
access="Road", |
|
|
distance=500, |
|
|
latitude=30, |
|
|
longitude=70, |
|
|
activity="Trekking" |
|
|
) |
|
|
``` |
|
|
|
|
|
## Environmental Impact |
|
|
|
|
|
The model is lightweight and can run efficiently on standard hardware. No special GPU requirements are needed for inference. |
|
|
|
|
|
## Citation |
|
|
|
|
|
If you use this model in your research or application, please cite: |
|
|
|
|
|
```bibtex |
|
|
@misc{destination_predictor, |
|
|
author = {Your Name}, |
|
|
title = {Destination Cluster Predictor}, |
|
|
year = {2024}, |
|
|
publisher = {Hugging Face}, |
|
|
journal = {Hugging Face Hub}, |
|
|
howpublished = {\url{https://huggingface.co/your-username/destination-predictor}} |
|
|
} |
|
|
``` |
|
|
|
|
|
## License |
|
|
|
|
|
This model is licensed under the MIT License. |