Skip to content

SeoHyeonSim/Recipe-Recommendation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

🍽️ Recipe Recommendation System

AI 기반 개인 맞춤형 요리 레시피 추천 시스템입니다. 사용자의 평가 데이터를 바탕으로 취향에 맞는 레시피를 추천하며, 다양한 알고리즘을 결합해 정확도를 높였습니다.

📌 프로젝트 개요

  • 주요 목표
  • 사용자의 기호를 반영한 개인화 추천 기능 구현

  • 재료, 조리 시간, 태그 등 레시피 속성 정보를 활용

  • 식사 결정의 수고를 덜고, 추천 품질을 높이는 AI 시스템 구축

🛠 개발 환경

Python 3, Jupyter Notebook (Google Colab)

🗃️ 데이터셋 정보

1. RAW_recipes.csv

  • 레시피 고유 ID (id), 요리명 (name), 조리 시간 (minutes)

  • 재료 목록 (ingredients), 조리 단계 (steps)

  • 영양소 정보 (nutrition), 태그 (tags) 포함

2. RAW_interactions.csv

  • 사용자-레시피 간 상호작용 정보

  • user_id, recipe_id, rating(1~5), 작성일자 및 리뷰 텍스트 포함

🧼 데이터 전처리

  • 평점 누락/이상값 제거 및 사용자별 최소 평가 수 기준 필터링

  • 조리 시간 및 영양 데이터 정규화

  • 텍스트 정보(Tags, Steps, Ingredients)를 TF-IDF 기반 벡터로 변환

  • 레시피별 요약 정보 추출 및 병합

🧠 추천 시스템 구조

1. 콘텐츠 기반 추천 (Content-Based)

  • 레시피 자체의 유사도를 기준으로 추천

  • TF-IDF + Cosine Similarity를 사용해 텍스트 기반 유사도 계산

  • 사용자가 선호한 레시피와 비슷한 항목을 추천

2. 협업 필터링 (Collaborative Filtering)

  • 사용자 간 평점 패턴의 유사도를 통해 추천

  • KNNBasic 모델을 사용하여 최근접 사용자 기반으로 예측

3. 하이브리드 추천

  • 두 추천 방식의 점수를 조합하여 더 정교한 추천 구현

  • cold-start 문제 대응 및 예측 정밀도 향상

📈 실험 결과 및 성능

  • 사용자별 Top-N 추천 리스트를 생성하여 테스트

  • 콘텐츠 기반 추천은 새로운 사용자나 레시피에 유리

  • 협업 필터링은 평가 수가 많은 사용자에게 높은 성능

  • 하이브리드 방식이 전반적으로 가장 안정적인 추천 품질 제공

💡 확장 가능성

  • 사용자가 보유한 재료 기반의 레시피 추천 기능 추가

  • 알레르기, 식단 제한 등을 반영한 필터링 기능 확장

  • 웹 기반 인터페이스로 사용자와의 상호작용 강화

  • 식단 관리 어플리케이션, 실제 식자재 쇼핑몰/푸드 플랫폼과 연동 가능

주요 라이브러리:

pandas, numpy, scikit-learn, surprise

matplotlib, seaborn, nltk

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published