두번째 프로젝트: 우루사

Da Woon Kim·2023년 11월 25일
2

PostProject

목록 보기
6/7
post-thumbnail

프로젝트를 시작하며

처음으로 다른 사람들과 같이 시작하는 프로젝트를 진행하고 일주가 조금 넘는 시간동안 같이 밤낮을 세워가며 열심히 진행했다. 오랜만에 단합도 되고 의지도 넘쳐나는 사람들과 한 팀이 되어 완성하면 뭔가 될것 같은 기분을 매우 느꼈다. 처음에 소회의실로 모이고 대화를 나누었을땐 서로 어색했는데 지금은 서로 장난도 치고 매우 친해졌다. 분명 아무사이도 아닌데 불구하고 이렇게까지 동료애를 느끼면서 진행해보는 것은 오랜만이었던것 같다.

주제

우리는 11조로 배정되었고 의료 카테고리를 선택했던 사람들 중 4명이 뭉치게 되었다. 다들 신기하게 포지션이 겹치지도 않고 나중에 EDA를 진행할 때에도 각양각색의 스타일 대로 진행하였지만 하나같이 빼놓을 수 없는 부분을 보여주었고 각자 생각한 부분이 겹치지도 않았었다. 참 신기하게 분업화가 말하지 않아도 잘 되어있던 팀이었다. 후일담으로 스터디에서 우리조를 대상으로 감탄을 진짜 많이 했다고 들었다. 논문 형식의 도표와 알찬 내용, 그리고 완벽한 결론까지 칭찬을 많이 들었다.

11조의 주제는 간에 관한 질병에 대해 분석을 진행하는 것으로 정해졌다. 팀장을 담당하였던 분이 평소에 간에대해서 연구도 많이 하시고 진작에 의료데이터에 친숙하신 분이었다. 프로젝트가 끝나고 다른 질병에 대해서 물어봐도 빠르고 쉽게 잘 대답해주시던 팀장님이었다. 따라서 간에 영향을 주는 요인이나 간의 건강상태에 따른 몸의 구성성분의 특징과 요인 그리고 정상 범주의 기준, 최대 수치 허용범위까지 우리가 필수로 체크해야 하는 데이터 속성과 관련된 탐색을 별도로 하지 않아도 지식을 얻을 수 있는 장점까지 가져갈 수 있었다.

역할

팀원은 총 네명으로 팀장님이 주제에서 설명한 것 처럼 간 질병을 확인할 수 있는 요인과 간에 영향을 주거나 받을 수 있는 요인을 정의해주셨다. 의료데이터는 데이터를 정의하고 처리하는데 90%를 소요한다는데 이분이 거의 다했다고 생각해도 괜찮을 것 같다.

다음으로 컴퓨터공학과를 졸업하신 한분과 기억은 잘 안나지만 컴퓨터와 관련된 과를 마지막 학기 재학중이신 분 그리고 나 이렇게 네명이 배정되었다. 역할 조차 황금밸런스를 보는 것 같았다. 따라서 컴공과쪽이신 두분은 데이터를 찾았을 때 너무 다양한 데이터를 찾았었고, 필요한 데이터를 찾기에 힘들었을 때 찾아서 데이터를 구축해주는 역할을 주로 담당하셨다.

나는 데이터를 활용하여 어떤 요인이 간의 질병에 관해 영향을 주고있는지 찾아내거나 기초 통계분석을 구현하는 통계적인 역할을 담당하였다.

공동적인 역할로는 캐글이나 공공데이터로 다양한 데이터를 찾고 각 데이터에서 칼럼 별로 어떠한 분포를 가지고 있는지, 이상치나 결측치가 존재하는지 각자 칼럼을 쪼개서 담당해 다음날에 각자 어떻게 파헤쳤는지 토의하고 앞으로 어떻게 진행할지 상의를 제일 많이 하였다. 여기서 동혁님이 팀장님한테 진짜 많이 혼났다. 그때 장면은 내가 지도교수님한테 혼나는 장면과 너무 겹쳐보였다. 우리 팀장님은 내 지도교수님하고 분위기부터 말투가 진짜 닮았다.

본 프로젝트 내용

프로젝트는 최종적으로 PPT 페이지 71페이지가 나왔다. 솔직히 만들고도 우리 조가 1시간 반 정도 떠들어도 될만큼의 분량이었다. 최종본을 검토하는데 학술대회에서 세션 발표하는 정도로 꼭 이렇게 다 만들었어야만 속이 후련했냐! 싶을정도... 발표 제한시간은 12분정도였다. 진행한 내용이 정말 많지만 압축해서 발표해야 했기 때문에 일부 설명은 그냥 스킵하고 넘어갈 정도였다.

제목

제목은 다음과 같다. 간 질병중 B형간염, C형간염, 간경화에 대한 분석이다. 처음엔 간경화만 가지고 분석하고 그래프 그리고 어느정도 가설설정만 하면 끝날줄 알았는데... 자꾸 추가되고 추가되서 전부 분석해보자 해서 최종적으로 다하게 됐다. 그땐 진짜 하기 싫었지만 막상 다 하고나니 배울점이 정말 많았다.

