본문 바로가기

Analytics/Study

(30)
실전#4 오늘 밤 유럽 축구, 어디가 이길까(2) 데이터셋 준비 후 EDA 과정! 이번 주제에서 진행하는 EDA 과정이 지금까지 들었던 주제들 중에 가장 실제 분석 환경과 유사했던 것 같아 좀 더 집중해서 들을 수 있었다. (하나씩 과정을 밟아가는건 다 똑같구나 하는 생각과 함께...) 일단 테이블별 정리를 해보자 df_country : 각 id별 해당 국가가 매칭된 테이블 df_league : 각 id별 country_id와 해당 리그명(name)이 매칭된 테이블 id와 country_id는 동일하게 관리되고 있는 정보인지 확인해보자 (이런걸 확인하지 않고 그냥 넘어가면 큰일!) 다행히 추가적인 작업이 필요하지는 않는다(다행) df_match 화면에는 다 담아내지 못했지만, 115개의 굉장히 많은 컬럼을 보유한 테이블이다. 컬럼이 많은 만큼 가장 ED..
실전#4 오늘 밤 유럽 축구, 어디가 이길까(1) 새로운 주제가 시작되는 첫 장이다. 이전 롤 데이터에 이어 이번에는 축구 데이터이다. 이쯤되면 강사님의 기호가 반영된 주제선정 같기도..?? 다만 이전의 주제들과 차이가 있다면 데이터셋 준비 방식에 있다. 기존에는 Kaggle API를 통해 CSV 파일을 가져왔다면, 이번 주제에서 다루는 데이터들은 SQL 데이터 형태를 판다스 데이터프레임으로 변환하는 방식이다. SQL 이야기는 본 강의의 주된 내용이 아니긴하지만 강의에서도 잠깐 설명해준 만큼 간단하게 요약?을 해보려고한다. SQL(Structured Query Language)은 관계형 데이터베이스 관리 시스템(RDBMS)에서 데이터를 관리하고 검색하기 위한 언어이다. 이 때 테이블이라는 용어를 자주 쓰게되는데 테이블(Table)은 2차원 데이터 구조를..
실전#3 데이터로 알아보는 리그 오브 레전드의 승리 공식(3) 이번 주제의 마지막 장이다. (이전 실전1,2를 하면서 익숙해진 덕분인지 강의 진도가 빨라졌다) 이전 표준화된 데이터 셋을 가지고 이제 Classification 모델 학습 단계로 들어가자 Classification 모델 학습하기 이전과 마찬가지로 LogisticRegression과 XGBoost 2가지 모델을 생성 및 비교해본다. 기본 코드부터 살펴보자(반복인 느낌이 들수 있지만, 그래도 없이 정리하면 또 아쉽다) from sklearn.linear_model import LogisticRegression # LogisticRegression 모델 생성/학습 model_lr = LogisticRegression() model_lr.fit(X_train, y_train) # 모델 결과 학습 from sk..
실전#3 데이터로 알아보는 리그 오브 레전드의 승리 공식(2) 데이터 전처리 과정 cf. 이번 강의는 결론만 보면 이해가 되지만, 과정으로는 살짝 만족스럽지 못했던 강의였다. 이유는 아래에 조금 더 자세하게 데이터 전처리 과정 전에 우선 Multicollinearity를 방지하는 과정부터 시작하자. 특정 변수들 간 상관성이 높아 하나의 변수만 봐도 되는 변수들을 drop 시키도록 하자 df.drop(['gameId', 'redFirstBlood', 'redKills', 'redDeaths', 'redTotalGold', 'redTotalExperience', 'redGoldDiff', 'redExperienceDiff'], axis = 1, inplace = True) gameId : 고유 id 개념이기 때문에 실제 분석에서 변수로서 의미를 지니기 어렵다. redF..
실전#3 데이터로 알아보는 리그 오브 레전드의 승리 공식(1) 이번 강의는 굉장히 흥미로운 주제였다. 개인적으로 실제 게임 하는걸 좋아하지 않지만, 그래도 보는것 자체는 몇차례 보았어서 다행히 엄청 낯설지는 않게 데이터 구조를 이해할 수 있었다. (+@로 강사님의 예상 외의 친절한 설명으로 새로 알게되는 내용들도 있었다ㅎㅎ) 무튼 데이터의 특징은 다이아몬드 티어 기준이고 (여담이지만 분석 결과 평가 시 롤에 대한 이해가 높은 사람이라면 티어 기준도 중요하게 보는 요인이 될 수 있겠다) 게임 시작 후 10분까지의 정보들을 기준으로 데이터화 되어있으며, (항복이 10분 이후부터 가능하다보니 기준을 10분으로 잡은 것으로 이해하면 된다.) 변수들은 gameId별로 총 39개로 채워져있다. 위 info()를 참고하여 살펴보면 데이터 구조의 특징이 몇 개 보이는데 가장 대표..
실전#2 데이터로 살펴보는 우리 아이 학습 성공/실패 요소(5) 마지막 내용이다. 모델 학습과 학습 결과 분석을 다루어보자. 모델 학습 이번 강의에서도 Logistic Regression과 XGBoost 의 2가지 Classification 모델을 기준으로 생성 및 학습을 진행하였다. 기본적인 코드는 실전#1과 유사하다. # Logistic Regression from sklearn.linear_model import LogisticRegression # LogisticRegression 모델 생성/학습 model_lr = LogisticRegression(max_iter = 10000) model_lr.fit(X_train, y_train) # 모델 학습 결과 평가 from sklearn.metrics import classification_report pred =..