자기소개
- 컴퓨터공학과 4학년 전공자😊
- 취업을 위해 다양한 자격증을 준비하던중 정처기와 함께 기사 자격증을 하나 더 취득하고자 빅분기 도전!!
- 24년도 제 8회 필기 + 제 9회 빅분기 실기 시험에 응시 및 합격
- 빅분기를 준비하는 다른 수험생들을 위해 정보글을 작성하고자 함(여러분들의 시간은 소중하니까요😉)
합격후기 & 시험정보
- 빅데이터분석기사는 1번 필기를 합격하면 2년 동안의 유효기간이 존재함(지나면 처음부터 다시 응시해야함)
- 빅데이터분석기사의 경우 파트별 과락은 존재하지 않음, 총합 60점만 넘기면 됨!
- 빅데이터분석기사는 1년에 2번 '필기 + 실기' 시험을 진행함(보통 상반기 / 하반기 진행)
- 빅데이터분석기사는 크게 3가지 파트로 구성되어 있다(작업 1/2/3 유형)
- 작업 1유형 : 주어진 데이터 기반의 유연한 데이터 전처리 작업 진행
- 작업 2유형 : 주어진 데이터 기반 AI 모델 생성 및 학습 & 예측 결과 제출
- 작업 3유형 : 통계학 파트(독립성 검정 & 로지스틱 회귀 분석 & 오즈비 등)
빅데이터분석기사 공략법
빅데이터분석기사 공부전 찾아봤던 다양한 정보들 요약
- 빅데이터분석기사 실기는 필기와는 달리, 별도의 서적없이 유튜브 및 웹 서치를 통해 공부해도 충분함
- 실기 시험의 경우 R 혹은 Python 중 원하는 언어를 선택해서 응시 가능(본인은 Python으로 응시)
- 대부분의 사람들이 데이터마님 사이트를 통해서 작업 1/2/3 유형에 대한 공부를 진행했다고 함
- 실제 시험 환경에서 당황하지 않도록 사전에 공식 홈페이지에서 제공하는 goorm 체험 환경을 이용해보길 권함
내가 선택한 공부방법
1. 빅데이터 분석기사 실기 대비를 위한 파이썬 기본 문법 베이스 쌓기(이미 알고있다면 패스 추천)
2. 빅데이터 분석기사 실기 강의가 필요하다면 필요에 따라 수강하여 시험에 대한 베이스 쌓기(솔직히 이것도 엄청 필요하다고 느끼진 않았음)
3. (중요)데이터마님 사이트에서 작업 1/2/3 유형에 대한 시험 공부 진행(핵심 : 직접 코딩하면서 비교하기)
- 본격적으로 빅데이터 분석기사 실기 시험을 공부하기전 정리했던 공부 방법은 위와 같았다.
- 하지만 공부를 하다보니 1번은 자신이 기초적인 파이썬 문법을 알고있다면 하지 않아도 될 것 같다고 느꼈음!
- 2번의 경우 유튜브를 돌아보며 괜찮은 실기 강의가 있나 찾아보았으나, 대부분 유료(ㅠㅠ)여서 그냥 3번으로 넘어감
- 아마 대부분의 사람들이 여기있는 3번의 방법으로 공부하며 시험을 준비했으리라 생각한다😊
공부 & 시험 응시 후 결론지은 빅분기 가성비 공부법
- 내가 찾아봤던 내용에 따르면 작업 1유형과 2유형에서 점수를 확실히 가져가고 3유형을 버리는 느낌으로 시험 점수를 챙겨가는 사람들이 많았던 것 같다.
- 나는 개인적으로, 작업 2유형이 1순위 작업 3유형이 2순위 작업 1유형을 3순위로 챙겨가는 것이 투자하는 시간 대비 빅분기를 준비하는데 있어서는 좀 더 효율적이라고 생각한다.
- 그 이유는, 작업 2유형의 경우 데이터를 다루는 기법들이 큰 틀 안에서 어느정도 정해져있기 때문에 작업하는 방식만 알고 있다면 다른 작업형 1/3 유형에 비해서 훨씬 쉽게 적은 시간을 들이고 점수를 받아갈 수 있다.
- 그리고 작업 3유형의 경우에는 어느정도의 암기가 필요하나, 이는 거꾸로 말하면 암기에 어느정도 시간을 투자하고 난 다음에는 외웠던 다양한 라이브러리들을 통해 문제를 빠르게 풀이해나갈 수 있음을 의미한다.
- 작업 1유형의 경우에는 최근들어 갈수록 제공하는 데이터의 전처리의 난이도가 상승(좀 더 구체적으로 말하자면, 단순하게 몇몇 컬럼을 똑 떼오는 것이 아니라 좀 더 자유자재로 다룰 수 있어야 함)하고 있다고 느껴졌다. 몰론 여기서 말한 시험 경향에 대한 내용들은 극히 개인적인 주관이 들어가 있기에 참고만 하면 될 것 같다!
작업 1유형 - 데이터 전처리 공부법
- 빅데이터분석기사 계의 GOAT 웹 페이지인 데이터 마님사이트를 묻지도 따지지도 말고 이용하자.
- 굉장히 잘 만들어져 있는 사이트이다. 왜 사람들이 빅분기하면 데이터마님이라고 말하는 지 사용해보면 알 것이다!
- 사실 여기서 언급한 데이터 마님사이트만 열심히 공부해도 작업 1/2/3 유형에 대한 준비가 거즘 가능하다
- 추가적으로, 공부하는 김에 데이터 마님 홈페이지의 빅분기, ADP 정보 공유 카톡방에 들어가면 양질의 정보를 얻을 수 있으므로 들어가 놓는것을 추천함!
- 작업 1유형은 위 사이트에서 데이터 전처리 100문제부터 시작해서 작업형 1유형 패관수련을 진행하면 된다.
- 참고 : 본인은 작업 2유형에 거즘 올인하다시피 해서 1유형은 별다른 조언을 못하겠음😅💦💦
작업 2유형 - 데이터 전처리 & AI 모델 생성 및 학습 공부법
- 작업 2유형은 유튜브 중 'AI 너는 아니 AI you know?' 라는 채널의 영상이 아주 많은 도움이 되었다.
- 위 채널에서 빅분기(빅데이터분석기사) 재생목록의 빅분기 실기 작업 2유형(분류 & 회귀) 이 영상들을 보자!
- 작업 2유형은 무엇보다도 큰 작업 흐름을 잡는 것이 중요하다. 주어진 데이터의 상태에 따라 전처리 과정을 거치고, 이후 문제에서 요구하는 평가 지표 및 결과 등에 따라 AI 모델을 가져다 써서 결과물을 얻는 것이 핵심인데, 이를 정리하면 아래와 같다.
작업 2유형은 크게 2가지로 문제가 나뉘어진다. 분류 혹은 회귀!
분류(Classification) : 결과가 2개 중 하나로 결정되는 경우(생존/사망 등)
회귀(Regression) : 결과가 여러 범주의 값 중 하나로 나오는 경우(가격/수치 등)
분류 문제인가 회귀 문제인가는 문제 속의 몇 가지 힌트로부터 알아낼 수 있다.
1. 종속변수의 형태
2. 모델의 성능평가에 사용되는 기준을 통해 파악
- 분류의 경우 : accuracy_score, f1_score, roc_auc_score, confusion_matrix 등
- 회귀의 경우 : RMSE, 결정계수 등
작업 2유형은 크게 아래와 같은 순서로 풀이한다고 알고 있으면 된다!
1. 데이터 로드 및 확인
2. 결측값 처리 및 라벨인코딩(문자열 ⇒ 수치형 변환)
3. 모델링 및 학습
4. 모델의 성능평가
5. 테스트 모델 예측
6. 테스트 결과 제출 및 확인
- 빅분기 작업 2유형이 실제 코드로는 어떻게 짜여지는지, 공부하면서 정리한 코드를 함께 첨부함!(분류/회귀)
- 몇 가지 키포인트만 짚어보자면 다음과 같다.
- 제공된 데이터를 확인했을 때 결측치가 있다면 최빈값 등으로 대체
- 문자열 등의 데이터를 숫자 형태로 바꾸기 위해 인코더를 활용해 인코딩 적용하기
- 모델링 할 때는 사전 학습된 AI 모델을 가져다 쓰는데, 보통은 랜덤 포레스트 계열을 사용하는 것이 가장 무난하다.
분류의 경우 RandomForestClassifier / 회귀의 경우 RandomForestRegressor를 사용하는 듯 하다.
작업 3유형 - 통계학 파트 공부법
- 작업 3유형은 바로 위 2유형때도 언급했던 'AI 너는 아니 AI you know?' 라는 채널이 많은 도움이 되었다.
- 위 채널에서 빅분기(빅데이터분석기사) 재생목록의 빅분기 실기 작업 3유형이 영상을 보자!
- 작업 3유형은 문제에서 요구하는 바를 얻어낼 수 있는 라이브러리를 사전에 알아두고, 빠르게 적용하는 것이 중요한 파트이다. 그렇기 때문에 작업 3유형에서 자주 사용되는 라이브러리들을 암기해둔다면 많은 도움이 될 것이다.
- 작업 3유형을 어떤 방식으로 공부해야 하는지 예시를 들면 아래와 같다.
# 중요 라이브러리
from scipy.stats import chi2_contingency
from statsmodels.formula.api import logit
import pandas as pd
# 독립성 검정 - 카이제곱 통계량
from scipy.stats import chi2_contingency
table = pd.crosstab(df.컬럼명, df.컬럼명)
chi2, p_val, dof, exp = chi2_contingency(table)
# p_val이 0.05보다 작을경우 귀무가설 기각 ⇒ 서로 관계 있음(독립 X)
# 로지스틱 회귀 - 로지스틱 회귀 모형 & 특정 변수의 계수값 & 오즈비 등
import numpy as np
# 계수값
result1 = logit('종속변수 ~ 독립변수1 + 독립변수2 + 독립변수3', data = df).fit().summary()
# 특정 변수의 한 단위당 오즈비
result2 = logit('종속변수 ~ 독립변수1 + 독립변수2 + 독립변수3', data = df).fit().params()
np.exp(result2) # 여기서 특정 변수에 대한 상관계수에 지수함수를 씌워줌
# 참고용
r = df.corr()['컬럼명'].sort_values()[-2] # 특정 종속변수에 대해 선형관계가 가장 큰 변수 찾기
- ex) 특정 변수 간의 독립성 검정에서 카이제곱 통계량
=> scipy.stats 라이브러리의 chi2_contingency 함수를 쓰겠구나! - ex) 몇몇 독립변수를 기반으로 로지스틱 회귀모형을 얻었을 때 특정 변수의 계수값
=> statsmodels.formula.api 라이브러리의 logit 함수를 쓰겠구나! - 이러한 방식으로 문제에서 요구하는 바를 얻을 수 있는 라이브러리 및 함수를 사전에 알아두고 빠르게 적용하는 것이 중요하다. 여기서 언급한 내용은 goormedu에서 제공하는 빅분기 제 3유형 문제 중 기본적인 예시이며, 이 외에도 여러가지 라이브러리 및 함수들을 공부하면 OK!
마무리하며
내가 올해 빅데이터분석기사에 도전하며 공부하기전 알아봤던 내용 그리고 시험을 직접 보고나서 느낀점들을 기반으로 이후에 있을 10회, 11회 ... 빅데이터분석기사를 공부할 때 어떻게 공부하는 것이 과연 효율적일까를 생각하며 글을 작성해보았는데 많은 사람들에게 도움이 되었으면 좋겠다! 여러분들의 앞길에 행운이 있길 바랍니다😉💕
'Retrospection' 카테고리의 다른 글
[자격증]2024년도 55회 SQLD 합격 후기(공부법 등 정보글) (2) | 2024.12.17 |
---|---|
[자격증]2024년도 2회 정보처리기사 합격 후기(필기/실기 공부법 등) (0) | 2024.12.11 |