목차

Introduction

건강검진 권장 우편물을 받았던 팀장님이 보시다가 5대 암에 대한 정보를 소개해주는 팸플릿을 받았다고한다. 그때 생겼던 궁금증이 과연 우리나라의 암으로 인한 사망자들 중 어떤 종류의 암이 얼마나 많은 사람을 죽음으로 이르게 만드는가에 대해 알아보고 싶다고 하였다. 이유를 만든거 아니냐고 물으신다면 그냥 넘어가도록 하자. 그게 뭐가 중요하나

암 종류 별 생존률

따라서 암의 종류별로 투병한 환자들의 생존률을 비교하였을 때

간암으로 사망한 환자들이 매우 작음을 확인 할 수 있었다. 실제로 간암으로 사망한 환자들은 폐나 기관지등 호흡기 부위 관련 암투병 환자가 가장 많았는데 오히려 생존률은 간암 환자보다 더 높단것이 너무 의외의 결과였다. 따라서 우리는 간암으로 이어질 수 있는 다른 질병들 또한 확인하고자 하였다.

각 나라별 암 투병 환자

다음으로 각 나라별로 1990년부터 2019년까지의 암 투병 환자의 사망 인원수를 나라별로 비교하였을 때 너무 당연한 말로 중국이 압도적 1위를 차지하였다. 그다음은 인도였다. 이건 누가봐도 중국과 인도라고 할 수 밖에 없다. 왜냐? 당연하지 인구가 거기가 가장 많은데 암 투병 환자도 거기 많겠지.

따라서 우리는 그대로 보는게 아니라 각 나라의 인구 비율로 봐야하지 않겠냐는 생각을 가졌다. 고로 년도별 간암으로 사망한 사람의 수를 누적하여 각 연도별 전체 인구수로 나눈 퍼센트를 확인하였다. 그랬더니 정말 의외의 결과가 나왔다.

이렇게 눈곱만큼도 잘 안보이던 한국이

이렇게 성장세를 보였다. 2000년대부터 2010년대까지 대체 무슨일이 있었길래 이렇게까지 오른건지 모르겠다. 술을 많이 자시셨었나? 또한 간에 관한 질병들이 항상 top 10으로 사망에 이르게한 원인으로 꼽혔다.

간에 관한 질병은 진짜 걸리면 안되는 질병중 하나라는걸 새삼 깨달아버렸다.

활용 데이터

따라서 우리는 세 가지를 중심으로 데이터를 확인하고 파악하기로 하였다,

각각 간경화, B형간염, C형간염이다. B형 간염 데이터 진짜 아무것도 안만들어져있어서 우리가 처리하고 진행하는데 개고생을 많이한 변수 중 하나다. 아니 어떻게 Complete하게 만들려 했는데 결측치가 하나도 없는 행이 0개냐고. 이건 데이터 만든놈이 잘못한거다.

Disease and Data Overview

우리의 각 질병에 대한 정의는 다음과 같다.

또한 데이터를 활용하면서 다음과 같이 CodeBook도 만들었다. 이거 만드는데도 은근히 오래걸린다. 근데 어떻게 하나, 데이터 올려준 놈들은 이런 코드북도 안만들고 직무유기 아닌가

Data Preprocessing

데이터는 연속형 변수는 중앙값으로, 범주형 변수는 모르는 변수를 새로운 레이블로 만들어 정의하였다. 분류가 안되어야만 하는 열도 존재했다. 예를들면 약물 투여 실험을 진행한 환자도 있지만 진행하지 않은 환자에게 약물을 투여했다고 가정하는것도 정말 말이 안되기 때문이었다.

또한 우리 팀장님이 B형 간염 환자들을 분류할 수 있는 변수를 만들어 주었다. 오 역시 도교수님 믿습니다 알렐루야!!

Data Visualization

드디어 EDA의 메인이라 할 수 있는 시각화 파트다. 진짜 많이 탐색하고 찾아봤던 파트이다. 주로 봤던 것은 연속형 변수의 분포와, 반응 변수 집단별로 분포의 차이를 정말 많이 봤다. 범주형 변수는 분포와 집단별로 얼마나 나뉘어져 있는지 확인할 수 있는 히트맵을 주로 봤다. C형 간염은 상혁님이 혼자 다했는데 같이한것처럼 나온것은 안비밀이다 호호호. 그래도 해석 관련해서 도연님이 많이 알려주셨으니 같이한거다. 암튼 그렇다.

그리고 여기서 B형 간염 데이터를 볼 때 동혁님이 연령과 성별간의 차이를 보다가 팀장님한테 많이 혼났던 그 파트다. 진짜 궁금하긴 한데 이때 팀장님이 반응 변수 만드신다고 딴거 하지 말라고 철조망을 치셨는데 거길 지나가다 동혁님이 걸려버렸던 것이다... RIP. 대표적으로 다음과 같은 그래프를 보았다.

Analysis Results

