활동 후기

SWING 2023 교육&데이터 해커톤 with LONDON 후기

최연재 2023. 8. 28. 03:07

제 인생의 첫 해커톤인 SWING 2023 교육&데이터 해커톤 with LONDON의 후기를 남겨보려고 합니다! 기술적인 후기를 남기는 것보다는 제가 느꼈던 감정들을 적는 글입니다. 한 달 반 뒤에 적는 글이지만 저는 매일 블로그에 제 하루를 적어두기 때문에 블로그 글을 기반으로 쓰기 때문에 꽤 생생합니다.

 

사용한 데이터와 작성한 코드들을 직접 보고 싶으시다면 깃허브 레포지토리를 방문해 보시길 추천합니다!

https://github.com/yeonjae02/SWING2023-IRIS

 

GitHub - yeonjae02/SWING2023-IRIS: 🌈2023 SWING 해커톤 7조 IRIS🌈

🌈2023 SWING 해커톤 7조 IRIS🌈. Contribute to yeonjae02/SWING2023-IRIS development by creating an account on GitHub.

github.com

2023년 7월 10일~14일 5일간 진행되는 일정으로 파이썬으로 데이터를 전처리, 시각화, 분석하는 방법과 아두이노 사용법에 대한 교육을 받고 배운 내용을 바탕으로 데이터 해커톤을 진행했습니다.

 

해커톤의 메인은 환경데이터와 추가 데이터를 결합하여 창의적인 결론을 도출하는 것이었습니다. 

 

DAY1 : 7월 10일 (월)

첫날이니만큼 5일 중 가벼운 일정이었습니다. 오리엔테이션을 30분 가량 하고 팀을 구성했습니다. 팀은 리더를 할 사람이 자원해서 나오고, 나머지 사람들이 리더 뒤에 서는 방식으로 정해집니다. 인원이 많았던 터라 두 개의 강의실로 나누고 각각의 강의실에서 전원 자기소개 후 팀을 짰습니다. 제가 있던 강의실은 팀당 4명이 한 팀을 구성했기 때문에 특정 팀에 속하고 싶은 사람이 많은 경우 리더가 3명을 고르는 방식으로 진행되었습니다.

 

이렇게 팀을 구성한 뒤에는 점심을 먹었습니다. 점심은 제공되기 때문에 첫날 신청을 했다면 5일간 무료로 먹을 수 있었습니다. 

 

점심을 먹은 뒤에는 SW중심대학 단장님의 인사말이 있었고, 그 후에는 팀 간 단합력을 키울 수 있는 활동들이 진행되었습니다. DiSC 검사를 먼저 진행했는데, 팀원들이 모두 매우 유사한 결과가 나와서 신기했습니다. 실제로 이후 해설을 들었는데, 저희 팀원들, 특히 제가 했던 행동들을 예시로 들어주셔서 매우 재미있었습니다. 두 번째로 진행된 것은 탑 쌓기였습니다. 스파게티면과 마시멜로를 이용해서 가장 높은 탑을 쌓는 팀에게 학교 굿즈 티셔츠를 주는 미니대회였는데 저희 팀은 3등 했습니다. 마지막 활동은 팀발표 준비 및 발표였는데 이때 팀명을 정합니다. 저희 팀은 원래 7조여서 7과 관련된 이름을 정하면 좋겠다는 의견을 바탕으로 이야기를 나눈 결과, 이리스로 정했습니다! 이리스는 그리스로마신화에서 무지개(7)의 여신입니다. (이리스는 제가 제시한 팀명이었습니다.)

 

마지막 일정은 강의 환경 설정이었습니다. 옵션으로 진행되어서 선택적으로 들으면 되는 강의였습니다. 저는 교내 학회 FORZA에서 데이터 스터디를 했기 때문에 주피터 등이 이미 설치되어 있었지만 들었습니다.

 

 

DAY2 : 7월 11일 (화)

종일 강의를 듣는 날이었습니다. 오전 중에는 데이터 전처리 강의를 들었고, 오후에는 데이터 시각화 강의를 들었습니다. 

 

점심은 전날처럼 도시락이었습니다!

데이터 시각화 강의를 들은 후에는 해커톤 브레인스토밍 활동이 있습니다. 저희 팀의 경우 "전날에 인당 아이디어를 몇 개 이상씩 생각해오자!" 라고 이야기해 둔 터라 각자의 아이디어를 소개하고 잠정적인 주제를 결정했습니다. 

 

