4 분 소요

10회 빅데이터 분석기사 후기

안녕하세요! 2번 고꾸라졌던 빅데이터 분석기사 실기 시험을 이번 6월 21일에 응시한 10회 시험에서 드디어 합격했습니다.🎉

저는 현재 멋쟁이사자처럼 데이터 분석 5기 수강생입니다.

저는 비전공자로 데이터 분석은 커녕 컴퓨터 프로그램도 제대로 써볼 일 없는 삶을 살다가 대학 3학년 말 겨울방학 때 교내 프로그램을 통해 참여하게된 빅데이터 분석 경진대회에 참여하면서 처음으로 데이터 분석을 접한 완전 초보였습니다.

그 때의 경험으로 흥미를 느껴 데이터 분석으로 진로를 정해 ADsP, SQLD등 관련 자격증을 취득하기 시작했죠. 비교적 쉬운 시험이지만 칠 때마다 단 번에 합격해서 근거없는 자신감을 가지다가 빅데이터 분석기사 실기 시험을 응시하면서 깨닫게 되었죠.

이론과 실습은 전혀 다른 세상이란 것을 ㅠㅠ 실력도 없는데 게을러서 열심히 하지도 않고 벽을 만났다며 한탄하다가 우연한 계기로 알게된 멋쟁이사자처럼 부트캠프에 참여하게 되었고 그곳에서 운영하는 자격증 스터디에서 공부하게 되었습니다.

정규 수업만으로도 너무 피곤해서 생각 만큼 처음 열정을 유지하기 쉽지 않았지만 스터디 날에는 카메라를 켜고 공부 해야하며 개인적으로 공부한 내용을 인증해야 해서 억지로 의자에 엉덩이를 붙여가며 스스로를 두들겨 패가며 공부했었습니다. 무엇보다 혼자 떨어지면 너무너무 창피하니깐!!! ㅋㅋㅋㅋ

그랬더니….

score.png

사실 나름 열심히 공부하기도 했지만 9회 난이도를 생각하며 60점만 어떻게든 받아보자 였는데… 작년에도 시험을 처본 입장으로 감히 말해보자면.. 시험 난이도가 거의 반토막 난 것 같습니다 ㅋㅋㅋ 너무 쉬웠던 나머지 다풀고 2, 3번 점검까지 했는데도 1시간이 넘게 남았었죠..

하지만 시험이 아무리 쉬웠다고 하지만 작년의 제가 시험을 쳤다면 절대 그냥은 합격하지는 못했다는 사실을 스스로가 너무 잘 알고 있죠. 그래서 스터디는 더 의미있고 값진 경험이었던 것 같아요.


공부 기간

  • 공부 기간 : 5주

공부 기간은 약 5주 정도로 스터디를 시작한 이후 부터 본격적으로 시작했습니다. 하지만 9회차 시험을 칠 때 공부했던 내용을 조금이라도 기억하고 있었다면 좋았겠지만 사실 불합격 이후로 한번도 공부하지 않았죠…

하지만 완전 처음 부터 공부한 것은 또 아닌게 수업 내용과 어느정도 겹치는게 많았습니다. 따로 공부하지 않아도 수업만 열심히 들었어도 합격하지 않았을까 라는 생각이 들기도 했을 만큼.


교재

book.png

이 책을 구매하긴 했지만 저 같은 경우 시나공 빅분기도 가지고 있었습니다. 왜냐하면 전 부트캠프를 수강하기 전 인프런에서 퇴근후딴짓 님의 강의를 결제했기 때문이죠.

img

인프런 퇴근후딴짓 상의 강의 바로가기

개인적으로 저 같이 데이터 분석 공부를 본격적으로 해보겠다는 분 보다는 어떻게든 빅데이터 분석기사 자격증을 취득하겠다고 생각하는 비전공자 분들께 추천하는 강의 입니다.


