|
|
--- |
|
|
license: mit |
|
|
language: |
|
|
- en |
|
|
tags: |
|
|
- recommendation-system |
|
|
- content-based-filtering |
|
|
- landmarks |
|
|
- cmu |
|
|
- campus-exploration |
|
|
size_categories: |
|
|
- n<1K |
|
|
--- |
|
|
|
|
|
# Content-Based Recommendation System for CMU Landmarks |
|
|
|
|
|
## Model Description |
|
|
|
|
|
This is a **trained-from-scratch** content-based recommendation system designed to recommend Carnegie Mellon University landmarks based on user preferences. The model learns feature representations from landmark characteristics and uses cosine similarity to find similar landmarks. |
|
|
|
|
|
## Model Details |
|
|
|
|
|
### Model Type |
|
|
- **Architecture**: Content-based filtering with feature engineering |
|
|
- **Training**: Trained from scratch on CMU landmarks dataset |
|
|
- **Input**: Landmark features (rating, classes, location, dwell time, indoor/outdoor) |
|
|
- **Output**: Similarity scores for landmark recommendations |
|
|
|
|
|
### Training Data |
|
|
- **Dataset**: 100+ manually curated CMU landmarks |
|
|
- **Features**: Rating, classes, geographic coordinates, dwell time, indoor/outdoor classification |
|
|
- **Preprocessing**: StandardScaler normalization, multi-hot encoding for classes |
|
|
|
|
|
### Training Procedure |
|
|
- Feature extraction from landmark metadata |
|
|
- StandardScaler normalization of numerical features |
|
|
- Multi-hot encoding for categorical classes |
|
|
- Cosine similarity computation for recommendations |
|
|
|
|
|
## Intended Use |
|
|
|
|
|
### Primary Use Cases |
|
|
- Recommending CMU landmarks based on user preferences |
|
|
- Finding similar landmarks to user-selected favorites |
|
|
- Personalized campus exploration planning |
|
|
|
|
|
### Out-of-Scope Use Cases |
|
|
- Recommending landmarks outside CMU campus |
|
|
- Predicting user ratings or reviews |
|
|
- Real-time location-based recommendations |
|
|
|
|
|
## Performance Metrics |
|
|
|
|
|
- **Recommendation Quality**: High similarity scores (0.7-0.9) for relevant landmarks |
|
|
- **Diversity**: Incorporates diversity weighting to avoid over-concentration |
|
|
- **User Satisfaction**: Optimized for user preference alignment |
|
|
|
|
|
## Limitations and Bias |
|
|
|
|
|
- **Geographic Scope**: Limited to CMU campus landmarks only |
|
|
- **Static Data**: Based on current landmark database, may not reflect real-time changes |
|
|
- **User Preference Learning**: Does not learn from user interaction history |
|
|
|
|
|
## Ethical Considerations |
|
|
|
|
|
- **Data Privacy**: No personal user data collected |
|
|
- **Fairness**: Recommendations based on objective landmark features |
|
|
- **Transparency**: Feature importance and similarity scores are explainable |
|
|
|
|
|
## How to Use |
|
|
|
|
|
```python |
|
|
from model import ContentBasedRecommender, load_model_from_data |
|
|
|
|
|
# Load model from landmarks data |
|
|
recommender = load_model_from_data('data/landmarks.json') |
|
|
|
|
|
# Get recommendations |
|
|
recommendations = recommender.recommend( |
|
|
selected_classes=['Culture', 'Research'], |
|
|
indoor_pref='indoor', |
|
|
min_rating=4.0, |
|
|
diversity_weight=0.6, |
|
|
top_k=10 |
|
|
) |
|
|
|
|
|
# Print top recommendations |
|
|
for landmark_id, score in recommendations: |
|
|
print(f"{landmark_id}: {score:.3f}") |
|
|
``` |
|
|
|
|
|
## Model Files |
|
|
|
|
|
- `model.py`: Main model implementation |
|
|
- `README.md`: This model card |
|
|
|
|
|
## Citation |
|
|
|
|
|
```bibtex |
|
|
@misc{cmu-explorer-recommender, |
|
|
title={Content-Based Recommendation System for CMU Landmarks}, |
|
|
author={Yash Sakhale, Faiyaz Azam}, |
|
|
year={2025}, |
|
|
url={https://huggingface.co/spaces/ysakhale/Tartan-Explore} |
|
|
} |
|
|
``` |
|
|
|
|
|
## Model Card Contact |
|
|
|
|
|
For questions about this model, please refer to the [CMU Explorer Space](https://huggingface.co/spaces/ysakhale/Tartan-Explore). |
|
|
|