karttrack-lap / kartrider-game-analysis Goto Github PK
View Code? Open in Web Editor NEW유저가 선호하는 트랙을 만들기 위해서는 어떤 특성을 고려해야할까요? 카트타고 출근팀의 Kartrider-game-anlysis는 신규 트랙 디자인을 고민하는 카트라이더 트랙 디자이너를 위해 유저가 선호하는 트랙의 특징을 분석하는 프로젝트입니다.
유저가 선호하는 트랙을 만들기 위해서는 어떤 특성을 고려해야할까요? 카트타고 출근팀의 Kartrider-game-anlysis는 신규 트랙 디자인을 고민하는 카트라이더 트랙 디자이너를 위해 유저가 선호하는 트랙의 특징을 분석하는 프로젝트입니다.
- 모든 날짜의 개인전 데이터에 '아이템 팀 배틀전' matchtype이 함께 출력 되고 있음.
트랙분석을 통해 정량적 지표를 만들기 위한 기준 정하기
api 데이터로 추출한 kpi데이터와 크롤링 데이터를 조인하기 위해 크롤링 데이터 전처리를 진행합니다.
📃1차 설문조사
📃2차 설문조사
percent_retire는 cnt_retire_user/cnt_user*100으로 100이상이 나오면 안되는데, 100이상인 값을 발견해서 해결하고자합니다.
Api 데이터 가져오는 코드를 수정하기!
코드 수정사항은 이슈 댓글로 달아주시고 슬랙이나 노션에도 작성해주세요
트랙 메타 데이터
유저 반응 텍스트 데이터
1시간 간격으로 limit 200, offset 200으로 데이터를 뽑아줍니다!
데이터를 출력하셨다면 업로드 + 댓글로 서로 진행방향을 공유합시다!
재 merge한 crawl-data-with-theme와 API기반 KPI 데이터를 조인합니다.
merged된 API_KPI데이터를 바탕으로 상위/하위 트랙을 추출합니다.
API 기반 KPI 데이터를 기준으로 재 merge한 crawl-data-with-theme를 붙여, KPI의 name(track_name) 기준 데이터가 남도록 합니다.
#31 API_KPI 데이터 기반 상위/하위 트랙 데이터에서 결측치 채우기 후속 작업이 필요합니다.
ERD에서 rank를 match_rank로 변경하는 작업을 진행합니다. RANK함수가 있어서 match_rank로 변경합니다.
자체 수집 데이터에 결측치, 잘못 입력된 데이터가 없는지 확인하고
컬럼명을 ERD 기준에 맞게 변경하여 최종 업로드 합니다!
추가적인 내용이 있으면 작성해주세요.
분석에 필요한 테이블에서 trigger 테이블명 변경, track_straight에서 속성 추가로 넣어주어야함
테이블 import 하면 index 함꼐 로드 됨.
테이블명 오타 수정 tigger -> trigger
track_straight 테이블에 straight_all_section 추가로 넣어주기
테이블 index = False 지정하여 내보내기
크롤링 데이터와 map_id 기준으로 조인 하기 위해서, map_id를 추가해주는 작업 진행 할 예정입니다.
종속변수를 rank로 변환해서 ols 단순 회귀 해보기
해야 하는 업무를 작성해주세요.
추가적인 내용이 있으면 작성해주세요.
21년 데이터가 맞는지 확인 요청
: 21년 데이터로 알고 있는데 올해 출시 된 메이플 트랙이 포함되어 있습니다. 21년 데이터가 맞는지 확인 필요
rankinggrade2: 플레이어의 라이센스 확인 필요
: 깃허브 글에서는 rankinggrade2는 플레이어의 라이센스로 0은 없음, 1-6은 초보부터 pro까지, 게임 종료시 "", single_10031010 데이터로 확인해보니, rankinggrade2는 0-6
그리고 22년 1008일 데이터인 single_1008로 확인해보니 rankinggrade2는 0-5가 있었으니 다른 데이터 뽑아서 플레이어의 라이센스가 0-6인지 확인 필요
개인전 데이터가 뽑혔는지 확인 요청
: 개인전이기 때문에, matchWin이 1(승리)이면, matchRank는 1 즉 1위만 승리하게 뽑혔는지 검증했는데요. 2위~7위,리타이어 된 유저가 matchWin이 1인 것을 발견, matchId에 개인전이 잘 들어간 건지 matchId를 넥슨 api홈페이지에서 검색해봤는데 개인전이 아닌 아이템 배틀임. 개인전이 잘 들어간건지 확인 필요
242fac7 [크롤링/테마/메타(raw)데이터 텍스트 전처리 코드]
map_name_with_theme(Meta 데이터 기반데이터) 기반으로 재 merge 작업 필요
기존 데이터 변경 커밋 필요
등등
대용량 데이터를 처리하는 방법에 대해 고민해보아요 🙏🏻
아래 테이블을 저장할 구조 짜고 ERD 그리기
추가 수정사항
api 데이터로 추출한 kpi데이터와 크롤링 데이터를 조인하기 위해 크롤링 데이터 전처리를 진행합니다.
기준(SQL 검색 조건 혹은 우리가 사용하게 될 1달 데이터에 대한 설명) 링크
- 트랙 사용 건수 정의 : cnt_match 사용, 28일간 각 트랙 당 플레이 된 매치 수
과정 :
#30 에서 확인한 API_KPI 데이터 기반 상위/하위 트랙의 결측치를 수기로 채워넣습니다.
해당 결측치는 Crawling 단계에서 크롤링이 불가능하였던 데이터로 수기작업이 불가피합니다!
카트라이더 공식 문서 기준 결측치를 수가로 채워넣었습니다!
이 작업을 끝으로 API_KPI 데이터 기반 상위/하위 트랙 데이터가 완성됩니다👏👏
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.