본문 바로가기

Analytics/Study

실전#1 에필로그?!

실전#1 에필로그

 
강의 내용에 대한 정리 or 공부를 일단락하기는했지만,
이대로 넘어가기에는 살짝 아쉽기도 부족하기도 한 느낌이 있어서
미처 담아내지 못했거나 조금 더 설명하면 좋았을 내용들에 대한 파트이다.
 

첫번째로 추가하고 싶은 부분은 EDA 파트이다 (https://aintover.tistory.com/76)

제목은 EDA라고 했는데, 다시 보니 시각화 정리가 주된 내용이 된 느낌이다.
이에 각 변수들별로 확인한 EDA에 대해 조금 더 상세히 살펴보도록 하자
 
우선 모든 변수들에 대한 히스토그램을 한번에 비교 확인해보자

plt.rcParams['figure.figsize'] = [18, 12]
df.hist();

 

우선 연령(age)은 60대에 가장 많은 분포를 보이며, 나름 정규분포 형태이다.
빈혈증 여부(anaemina)는 정상(0) 비중이 조금 더 많고
크레아틴키나제 검사 결과(creatinine_phosphokinase)는 0의 비중이 극단적으로 높은 우하향 분포를 보인다.
당뇨병 여부(diabetes)도 정상(0) 비중이 조금 더 많고
박출계수%(ejection_fraction)은 특정 구간(40%)의 빈도가 가장 많은 특징을 갖는다.
고혈압 여부(high_blood_pressure)도 정상(0) 비중이 많으며
혈소판 수(platelets)는 일부 극단적인 데이터가 포함되어 있지만 대체로 정규분포를 보인다.
혈중 크레아틴 레벨(serum_creatinine)의 경우 0의 비중이 높은 우하향 분포를 보이고
혈중 나트륨 레벨(serum_sodium)은 일부 극단적인 데이터가 존재하지만 정규분포에 가까운 형태이다.
성별(sex)는 남성(1)이 많은 편이고
흡연 여부(smoking)은 비흡연(0)자가 많다.
관찰 기간(time)의 경우는 특정 패턴이 없는(그나마 양봉?) 분포이다.
그리고 타겟으로 선정한 사망 여부(DEATH_EVENT)는 생존(0)이 많다.
 
단순 히스토그램만 보고 정리한 내용도 이정도이다.
실제 EDA를 진행하면서 추가로 확인한 내용들이 좀 더 있지만, 변수별로 깊이있는 분석까지 이어지진 않았기에
주요한 내용들은 위 내용으로도 충분할 것 같다.
 

두번째로 추가하고 싶은 파트는 모델 학습 과정이다 (https://aintover.tistory.com/78)

특히 xgboost에 대한 부가설명이 있으면 좋을 것 같은데
각 변수별 모델과의 중요도를 시각화로 확인한 과정에서
최초 결과에서는 time 변수가 가장 중요도가 높게 나왔다. 

다만 최종 결과에서 time 변수가 제외된 이유를 설명하기 위해
두 변수간의 연관도와 아래의 DEATH_EVENT에 따른 분포 변화를 확인할 필요가 있다.
생존/사망 여부의 결정 중 특히 사망이라는 결과를 관찰 기간(time)과 연결지어 생각하면
사망이 발생하는 시점 자체가 관찰 기간의 종료 시점이 되어버린다.
 

위 그래프와 같이 1에 해당하는 라인과 0에 해당하는 라인의 비교만으로도 이해가 될 것이다.
때문에 모델 관점에서 중요도가 높다고 볼 수 있지만
실제 의미상으로는 인사이트를 가져오기 어려운 변수기 때문에
최종 결과에서도 time 변수를 제외하고 비교 정리하게 된 것이다.
 
이는 단순 해당 주제에 국한되는 예시일 수 없으며
실제 분석 주제에 따라 빈번하게 발생되는 과정이다.
이 때문에라도 변수 정리와 EDA 과정이 더더욱 중요하다고도 할 수 있겠다
 
이상 2가지 부분에 대한 추가적인 설명으로 실전#1은 진짜진짜 끝!!!
 
http://bit.ly/3Y34pE0

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.