각 데이터별로 반응변수인 병의 정도나, stage와 같이 범주형으로 나눠져있는 집단의 개수가 달랐다. 따라서 분석 방법도 나누어서 진행했는데 방법은 다음과 같다.

Stage별로 나뉘어진 간경화 데이터

간경화 환자들을 대상으로 1stage부터 4stage까지 차이가 존재하는 변수를 가려내기 위해 기초통계 테이블을 만들어서 확인하였다. 이거 만드느라 진짜 오래걸렸는데, 수치를 반복문이나 프레임을 모양을 좀 바꿨으면 금방 했을거같은데 진짜 멍청해진 나는 하나씩 일일이 기입했다. 앞으로는 머리좀 더 써봐야겠다.

다음과 같이 귀무가설을 기각시키는 즉, 영향이 존재한다 나타나는 변수 중에 연속형 변수를 활용하여 Tukey의 사후검정을 실시하였다. PPT에는 대표적으로 체내의 구리양에 대해 표현하였다.

다음과 같이 구리는 4집단에서 명확한 차이를 보였다. 역시 병이 악화될 수록 구리양이 많다는 것이 보였다.

B형간염 여부로 나눌 수 있는 B형간염 데이터

생각보다 연속형 변수들을 활용하여 차이가 존재하는 요인이 많이 존재하지 않았으며, 범주형 변수를 확인했을 때 범주의 상태가 진짜 별로였다. 따라서 연속형 변수만을 활용하여 로지스틱 회귀분석을 적합하였다. 당시 범주형 변수를 onehotencoder를 통해서 변환을 하고 직접 돌려봤는데 범주 집단을 나눌 수 없는 변수들이 대부분이었다. 살아있는 변수마저 집단에 관해 의미가 없어서 범주형 변수는 다 빼버렸다.

단 두개의 변수만 의미가 있었고, 오른쪽에 변수에 대한 해석을 적어두었다. 그런데 진짜 신기하게도 Platelets는 감소할수록 간에 문제있는 요인이였고, ALP는 증가할 수록 간에 문제있는 요인이었다. 정말 신기할 나름이었다. 의미도 있었고

C형 간염은 기초통계로만 판별하였다. 가장 깔끔한 데이터기도 했고, 공식적인 대회에서 사용했던 대회인만큼 분명 의미있는 변수들만 선정해서 나온것이기 때문이다. 사실 이건 변명이고 분석할 시간 조차 없었다. 데이터 너무 많이 끌어다썼...

최종 고찰 및 느낀점

일단 가장먼저 진짜 재밌었다. 프로젝트 하는 내내 가장 많이 웃었고, 팀장님이 디제잉을 하신다. 마지막날 발표자료 만들면서 재밌고 좋은 선곡들을 잘 말아주셨다. DJ알리사 드롭더 뮤직!
부트캠프 참여 목적을 가장 많이 이뤄냈던 10일이었다. 이중 가장 재밌었던건 팀장님과 상혁님의 티키타카. 이둘은 스터디 조에서도 만나서 계속해서 공부와 회의를 같이 하고 있다고 한다. 이덕분에 다른 곳에서 팀장님의 새로운 이미지 이야기도 듣게되고 참 재밌고 신기했다. 이 이후에 미왕빌딩에서 과정 끝나고 둘이서 맞짱한번 뜬다는데 이기는편 우리편 아무나 이겨라 ㅋㅋㅋㅋ

이 과정이 끝나고도 다들 논문화나 대회를 한개 정도 더 같이 하면 좋겠다. 다음 프로젝트를 할 때 이 조로 계속 진행했으면 좋겠다고 이야기 했었다. 이거 사실 나만 그렇고 다들 등 뒤에 칼들고 있는거 아닌지 모르겠다. 허허허 그래도 다행인건 최근에서 진짜로 논문화를 진행하자고 하였다. 시간이 오래걸리더라도 진짜로 하나 만들어서 넷이서 작업한 것을 문서로 남기고 싶다.

앞으로 이런 팀을 또 만날지 아니면 다른 분들은 어떤지 걱정도 되지만 다들 취업이나 공부를 목표로 참여하신 분들이라 의지가 없지 않을것이다. 간간히 소문으로는 참여 의지도 없고 뭘 해도 별로 반응도 없다는 사람이 있다는데 그런 사람만 좀 안걸렸으면 좋겠다. 여기가 무슨 대학교 팀프로젝트 하러 와서 프리라이더 하러 온 사람도 아닐테고 이 다음은 머신러닝이라는데 아직까지는 내가 역할을 담당하는데 문제는 없을것 같다. 졸업시험을 데이터마이닝을 봤는데 뭐가 더 필요한가 싶다.

최종 코드 및 역할: Github

profile
Data Science를 정복하기 위해 기록용 Velog

2개의 댓글

comment-user-thumbnail
2023년 11월 26일

ㅋㅋㅋㅋㅋ글을 참 재밌게 잘 쓰시네요 너무 웃겨서 한 10번 정도 돌려봤습니다 : ) 도교수님 알렐루야 ~!!! ㅋㅋㅋㅋ 다음 프로젝트도 다운님과 하고 싶네요 ~ ^^

1개의 답글