DAY3 : 7월 12일 (수)

이날도 종일 강의를 들었습니다. 오전 중에는 데이터 분석 강의를 듣고 점심을 먹었습니다! 이 날 점심은 싸이버거 세트였습니다.

오후에는 아두이노 강의를 들었습니다.

이후 16:00부터 추가 작업을 하는 일정이었습니다. 저희 팀은 주제는 금방 정했지만 데이터를 찾는 데 굉장히 어려움을 겪었습니다. 저희의 주제는 <지구온난화와 수면과의 관계>였는데, 지구온난화와 관련된 데이터는 정말 많았습니다. 하지만 한국인의 수면 시간과 관련된 데이터는 저희 수준에서 찾기 어려웠습니다. 그래서 밤 9시까지 남아서 지구온난화 관련 자료조사를 하고 수면 데이터를 계속 찾기 위해 노력했습니다. 수면 데이터가 끝까지 해결되지 못한 채 하루가 끝나서 굉장히 심리적으로 부담감이 많이 되었던 하루였습니다. 대안으로 한 명이 아두이노 키트를 사용해서 수면의 질을 측정해 보기로 하고, 나머지 사람들은 휴대폰 앱을 이용해서 수면의 질을 측정해 보기로 했습니다. 

 

DAY4 : 7월 13일 (목)

전날의 문제를 계속 고민하면서 밤에 해커톤 관련 공부가 아닌 다른 공부를 하던 중 제게 아이디어가 떠올랐습니다!  전날 하루종일 저희 팀은 수면시간 데이터를 찾으려고 노력했는데, 수면의 질과 수면 시간이 완전히 비례하지 않을 수 있다는 점을 고려하면 오히려 포털 사이트 내 불면 관련 검색어의 검색량 데이터를 사용하면 어떨까? 였습니다.

 

검색량 데이터를 찾는 일은 어렵지 않고 매우 쉽습니다. 왜냐하면 국내 포털 사이트인 네이버에는 특정 검색어의 검색량을 시간별 데이터로 제공하기 때문입니다. 정확히는  아래 사이트에 접속해 주제어를 작성하고 조건들을 설정한 후 데이터를 조회해 나오는 엑셀 파일을 다운받으면 됩니다. 

https://datalab.naver.com/keyword/trendSearch.naver

 

네이버 데이터랩 : 검색어트렌드

네이버 통합검색에서 검색된 검색어와 검색횟수를 기간별/연령별/성별로 조회할 수 있습니다.

datalab.naver.com

검색량 데이터를 사용할 수 있겠다는 생각에 굉장히 기분 좋게 잠들었습니다.

수면의 질 측정 앱도 사용해봤습니다.

이후 하루 일정이 시작되고 팀원들에게 제 아이디어를 말씀드렸는데 모두 굉장히 좋아하셔서 바로 검색량 데이터와 온도 데이터를 정리해서 비교 분석하기 시작했습니다. 비교 분석은 주피터에서 파이썬을 이용해서 진행했습니다. 먼저 검색량 데이터, 온도 데이터의 전반적인 경향성을 보기 위해서 그래프(데이터 시각화)를 그려서 한눈에 흐름을 파악했습니다. 이후 두 데이터 간의 상관계수를 구해서 수치적으로 얼마나 유사성이 있는지 확인합니다.

 

(이때 각각의 데이터를 먼저 표준화해서 스케일을 맞춰준 후에 그래프를 그려서 더 경향성을 파악하기 쉽도록 했습니다. 상관계수란 두 데이터 간의 선형적인 관계를 측정하는 지표입니다.)

 

하지만 문제가 발생했습니다. 저희 팀의 경우 지구온난화를 나타날 데이터로 여름철(7~8월) 기온 데이터를 사용했는데 달별로 상관계수가 매우 변동이 심해서 유의미하지 않았습니다. 검색량 데이터는 여러 검색어들의 검색량을 나타내기 때문에 검색어를 변경해보는 등 검색량 데이터를 여러 번 변경하며 시도했지만 눈에 띄는 성과는 없었습니다.  슬픈 마음으로 점심을 먹었습니다...

