본문 바로가기
Project

[프로젝트] 고인물의 스팀 게임추천 #1개요

by nothing-error 2023. 1. 12.

프로젝트 시작 동기 

  1. 사람의 시간은 유한하고, 게임을 할 수 있는 시간도 유한하므로 동일 시간 동안에 가장 재미있는 게임을 즐겨야 할 필요가 있음.  
  2. 유튜브에서 여러 영상에서 많은 추천을 받은 '엘든링'이란 게임을 구매하여 플레이하였지만, 컨트롤의 한계를 느끼며 게임의 재미를 느끼기 힘들었음
  3. 기존 스팀에서 플레이했던 게임 중에서 플레이 시간이 길었던 게임의 태그들을 확인해보니 #생존,  #시뮬레이션 등의 태그가 붙어있어 나의 게임 취향을 확인할 수 있었음. 때문에 나와 같은 취향의 사람들이 즐겁게 한 게임은 무엇일지 궁금함.

엘든링 : 7시간 넘게 플레이했지만 삭제된 상태

 

프로젝트 좀보이드 : 200시간 이상 플레이

 

 

 

 

프로젝트 소개

steam에서 게임 리뷰에 있는 유저들의 아이디와 플레이시간을 수집하여 'ALS알고리즘'을 적용하여 사람들의 취향에 맞는 게임을 추천

프로젝트 기간

23년 1월 9일~ 23년 1월 23일

 

시작 전 준비사항 

- 2022.12.29 - [data processing/spark] - Zeppelin 환경구성

- 2022.12.29 - [data processing/spark] - Zeppelin(spark) 인터프리터 설정

- 2022.12.28 - [data processing/hadoop] - Hadoop 클러스터 환경 구성

- 2022.12.28 - [data processing/spark] - SPARK 서버 환경 구성

-mongoDB 설치

 

프로젝트 환경 

GCP 4개의 인스턴스를 생성하여  Hadoop 클러스터 구축 후 진행함(master 1대, worker 3대)

운영체제 : ubuntu 20.04

ram : 8g

storage : 50g

 

 

프로젝트 과정

(required)

1. steam api 를 통해서 steam 게임목록(appid) 수집

2. steam api를 통해서 appid 에 해당하는 review 데이터 수집(review 안에 playtime 있음)

3. 수집한 데이터를 json 형식으로 mongoDB 에 저장

4. DB에 있는 데이터를 전처리하여 HDFS에 업로드

5. zeppelin 에서 spark_yarn 인터프리터를 사용해서 분산 병렬로 ALS 알고리즘 트레이닝(클러스터 구축 필요)

6. 모델 평가(rmse)

7. 게임 추천 결과 확인

---------------------------------

(option)

8. 웹사이트 구축하여 추천모델 서빙

 

필요 스택

Hadoop, Spark, mongoDB, FastAPI

 

 


 

다음글

2023.01.12 - [Project] - [프로젝트] 고인물의 스팀 게임추천 #2 데이터수집

2023.01.17 - [Project] - [프로젝트] 고인물의 스팀 게임추천 #3 데이터탐색

2023.01.25 - [Project] - [프로젝트] 고인물의 스팀 게임추천 #4 모델링

 

 

 

댓글