공무원 경력공채를 준비하면서 이미 있는 정보처리기사 말고 가산점용으로 자격증을 뭐하나 따야겠다 싶어서 빅데이터분석기사를 준비했다.
지금 생각해보면 경력공채 가산점을 위해서는 그냥 사무자동화를 땄어야 했다.
빅데이터분석기사는 신입 채용에서는 가산점에 포함이 되어있는데, 무슨 이유인지 경력공채에는 가산점 대상 자격증에 없었다.
아무튼 빅데이터분석기사는 한국데이터산업진흥원(DataQ)에서 만든 시험인데, 공부를 하면서 느낀점이 이게 빅데이터랑 상관이 아주 없는건 아닌데, 뭐 그냥 데이터라는 공통점만 있지 빅데이터랑 뭔상관인가 싶은 시험이다.
솔직히 실무에서의 쓸모는 사무자동화가 더 클듯.
필기는 통계학이나 데이터분석 관련 학과 나온 분들은 쉽다고 하는데, 난 그냥 개발자라서 그런지 외울게 너무 많았다. 주말에만 6~7시간씩 3달정도 한거 같은데...일수로 따지면 3주정도 일듯. 평일지나면 외운거 리셋되는게 가장 큰 문제였다.
그리고 책에 나와있는 내용이 이미 안쓰이는 것들도 꽤 있었다. 문제는 실제 시험에 이런 안 쓰이는 것들이 나왔다는거. 흠....
아무튼 공무원 준비하는 분들 중 전공자들은 각잡고 2주면 붙을정도인듯. 전공자가 아니면 빡셀거 같고. 필기 시험 난이도는 정보처리기사보다 어렵긴 했다. 근데 살짝 어려운정도.
외울게 너무 많았어.ㅠㅠ 아무튼 필기는 70점으로 합격.
필기는 팁이랄게 없었다. 그냥 외워야지. 기출문제 위주로 공부하지 않고 그냥 다 외우려고 했다. 시험이 기출 기반으로 나오지는 않았다.
실기는 파이썬으로 하는 걸 추천한다. 왜냐면 찾아볼 자료가 많으니까.
실기공부도 주말에만 했는데 6~7시간씩 5주정도 했으니까 10일정도 한 거 같다.
실기 팁은 그냥 책사서 처음부터 끝까지 계속 예제 전부를 쳐보는거다. 뭐 옛날 방식으로 프로그래밍 공부하는거지. 10일정도면 최소 두 번은 쳐볼꺼고, 좀 더 집중하면 세 번은 쳐볼꺼다.
이 정도면 떨어지는 게 더 어려움.
실기 난이도는 정보처리기사보다 빅데이터가 훨씬 쉽다.
난 11회차를 봤는데, 실제 프로그래밍을 하는 것 때문에 서술형보다 훨씬 쉽게 느껴진다.
파이썬에는 dir이라는 함수가 있는데, 모듈에 어떤 것들이 있는지를 나열해준다. 이걸 이용하면 어떤 함수였는지 대충 기억만 하고 있어도 시험 보는데는 문제가 없다.
빅데이터 실기 자체가 데이터를 가공해서 원하는 값을 얻는게 목적인데, 가공하는 방법이 몇 가지로 정해져있다. 이 부분을 책을 보면서 두 세 번 쳐보면 익숙해지게 된다.
암턴 나는 실기책을 두 번 쳐봤고, 인터넷에서 모의고사를 더 받아서 풀어봤다.
실기는 90점으로 합격. 100점이 아닌게 이상했는데, 2과목에서 10점 감점 당했음. 이유는 모르겠다.(무지성 랜덤포레스트를 한 것도 아니고, preprocessing하고 불균형 데이터 보정도 했는데...왜지...)
시간도 널널했다. 시험장에서 시험 시작하고 90분인가? 120분인가 이후에 퇴실 가능한데 이미 그전에 끝내고 시간되면 나가려고 대기중이였음.
실기는 아래 내용만 이해할 수 있으면 어지간해서는 떨어지는게 말이 안되는 정도의 난이도다.
아래 내용을 이해할 수 있으면 아래 내용만 외워가면 된다. 물론 책을 두번정도 쳐봤다는 가정.
===========================================================================
import pandas as pd
import numpy as np
import sklearn.preprocessing as skpp
import sklearn.metrics as metrics
import sklearn.ensemble as ensemble
import sklearn.linear_model as sklm
import sklearn.model_selection as skms
import lightgbm as lgb
#t검정
import scipy as sp
# ols(최소제곱법, 선형회귀), logit(로지스틱)
import statsmodels.formula.api as fapi
# anova(분산분석) .ols결과(Model)을 넣음
import statsmodels.api as api
'''
raw로 구분되어있는 내용을 컬럼으로 올리고 싶을 때 unstack 이용.
평균비교
단일표본검정: 표본의 평균을 특정값과 비교. ttest_1samp
대응표본검정: 표본을 두번 측정해서 비교. ttest_rel
독립표본검정: 표본 두개를 비교. ttest_ind
일원분산분석: 표본 세개 이상을 비교. 표본을 나누는 요인이 하나.
이원분산분석: 표본 세개 이상을 비교. 표본을 나누는 요인이 두개.
카이제곱검정(적합성, 독립성)
적합성: 관찰빈도가 기대빈도를 잘 따르는가.
독립성: 두 변수가 서로 독립적인가. (교차표가 주어져야 하며 raw데이터로 주어질 경우 crosstab을 이용해서 교차표를 만들어야함.)
독립표본검정시 등분산성이 만족되어야함.
등분산성은 정규성을 만족해야함.
정규성은 샤피로윌크. 0.05보다 크면 만족.
등분산성은 레빈검정. 0.05보다 크면 만족.
등분산성을 만족하지 않을 경우 welch 검정.
ols분석 결과 pvalue가 0.05보다 작으면 통계적으로 유의미하다.(0.05보다 작으면 귀무가설 기각.)
ols, logit의 파라미터는 (formula, data).fit()
logit
우도: llf
잔차이탈도: llf * -2
corr 상관분석.
정확도: accuracy_score
오류율: 1 - 정확도
model의 신뢰구간 변경.
model.conf_int(alpha=0.1) # 90퍼센트 신뢰구간
값 예측
model.predict(df)
특정값의 신뢰구간과 예측구간 예측.
result = model.get_prediction(df)
result.summary_frame(alpha=0.1) # 90퍼센트 구간.
오즈비 np.exp(params)
오즈비를 계산할 때 특정값이 몇 증가할 때의 오즈비는 params에 증가분을 곱하면 된다. np.exp(params * 5) 5증가.
'''
===========================================================================