이 문제를 해커톤 멘토링 시간에 교수님께 말씀드렸습니다. 교수님이 해주신 조언으로 문제를 해결할 수 있었습니다. 검색량 데이터와 온도 데이터 비교 분석 담당이 저였기 때문에 저에게 교수님이 온도 데이터를 변경할 것을 추천하셨습니다. 지구온난화 + 온도상승에 초점을 맞추다 보니 저는 특정일의 최고 기온 데이터와 검색어 데이터 간의 유사성을 찾으려고 노력했습니다. 그런데 잠은 보통 밤에 자고, 불면이라면 새벽에 뒤척이다가 검색을 할 가능성이 높기 때문에 하루의 최고 기온 데이터가 아니라 하루의 최저 기온 데이터(보통 새벽 시간대에 해당)를 사용해보라고 조언해 주셨습니다.  

 

멘토링이 끝나고 바로 하루의 최저 기온 데이터를 가져와서 다시 코드를 돌려보니 결과가 상당히 좋게 나왔습니다! 몇 달치 여름 데이터가 모두 저희가 생각한 만큼 나와서 제가 담당한 일을 마무리했습니다. 이후에는 다른 팀원들을 도와서 지구온난화와 관련된 다른 데이터 분석, 시각화를 보조하는 역할을 했습니다.  

 

다음 날이 발표였기 때문에 학교 도서관에서 밤을 새웠습니다. 숙명여대 도서관 내 '휴' 공간이 대화 가능 + 노트북 가능 + 24시간이었기 때문에 저희 팀을 포함해서 다른 팀들 대부분 휴에서 작업을 이어나갔습니다. 저희 팀은 대부분의 데이터 분석 작업이 끝난 상태로 이동했기 때문에 저녁을 먹고 데이터 시각화를 한 후에 내용을 정리하면서 발표 대본 작성 및 PPT 제작을 했습니다. 

작업 사진입니다

저와 팀원들은 2명씩 돌아가면서 잠도 잤습니다.

그렇게 피곤하지는 않았는데 다크서클이 너무 심해보여서 얼굴 가립니다...

 

DAY5  : 7월 14일 (금)

오전 중에 발표를 준비하고 13:00 부터 발표 및 평가, 시상식이 진행되는 일정이었습니다. 발표 준비 시간에는 작성한 코드와 사용한 모든 데이터 파일들을 깃허브 레포지토리에 정리해서 해당 레포지토리의 링크, PPT 등을 메일로 제출했습니다. 저희 팀의 경우 제가 제일 작성한 파일이 많아서 제가 대표로 레포지토리를 개설했습니다. 다만, 다른 팀원들이 풀 리퀘스트를 신청해서 각각의 파일, 코드를 업로드할 시간까지는 없었던 터라 카카오톡으로 파일, 코드를 보내면 제가 업로드하는 방식으로 깃허브를 정리했습니다. 

점심으로 피자를 먹고 발표 일정이 시작되었습니다. 오후 일정은 프라임관 내 강의실이 아닌 신한은행홀에서 진행되었습니다. 저희 팀이 마지막으로 발표를 하게 되었습니다. 영어로 발표를 진행하고 한국어로 질의응답을 하는 방식이었습니다. 저는 발표 담당은 아니었지만 질의응답에서 나온 질문에 대답하는 역할을 맡았습니다.

 

저희 팀의 발표를 끝으로 모든 팀의 발표는 종료되었고 평가 및 시상식이 진행되었습니다. 저희 팀의 경우 우수상을 수상했습니다!! 첫 해커톤에서 수상을 할 것이라고는 예상하지 못했던 터라 정말 기쁘고 뿌듯했습니다.

이후에 상장도 따로 수령했습니다.


 

 

혹시 이 글을 읽는 숙명여대 눈송이들이 있다면 저는 경험자로서 꼭 참여해 보시라고 말씀드리고 싶습니다! 교육도 같이 진행되기 때문에 큰 부담이 없는 것도 큰 장점 중 하나였습니다. 저희 팀이 수면을 주제로 해커톤을 진행했는데 저희가 잠을 잘 못 자고 계속 카페인 음료를 마시는 것에 대해 농담을 했었는데 이것도 기억에 남습니다. 

노트북 뒤로 보이는 몬스터
캔 음료도 아메리카노였습니다.