[데이스쿨 스터디 1기] 참여 후기~

2023.10.24 23:19 2,123 조회

1) 참여 동기

내가 가고자 하는 제조/에너지 분야에서 시계열 데이터 분석 역량이 중요하다고 해서 참여하게 됐습니다 2022년 1월 학교에서 진행한 부트 캠프에서 한국 에너지 기술원 박사님과 멘토링 시간을 갖게 됐습니다. 그 때 박사님은 제조업에서는 시계열 데이터 분석 능력이 중요하다고 강조하셨습니다. 그리고 올해 9월 데이스쿨 1기를 모집한다는 글을 보고 데이스쿨 우승자 코드 분석 스터디에 참여하게 됐습니다.


2)  Step 1. 팀원 2명 탈주... 그래도 밀고 가자

저희 팀은 4명으로 시작했으나 3일 만에 팀원 2명이 나갔습니다. 특히 팀장이 나갔기에 제가 팀장으로서 팀을 이끌어야 했습니다.

저는 일단 베이스 라인 코드를 분석하면서 주어진 미션을 해결해나갔습니다. 그리고 코드를 이해하기에는 필사만큼 좋은 것이 없다고 생각하여 주어진 랜덤 포레스트와 LSTM 코드를 필사했습니다. 또한 판다스를 통해서 주어진 데이터를 분석했습니다. 하지만 저도 초짜에 가까운 실력이었기에 한계가 명확했습니다.

그래서 10월 10일에 저희가 조사한 내용들을 정리하여 제출했습니다. 저는 제 실력이 부족한 것을 알기에 다른 팀들이 한 결과물들도 참고해서 공부했습니다.

특히 제가 가장 인상 깊었던 코드가 C팀의 Step1 코드였습니다. 그 때 코드를 통해서 하이퍼 파라미터 최적화 프레임 워크인 베이시안 최적화에 대해 배웠습니다.


3) Step2. 머리 쥐어 뜯으면서 필사.. 하지만 얻은 것도 많았던 한 주

주어진 전처리 코드가 복잡해서 어디부터 분석해야 할지 난감했습니다. 특히 함수로 되어 있어 하나 하나씩 뜯어보고 돌리는게 불가능했습니다. 그래서 설명에 적혀있는 get_train_and_test_data부터 시작해서 차근차근 분석했습니다.

데이터 시각화를 통해 데이터의 특성을 파악하고 도메인 지식을 통한 이해가 중요하다는 것을 느꼈습니다. 특히 side_indicator 함수를 분석하면서 체감온도, 불쾌지수를 파생 변수로 지정하는 것을 보고 도메인 지식의 활용 방향에 대해서 이해했습니다. 그리고 데이터 시각화 분석을 통해 다른 움직임을 보이는 Feature들을 전처리했습니다. 데이터 시각화 분석을 위해 피봇 테이블을 사용했는데 편리해서 피봇 테이블의 편리성에 대해 경험했습니다.


Step2 중간에 저희 팀은 E팀과 합쳐져 저 포함 5명의 팀원들과 같이하게 됐습니다. Step2 회의 시간 때 제가 전처리에서 가장 중요한 것을 간과하고 있다는 사실을 알게 됐습니다. 데이터를 전처리할 때 건물 데이터 그 자체를 학습하거나 건물 by 건물로 나눠 분석했다는 점입니다.


Step3. 마무리, 모델링.... 하이퍼 파라미터 최적화 프레임 워크는 뭐지?

모델링의 꽃은 머신러닝이 아니라 하이퍼 파라미터 최적화 프레임 워크인 Optuna였습니다. 특히 제가 알고 있던 것은 임의의 숫자와 구간을 설정해서 Best Parameter를 찾는 GradSearch와 RandomSearch 밖에 없었습니다. 실제로 구간을 넓게 설정해서 적합한 하이퍼 파라미터를 찾다가 2시간 넘게 걸려서 포기한 경험이 있습니다. 하지만 Optuna는 1시간 50분 만에 최적의 파라미터를 찾아내서 시간과 정확도 면에서 뛰어나다는 것을 직접 경험했습니다. 실제로 Optuna를 통해 얻은 파라미터로 5.01을 찍어 지난 우승자보다 높은 점수를 찍기도 했습니다. 이외에도 앙상블의 원리를 이용한 Seed 설정과 gu_all, gu_byb, all, gu_all 파라미터를 통해 최적의 모델을 찾을 수 있었습니다. 그리고 팀 회의를 통해 Optuna 뿐만 아니라 Bayesian, hyper Optuna 같은 하이퍼 파라미터 최적화 프레임 워크에 대해서 공부할 수 있었습니다.


4) 장점?

  1. 우승자 코드를 분석하여 데이터 경진대회에 대한 흐름을 익힐 수 있습니다. 데이콘 대회에 참가하면서 우승자 코드도 분석하려고 시도했지만 실패로 끝났습니다. 특히 우승자 코드는 중간 과정이 생략되어 있어 이해하는데 어려움을 겪었습니다. 하지만 이 프로그램에서 베이스 라인 분석 - 데이터 전처리 - 데이터 모델링 순서로 체계적으로 구성되어있어 흐름을 이해하는데 어려움이 없었습니다.
  2. 팀원들과의 회의를 통해서 제가 놓친 부분을 보완할 수 있습니다. Step2 회의 시간 때 팀원이 gu_byb, gu_all, all, byb를 강조하는 것을 보고 모델링에 대한 실마리를 얻을 수 있었습니다.
  3. 타 팀의 결과를 공유할 수 있어 유익했습니다. 특히 1주차에 C팀의 코드를 보고 데이터 전처리 방향이나 하이퍼 파라미터 최적화 프레임 워크에 대해 배울 수 있었습니다.


5) 마치며

4주 동안 데이스쿨 스터디를 참여하면서 시계열 데이터 분석에 대해 많은 걸 얻어 갔습니다. 특히 하이퍼파라미터 최적화 프레임 워크에 대해 알게되는 계기가 됐습니다.

4주 동안 함께하신 빅공님과 Step2, Step3를 같이하신 KIVOLY, zs1397, Karl_peason님 고생 많으셨습니다. 그리고 많은 것을 배우게 됐습니다. 감사합니다!

그리고 이런 좋은 컨텐츠를 제공해주신 데이콘 관계자 분들께 감사 인사를 전합니다!

  

로그인이 필요합니다
0 / 1000
도비콘
2023.10.25 00:52

🎯🎯

이전 글
[데이스쿨 스터디 1기] 생생한(?) 참여 후기
대회 -
좋아요 21
조회 4,028
댓글 1
일 년 전
현재 글
[데이스쿨 스터디 1기] 참여 후기~
대회 -
좋아요 11
조회 2,123
댓글 1
일 년 전
다음 글
다음 글이 존재하지 않습니다.