240927 TIL #500 AI Tech #38 7주차 주간 학습 정리 / 첫 프로젝트 회고

김춘복·2024년 9월 27일
0

TIL : Today I Learned

목록 보기
502/543
post-custom-banner

Today I Learned

길고 긴 첫 프로젝트 주차 마무리!

주간학습정리

일일 학습 정리로 매일 복습, 과제, 피어세션, 회고 정리했고 아래 링크 달았습니다.


스페셜 피어 세션

  • 이번에 얘기를 해보니 다른 조도 특별히 눈에 띄게 다른 시도를 한 것은 없었다.
    다만 깃 컨벤션, 코드 컨벤션을 세세하게 다 짜서 하는 부분은 배울만 했던 것 같다.

피어세션

  1. 전처리 방법에 대한 변경 건
    • 현황 : ~/Code/pre_process 하위 디렉토리가 있으나, 개인의 ~/EDA/*.ipynb 로 작업.
    • 변경 안건 :
      • ~/Code/pre_process 하위에 Code 작성
        예시) 피쳐 생성 →feature_add.py / 피쳐 선택 → feature_select.py 로 분류하여 작성
    • 예상 효과 :
      • Github 사용에 대해 더욱 익숙해 질 수 있음
      • 코드 작성 추적이 용이 어떻게 작성했는지 쉽게 파악 가능
      • 전처리에 대한 코드를 주제에 맞게 분리 및 관리 가능
  2. 컨벤션 세팅에 대한 건
    • 현황 : 컨벤션이 따로 존재하지는 않고 커밋 시 가이드 정도만 있음
    • 변경 안건 : 깃 컨벤션, 커밋 컨벤션, 코드 컨벤션 등 정할 수 있는 것들은 프로젝트 시작 전에 다 정해두고 시작해두는 것이 좋을 것 같다.
  3. 데이터 폴더 분리
    • data merge 코드에서 raw와 처리된 데이터가 한 폴더에 있어서 이를 위한 인덱싱이 필요하고 개인 eda 폴더에서 처리된 데이터를 불러올 때 파일이 하나라 1대1로 절대 경로가 있으면 괜찮지만 csv가 많아지거나 많은 파일을 불러와야 하는 경우에 추가적인 품이 들어가게 되었다
    • raw data와 이후 만들어진 data를 분리한 폴더가 있으면 좋을 거 같다.
  4. Tool 활용
    • 현황: 현재 Git만 조금 활용하고 있음
    • 변경 안건: AIT에서 배웠던 Tool (WandB, Optuna, Git 등) 들을 적극적으로 활용해서 프로젝트에 적용해보는 노력을 하는게 좋을 것 같다.
  5. 프로젝트 정확도에 집착 않기
    • 프로젝트마다 다를 수 있겠지만 리더보드에 대한 결과보다는 과정 및 그에 대한 실험 중심으로 꾸리기
    • 발표를 목표로 하면 분석 작업을 하는만큼 논리적인 구성을 통해서 오히려 더 생산적인 결과물이 나올 것 같음
  6. 모델링에 있어서 사용 모델에 대한 이해도 높이기
    • 무지성 모델링보다는 향후 면접 대비할 겸 사용 모델에 대한 간략한 알고리즘 정보를 작성해보는 것도 괜찮을 것 같음.

프로젝트 회고

  • 나는 내 학습목표 달성을 위해 무엇을 어떻게 했는가?

    전공과 경험을 살려서 우선 비트코인이라는 도메인 지식에 더 집중했다.
    EDA 과정에서 가격 등락에 영향이 될 지표를 찾거나 새로 만드는 과정을 주력으로 했다.
    그 외에도 첫 프로젝트인 만큼 time-series CV, over-sampling, optuna, 여러 모델 사용 등 다양한 시도를 해보려고 노력했다.

  • 나는 어떤 방식으로 모델을 개선했는가?

    EDA를 통해 가격 등락에 영향을 끼치는 기본 지표들을 찾고,
    그 지표들이 모델 학습에 적합하도록 로그 변환과 표준화 과정을 거치는 전처리 작업을 수행했다.

  • 내가 한 행동의 결과로 어떤 지점을 달성하고, 어떤 깨달음을 얻었는가?

    결과적으로 어느 정도 accuracy의 상승이 있었지만, 수치 자체가 크지는 않았다.
    주로 사용한 모델이 XGBoost 였는데, 피처의 분포에 robust한 모델이라 뚜렷한 상승이 없다는 것을 깨달았다.

  • 전과 비교하여 새롭게 시도한 변화는 무엇이고, 어떤 효과가 있었는가?

    Over-Sampling 방법을 새로 시도해보았는데 이로 인해 정확도를 더 올리지는 못해서 아쉬웠다. 그리고 optuna를 사용해서 하이퍼파라미터 조정도 시도는 해봤지만 validation 방법이 적절하지 못해 신뢰도 있는 결과를 얻지는 못했다.
    다음에는 좀 더 공부해서 완성도 있게 시도해보려 한다.

  • 마주한 한계는 무엇이며, 아쉬웠던 점은 무엇인가?

    피처의 전처리, 모델 선택, 하이퍼파라미터 조정과 같은 후반 작업들 보다 초반 작업들이 훨씬 중요하다는 것을 느꼈다. 초반에 도메인 지식 스터디를 좀 더 심도있게 들어가고, EDA 과정도 개인별로 하지않고 모여서 했다면 더 좋은 결과를 얻었을 것 같다.

  • 한계/교훈을 바탕으로 다음 프로젝트에서 시도해볼 것은 무엇인가?

    초반부터 더 계획적으로 프로젝트를 진행해볼 것이다.
    그리고 WandB 같은 실험관리 도구나 딥러닝 모델 등 배웠던 내용이지만 활용하지 못했던 것들을 시도해보려 한다.

profile
Backend Dev / Data Engineer
post-custom-banner

0개의 댓글