-
빅데이터분석기사 9회 실기 후기, 비전공자 공부 방법python 2024. 12. 26. 20:51
2024년 11월에 빅분기 9회차 실기 시험에 합격해서 기사 자격증을 취득했다-!
야호1년에 딱 2번 시험이 있는 빅분기...!
시험 횟수가 너무 적은만큼 꼭 한 번에 따야겠다는 생각이 든 시험이었다.
시험 결과는...
생각보다 너무 잘봤다
너무 잘 본 기념으로 시험 공부 방법에 대해 작성해보려고 포스팅을 해보았다.
해당 글은
- 내 상태
- 공부 기간
- 공부 방법
- 약간의 팁?
순서로 이루어진다.
1. 내 상태
- 컴공/통계 비전공자
- 통계는 대학교 학부 때 수업 시간에 들은 적 있어서 개념은 알고있음 (t-test, p-value, 카이스퀘어, anova,,, 등등)
- 이공계 아님
- 코딩 기초~중급 수준
- 파이썬 pandas는 쓸 일이 꽤 있어서 사용해봄 but 주로 with GPT,,,
- 머신러닝은 개념 정도는 알고 있는 상태 & GPT랑 같이 사용해보긴 함
=> 빅분기 시험 본 이유는 취준생인데 빅데이터 관련 능력 및 관심이 있다는 것을 조금이라도 보여주려고!
2. 공부 기간
필기랑 실기 모두 약 2주 정도 공부했다!
필기는 가장 최신책 한 권 가지고 공부했음(주로 기출문제 바탕)
실기도 시험 보기 딱 2주전?? 쯤 기출문제 위주로 공부했음
사실 실기때는 2주라 해도, 난 뒷심이 약해서 오히려 초반에 공부 많이 해놓고 시험 다가올 때까지 공부를 엄청 느슨하게 했다.
- 2주전에 -> 각 유형별 유형이나 기출문제들 보고 푸는 방법 습득 (한 3일 정도 걸린듯)
- 그 이후에 기출문제 다시 풀어보면서 조금 외우는 기간 가짐(이틀 정도?)
- 한 초반 5일 정도 열심히 외우고 공부하고.... 현생이 바쁘다는 이유로 시험 보기 한 이틀 전까지는 대충대충 한 것 같다.. 하루 30분 ~ 1시간 정도?
3. 공부 방법
각 유형별로 공부하면서 도움을 받았던 사이트에 대해 작성해보려고 한다.
정말 많은 블로그랑 다른 사이트에서 도움을 많이 받았다(구글링의 힘)
근데, 일단 기초적으로 시험 환경에서 사용할 수 있는 치트키에 대해 알려주고자 한다.
help, dir 사용법은 꼭꼭 알고가야만 한다!
https://www.youtube.com/watch?v=2Nf6yAgnZTY&list=PLSlDi2AkDv82Qv7B3WiWypQSFmOCb-G_-&t=3s
아마 영상보면 이런 내용이 나올거다
# 풀네임을 찾아보자 -> dir, __all__ print(dir(pd)) print(dir(pd.DataFrame)) print(sklearn.__all__) # 밑에 함수 뭐있는지 불러올려면 미리 꼭!! 임포트 먼저 해야함 import sklearn.preprocessing print(sklearn.preprocessing.__**all__**)
# 사용법 찾기(공식문서) -> help print(help(pd.DataFrame.fillna)) print(help(sklearn.preprocessing.MinMaxScaler))
1유형
- 개인적으로 1유형에서 가장 중요한 함수는 "groupby" 일 것이다.
- 이 함수 사용법에 대해서 꼭꼭 알고 가야한다.
- 시간이 없어서 공부할 시간이 없다면 1유형은 무조건 얘만 죽도록 파라...
- 9회차 시험에서도 해당 함수 사용해서 문제를 풀어야 하는 문제가 나왔던 거로 기억한다...!
그리고 유용하게 사용할 함수들은 아래 두 함수!! 도 위에 groupby랑 걍 이 3개는 필수다.. 시험보려면
- value_counts()
- sort_values()
+ 결측치 제거 방법이나 특정 값으로 대체하는 방법에 대해서도 꼭 알아두기
# 전체 결측치 제거하려면 df.dropna() # 특정 칼럼의 결측값 데이터만 삭제, 해당 칼럼들에 비어있는 값이 있을 경우 해당 행을 삭제 df.dropna(subset = [’칼럼명’]) df.dropna(subset=['나이', '점수']) # 결측치를 특정 값으로 대체하려면 df.fillna(df.maen()) # df.mean하면 df의 모든 열에 대해서 각각의 열에 대한 평균값 나옴 df['코딩'].fillna('확인중', inplace=True) # 원하는 칼럼에 대해서만 값 대체 df['코딩'] = df['코딩'].fillna(df['코딩'].mean())
이 외에 알면 좋은 것들
- 사분위수 구하기
- 요즘은 나오는 추세인지 모르겠는데 이전 기출문제들 보면 꽤 많이 나오길래 알면 좋을 것 같다.
#사분위수 구하기 Q1 = covid['Population'].quantile(0.25) # 이상치 구하기 q1 = df['키'].quantile(0.25) # 1사분위수 q3 = df['키'].quantile(0.75) # 3사분위수 iqr = q3 - q1 # IQR 계산 # 이상치 경계 계산 (보통 1.5 * IQR 사용) lower_bound = q1 - 1.5 * iqr # 하한값 upper_bound = q3 + 1.5 * iqr # 상한값
그리고,
- min-max 스케일링 & 표준편차
- 이 min-max 스케일링 같은 경우는 sklearn 통해서 할 수도 있지만 그냥 하는 방법에 대해서도 공부하긴 했다.
# min max 스케일링 = (x - min) / (max - min) df['키_정규화'] = (df['키'] - df['키'].min()) / (df['키'].max() - df['키'].min()) # skelarn 사용 min max 스케일링 from sklearn.preprocessing import MinMaxScaler scaler = MinMaxScaler() df['키_정규화'] = scaler.fit_transform(df[['키']]) # 표준화 z-score = x - mean / std df['키_표준화'] = (df['키'] - df['키'].mean()) / df['키'].std()
마지막으로, pd.to_datetime 함수까지
- 얘는 기출문제로 몇 번 나왔던 것 같다.
- 개인적으로 기출문제에 나왔던 함수들은 다 외워서 가길 추천한다
# 내가 원하는 날짜 필터링 pd.to_datetime(airseoul2['date'], format = '%Y-%m-%d') airseoul2[(airseoul2['date'] >= '2022-02-01') & (airseoul2['date'] <= '2022-03-31')]
+ 7회차 작업형 1유형 기출문제 내용들
- score 값이 null 이 아닌 행만 가져와서 이상치에 해당하는 데이터 수 구하기
- 표준화 적용해서 몇 이상인 데이터 수 구하기
- 데이터프레임에서 가장 큰 상관관계를 갖는 컬럼명을 찾고, 그 컬럼의 평균 구하기
2유형
2유형은 랜덤 포레스트 모델 가지고 머신러닝 처음부터 끝까지 코드 작성하면 된다.
나는 다른 모델 사용하지 않고 오직 랜덤 포레스트만 사용해서 공부했다.
머신러닝에서 회귀, 분류 딱 2가지를 먼저 잘 구분해서 Random Forest Regressor 사용할지 Classifier 사용할지 정하면 된다.
그리고 빅분기 준비할 때 많이 이용하는 캐글 사이트
https://www.kaggle.com/datasets/agileteam/bigdatacertificationkr/data
Big Data Certification KR
퇴근후딴짓 의 빅데이터 분석기사 실기 (Python, R tutorial code) 커뮤니티
www.kaggle.com
여기서 문제들이 많으니 어떨 때 회귀 사용하는지, 분류 사용하는지 감 잡기 좋다.
2유형은 그리고 "템플릿" 만들면 좋은 유형이다.
-> 자기가 시험장 가서 사용할 코드를 처음부터 끝까지 외운 코드를 템플릿이라고 말한다!!
나는 아래 유튜브에 이분이 제공하시는 코드가 제일 잘 맞는 것 같아서 이분꺼로 외워서 시험장 가서 40점 획득했다! (나랑 관련 없으신분..... 그냥 내가 추구하는 방향이랑 같아서 추천드립니다)
여러 개 유튜브 영상이나 캐글 들어가서 찾아봤는데, 여러분도 자기한테 잘 맞는 코드로 외워서 가면 충분히 40점 받으실 수 있을 겁니다!
https://www.youtube.com/watch?v=06iKB3TwxjQ&t=1s
큰 흐름은 아래 순서로,,,~
- 라벨과 데이터셋 잘 분리하기
- 수치형 + 범주형 데이터 원핫 인코딩 (pandas.get dummies)
- random forest classifier 또는 regressor 로 모델링
- 정확도 검증 및 predict
3유형
- 3유형 공부 방법에 대해서는 많은 정보가 있지는 않아서 처음에 조금 어려움을 겪긴 했다
- 3유형은 "통계"와 관련된 문제들이 나온다. 아래 2개 패키지 정도 사용했던 것 같다
- statsmodel.fromula.api -> 강추...! summary() 하면 요약 결과를 직접적으로 볼 수 있어서 좋다.
- scipy
- 근데, 이전 기출 문제나 9회차 시험에서도 마찬가지로 "로지스틱 회귀분석, 다중 회귀분석" 이 2가지로 시험이 나왔다. (카이스퀘어검정 관련 문제도 나온적 있음)
- 앞서 말했듯이 "statsmodel" 패키지를 쓰면 좋다고 한 이유가 로지스틱 회귀분석은 sklearn을 통해서도 실행할 수 있다. 하지만, 요약 결과를 바로 직접적으로 보긴 어려워서 나는 statsmodel을 사용하긴 했다.
- 3유형은 이 크게 2가지 시험문제가 있으며, 각 1가지 시험 문제 내에 3개의 꼬리 질문이 있다.
- 아마 꼬리질문을 3개씩 내야하기 때문에, 꼬리질문을 낼 수 있는 통계 모형들을 찾다가 이 2개로 정한듯,,,?
- 그래도,,,, 시험 한 이틀전부터? t-test 랑 anova 등 기본적인 통계 어떻게 돌리나....~ 정도는 대충 공부하긴 했다! (혹시 몰라서)
시험 문제 느낌은
- 유의확률 보고 유의성 가장 낮은 변수 찾기 -> .parmas, .pvalues 정도는 기억하기
- 유의한 칼럼 가지고 다시 모델 만들고 상관계수 평균 구하기
- 오즈비 구하기(어떤 변수가 5 증가하면 오즈비는 어느 정도 증가?) -> 오즈비 관련 시험 문제 다수 나옴
- 선형회귀 - 종속변수와 독립변수 중 상관계수가 가장 낮은 것 찾기
- 어떤 데이터 주고 predict 하는 문제
아래는 3유형 공부할 때 도움 받았던 사이트들 정리해뒀다.
1. https://career-gogimandu.tistory.com/236
빅데이터분석기사 실기 3유형 : 시험에 뭐가 나올까? 내가 보려고 정리한 요약집
빅분기 실기 3유형6회차 시험에 처음 생긴 유형이라,아직 기출문제가 2개 회차밖에 없음가설검정과 통계 분석에 대해 다루지만, 내용이 워낙 많은 거에 비해문제수는 대문항 2개 * 대문항 1개당
career-gogimandu.tistory.com
2. https://blog.naver.com/drdjmin/223485739258
빅데이터 분석기사 실기 - 비전공자 3유형 야매로 벼락치기
보통 이 시험에서 3유형은 깊게 안 보는데 그래도 하루는 봐야겠어서 급하게 정리하는 3유형 공부법 1. 모...
blog.naver.com
빅데이터 분석기사 실기 - 8회 기출문제 후기
2024 6 23일 .. 빅데이터 분석기사 실기 8회를 보고 왔다.. 일단 ... 사실상 난이도는 하 지만 나는 가채점 결과 50점 각이므로 삼수 예정이다.. 그래서 빡쳐서 11월 9회 시험을 대비해 빅데이터 분석
lifeinwonderland.tistory.com
4. https://sodayeong.tistory.com/246
[빅분기] 빅데이터분석기사 작업형 3유형 문제 풀어보기
t-test 단일표본 t-검정 from scipy.stats import ttest_1samp # 귀무가설 : 평균키는 165이다 # 대립가설 : 평균키는 165가 아니다 # 1. 정규성을 만족하는가? # 2. ttest_1samp shapiros, p = shapiro(df) print(p) # 정규성을
sodayeong.tistory.com
5. https://sodayeong.tistory.com/246
[빅분기] 빅데이터분석기사 작업형 3유형 문제 풀어보기
t-test 단일표본 t-검정 from scipy.stats import ttest_1samp # 귀무가설 : 평균키는 165이다 # 대립가설 : 평균키는 165가 아니다 # 1. 정규성을 만족하는가? # 2. ttest_1samp shapiros, p = shapiro(df) print(p) # 정규성을
sodayeong.tistory.com
4. 팁
나는 사실 기억력이 크게 좋진 않아서 시험 문제가 뭐가 나왔는지 정도까지는 작성하진 못했다..
그냥 그 때 최선을 다할뿐,,,,
그래서, 본 포스팅은 어떤 방향으로 공부하면 좋을지 참고용으로 봐주셨으면 감사하겠습니다.
해당 빅분기 시험은 무엇보다도 기출문제를 많이 풀어보는 것이 가장 도움이 많이 될 것 같습니다.
저는 사실 기출문제만 한 3-4번씩 풀고 갔습니다.
빅분기 시험이 점점 가면 어려워진다 해서 새로운 문제 푸는 것도 좋지만, 최신 기출문제 찾아서 반복해서 푸는 것이 더 좋을 것 같아요!
그리고 3유형인 로지스틱 회귀모형이나 다중 회귀모형에서는, 저는 3가지 꼬리 질문이 뭐가 나올지 기출문제들 바탕으로 추가 공부를 하고 어떻게 풀어야 하는지 다 외웠던 것 같아요!
너무 긴 글 봐주셔서 감사합니다!!
다들 꼭꼭 시험 합격하시길 같이 응원하겠습니다-!
'python' 카테고리의 다른 글
파이썬으로 여러 개의 csv 파일 불러와서 읽는 방법 (0) 2025.03.21 빅데이터 분석기사 작업형 3유형 공부 방법 (1) 2024.12.31 seaborn 색상 코드(HEX code) 찾는 법 (0) 2024.10.18 가상환경 설치, 패키지 설치 방법 (0) 2024.10.01 파이썬 시각화할 때 경고 무시, 한글 깨짐 해결 (0) 2024.08.01