본문 바로가기

Project10

[프로젝트] 고인물의 스팀 게임추천 #4 모델링 1. 하이퍼파라미터 튜닝 및 평가 %pyspark from pyspark.ml.evaluation import RegressionEvaluator from pyspark.ml.recommendation import ALS from pyspark.ml.tuning import CrossValidator, ParamGridBuilder # Create a SparkSession spark = SparkSession.builder.appName("ALS_steam").getOrCreate() # Load the data into a DataFrame # Prepare data (trainingData, testData) = data.randomSplit([0.8, 0.2]) # Define the ALS mo.. 2023. 1. 25.
[프로젝트] 고인물의 스팀 게임추천 #3 데이터탐색 앞에서 수집한 데이터를 mongoDB에서 아래와 같이 가져올 수 있다. nosql은 처음 사용해보는데 겉으로 보이는 모습만으로는 크롤링 할 때의 BeautifulSoup 사용하는것처럼 느껴진다 수집한 reiview 데이터에서 리뷰 자체가 없는 경우가 많아서 아래와 같이 빈 list 가 있는 것은 제외하여 가져왔다. docs = steam_appid.find({'reviews' : {"$ne": []}} ) docs 참고로 비교연산자는 아래와 같다 $lte : 작거나 같다. (less than or equal) $lt : 작다. (less than) $eq : 같다. (equal) $gte : 크거나 같다. (greater than or equal) $gt : 크다. (greater than) $ne : .. 2023. 1. 17.
[프로젝트] 고인물의 스팀 게임추천 #2 데이터수집 1. App list(아래 주소에서 api 정보 확인 가능) https://partner.steamgames.com/doc/webapi/ISteamApps ISteamApps Interface (Steamworks Documentation) Documentation Resources News & Updates Support partner.steamgames.com GetAppList 으로 스팀에 있는 모든 게임목록을 알 수 있다. API 구조는 아래와 같다. ### 응답 - applist - apps- 응용 프로그램이 포함된 목록입니다. - appid- uint32 - 이 애플리케이션의 앱 ID입니다. - name- 문자열 - 이 애플리케이션의 이름입니다. master 노드에서 데이터 수집을 진행하였고 .. 2023. 1. 12.
[프로젝트] 고인물의 스팀 게임추천 #1개요 프로젝트 시작 동기 사람의 시간은 유한하고, 게임을 할 수 있는 시간도 유한하므로 동일 시간 동안에 가장 재미있는 게임을 즐겨야 할 필요가 있음. 유튜브에서 여러 영상에서 많은 추천을 받은 '엘든링'이란 게임을 구매하여 플레이하였지만, 컨트롤의 한계를 느끼며 게임의 재미를 느끼기 힘들었음 기존 스팀에서 플레이했던 게임 중에서 플레이 시간이 길었던 게임의 태그들을 확인해보니 #생존, #시뮬레이션 등의 태그가 붙어있어 나의 게임 취향을 확인할 수 있었음. 때문에 나와 같은 취향의 사람들이 즐겁게 한 게임은 무엇일지 궁금함. 프로젝트 소개 steam에서 게임 리뷰에 있는 유저들의 아이디와 플레이시간을 수집하여 'ALS알고리즘'을 적용하여 사람들의 취향에 맞는 게임을 추천 프로젝트 기간 23년 1월 9일~ 23.. 2023. 1. 12.