공부 방법

  1. 1유형 9회차 난이도를 생각하면 1유형을 집중적으로 볼 필요가 있었습니다. 그래서 일단 교재 내용을 간단하게 훑고 그 이후에는 문제를 푸는 것에 집중했습니다. 모든 Section을 풀면서 모르는게 있다면 이론 부분을 사전처럼 찾는 식으로 공부했죠. (나름 괜찮았던 방법) 9회차 1유형의 핵심이었던 melt()나 pibot_table(), unstack(), stack()과 같은 데이터 구조를 변경하는 함수들을 막~~!!!! 공부했어요. Chat GPT에게 응용할 수 있는 핵심 문제를 만들어 달라고 하기도 했었죠. 우습게도 정작 시험에는 단 한 문제도 안나왔지만 오히려 그게 좋았던 이유가 데이터 구조를 변경하는 문제는 1유형 최상위 난이도 문제라는 의미기 때문에!

  2. 2유형 사실 2유형은 많은 시간을 사용하지 않았습니다. 사실 상 난이도를 올려보기에도 애매한 과목이기 때문이죠. 솔직히 말하자면 그냥 수업 시간에 배운 내용만으로 기출 문제 몇 개 풀고 더 이상 추가적으로 공부하지는 않았습니다. (막상 시험에서 제일 곤혹을 치른 것은 2유형이었죠.)

  3. 3유형 저에게 3유형은 진짜 아픈 손가락 이었습니다. 1유형 못지않게 시간을 쏟아 공부한 과목이기도 했죠. 3유형을 이해하기 위해서는 코딩 자체보다는 통계학적 지식이 필요하기 때문에 머리가 아팠습니다. 빅데이터 분석기사 회차가 이제 10회가 되었지만 정작 시험에 3유형이 추가된지는 2년밖에 안됐습니다. 즉, 언제 갑자기 난이도가 급상승할지 모르는 시한 폭탄같은 과목이란 거죠. 그래서 시험을 준비하기 위해 교재의 모든 내용을 머리에 넣었습니다. 거의 시험에 안나올 것 같던 Tukey나 본 페르니 검정 같은 ANOVA 사후 검정까지 완벽하게 준비했고 이번 시험 환경 체험에 추가된 F-검정, 합동분산추정량과 합동분산추정량을 이용한 독립표본 t-통계량 수식까지 안되는 머리 쥐어뜯어가며 열심히 공부했지만 정작 시험에 나온 것은 늘 시험에 나왔다던 선형 회귀모델과 로지스틱 회귀문제…

    하지만쏟은 시간이 아까웠다는걸 의미하는게 아닙니다. 다행히도 제 차례에서 터지지 않았다는걸 말하는 거죠 ㅎㅎ

시험 후기

1유형 문제는 대체로 groupby 함수를 제대로 다룰 줄 안다면 모두 풀 수 있는 문제였습니다.

1번 문제는 그룹화한 뒤 sum()을 count()로 나누어 계산하는 문제였습니다. 저 같은 경우 sort_value() 정렬하지 않고 nlargest()로 상위 3개만 뽑아서 값을 구하는 방법을 사용했는데 시험 도중 공지가 발생했었죠. 전 못봤지만 이후 알게된 소식대로는 1순위 2순위가 같아 상위 4개 까지 뽑아야 하는 상황이 되었던 것 같았습니다. 반쯤 포기하고 있었는데 복수정답 처리해 줬죠. 럭키~

2번 문제는 기억이 안나네요. 그만큼 별볼일 없는 문제였나 봅니다. ㅋㅋㅋㅋ

3번 문제는 좀 인상 깊었던게 띄어쓰기로 구분된 문자열로 이루어진 데이터 값의 문자열 개수를 구하는 문제였죠. 작년의 저였다면 당연히 틀렸겠지만 전 두 가지 정석 풀이를 모두 알고 있었습니다. 하나는 apply() 함수를 사용하여 문자열을 하나씩 띄어쓰기 단위로 split 하는 것. 다른 하나는 .str 연산자를 이용하여 “df[변수].str.split().str.len()”이렇게 사용하는 방법 둘 중 어떤걸 사용했는지는 기억안나네요. 아마 apply() 함수를 사용한 방법으로 했을 겁니다. 수업시간에 배운 타이타닉 데이터 파생변수 만들기에서 썼던 내용이라 당시 상당히 익숙한 방법이었죠.

2유형에서 특별한 이슈는 Train 데이터의 결과변수에 있던 결측치를 전부 0으로 처리한 채 문제를 냈던 일이었죠. 그냥 0인 채로 둬야한다와 삭제해야 한다로 갈렸던 것 같아요. 전.. 중앙값으로 대체해 버렸습니다… 해당 이슈에 끼지도 못하게 되었죠. 대체했던 분들 모두 힘냅시다. ㅋㅋㅋㅋㅋㅋ

다음은 모델 선택에서 개인적으로 문제가 있었죠. 전 시간이 남아돌아서 학습데이터와 검증데이터 모두 평가를 확인해봤는데 두 평가 점수(f1_score였던 것으로 기억합니다.) 차이가 꽤 컸었습니다. 그래서 전 가장 차이가 적은 LightGBM으로 test데이터를 예측했는데 남들은 검증 평가 점수가 가장 높은 RandomForest로 제출했었죠.. 나름 이유가 있었지만 남들이 다 RandomForest라고 하면 괜히 불안한 마음이 생겼죠. ㅋㅋㅋ 결국 내 판단이 틀리지는 않았다고 생각힙니다. 과적합은 오히려 독이될 수 있기 때문이죠.

3 유형은… 그냥 작년과 똑같았습니다. p_값이 유의수준에 적합한 변수 개수라든지 oddz에 exp()를 사용해 계산하는 문제라든지. 특정 변수의 값으로 종속변수의 예측 값을 구하는 문제라든지 다 거기서 거기였죠.. 한마디로 폭탄은 터지지 않았다. ㅋㅋ

마지막 남기는 글

사실 자격증 시험 점수는 기준점만 넘으면 될지도 모르지만 기분의 문제죠. 내가 얼마나 성장했는가를 느낄 수 있었다면 뭐든 좋은 일 아니겠습니까.

댓글남기기