Skip to content

Repository files navigation

Steam Recommendation System

streamlit-main-2026-05-06-23-05-93.webm

A game recommendation system built with Python and Streamlit that combines Collaborative Filtering and Content-Based Filtering to suggest Steam games tailored to individual users.

Features

  • Collaborative Filtering — Uses SVD (Singular Value Decomposition) via the surprise library to recommend games based on user behavior patterns.
  • Content-Based Filtering — Uses FAISS with genre, category, developer, and publisher features to find similar games.
  • Steam API Integration — Fetches live game details, descriptions, and images directly from the Steam store.
  • Streamlit UI — Clean, interactive interface for exploring personalized recommendations.

How It Works

  1. Enter a numeric User ID to get personalized game recommendations.
  2. The collaborative filter predicts ratings for unplayed games based on similar users' behavior.
  3. For each recommended game, the content-based filter surfaces similar titles using game metadata.
  4. Game details and artwork are pulled in real-time from the Steam API.

Project Structure

steam_recommendations_system/
├── main.py                   # Streamlit app entry point
├── CollaborativeFiltering.py # SVD-based user-game recommendations
├── ContentBasedFiltering.py  # FAISS-based similar game finder
├── data/
│   ├── steam-200k.csv        # User behavior dataset
│   └── steam.csv             # Game metadata dataset

Setup

pip install streamlit pandas scikit-learn faiss-cpu scikit-surprise requests html2text
streamlit run main.py

Data

The user behavior data used in this project is sourced from Kaggle.

Dataset shoutout: Stadia / Steam Recommendation Dataset by zhehaoliang on Kaggle. Many thanks for making this dataset publicly available!

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages