한국데이터산업진흥원(K-DATA)에서 주관하는 빅데이터분석기사(Big Data Analysis Engineer)는 데이터 사이언티스트 및 머신러닝 엔지니어 분야를 대표하는 국가기술자격입니다. 필기 통과 후 마주하는 실기 시험은 구름(Goorm) 기반의 클라우드 응시 환경에서 Python 또는 R 언어로 직접 코드를 작성하고 결과를 도출해야 하므로, 철저한 코드 암기와 환경 적응이 필요합니다.
비전공자나 코딩 초보자도 3주 만에 안정적으로 합격선(60점 이상)을 넘길 수 있도록, 작업형 1, 2, 3유형별 빈출 문법과 핵심 파이썬 템플릿을 정리해 드립니다.
1. 빅데이터분석기사 실기 시험 구조 및 배점
실기 시험은 총 180분간 진행되며, 100점 만점에 60점 이상 획득 시 합격입니다.
| 유형 | 문항 수 | 배점 | 주요 평가 내용 | 목표 점수 |
|---|---|---|---|---|
| 작업형 1유형 | 3문항 | 각 10점 (총 30점) | pandas 데이터 핸들링, 결측치·이상치 처리, 그룹 집계 | 30점 (만점) |
| 작업형 2유형 | 1문항 | 40점 | 머신러닝 모델링 (분류/회귀) 및 CSV 제출 (predict_proba 등) | 30~40점 |
| 작업형 3유형 | 2~3세부문항 | 총 30점 | 통계적 가설검정(t-test, ANOVA, 카이제곱) 및 회귀계수 검정 | 20~25점 |
합격 전략: 작업형 1유형은 문법 실수가 없으면 30점 만점이 가능합니다. 작업형 2유형에서 기본 파이프라인(전처리-인코딩-RandomForest-CSV저장)으로 30점 이상을 확보하면, 3유형에서 절반만 맞아도 75점 이상의 여유 있는 점수로 합격할 수 있습니다.
2. 구름(Goorm) 시험 환경의 3대 주의사항
시험 환경은 자동완성(인텔리센스)과 인터넷 검색이 불가능하므로 다음 세 가지 내장 함수를 손에 익혀야 합니다.
dir()과help()활용: 함수나 라이브러리 명칭이 기억나지 않을 때 문법을 확인하는 필수 도구입니다.import sklearn.ensemble print(dir(sklearn.ensemble)) # RandomForestClassifier 등 모듈 확인 from sklearn.ensemble import RandomForestClassifier help(RandomForestClassifier) # 파라미터 및 메서드 확인- 패키지 버전 확인: Scikit-Learn 1.x 기반이므로 최신 API 문법(
OneHotEncoder(sparse_output=False)등)과 구버전 문법 차이를 숙지해야 합니다. - 코드 실행 제한 시간: 1회 실행당 1분 이내에 끝나야 하므로, 너무 깊은 하이퍼파라미터 튜닝(GridSearchCV)이나 앙상블 복합 모델링은 타임아웃 오류를 유발할 수 있습니다.
3. 작업형 1유형: Pandas 빈출 5대 코드 템플릿
작업형 1유형은 정형 데이터에서 특정 조건을 만족하는 값을 산출하여 단일 수치(또는 정수)로 출력하는 형태입니다.
① 결측치 처리 및 평균 대치
import pandas as pd
df = pd.read_csv('data.csv')
# 결측치 개수 확인 및 결측치 제거/대치
mean_val = df['age'].mean()
df['age'] = df['age'].fillna(mean_val)
# 상위 10% 이상치 필터링
q90 = df['salary'].quantile(0.90)
result = df[df['salary'] >= q90]['salary'].mean()
print(int(result))
② IQR(사분위수 범위) 이상치 계산
Q1 = df['score'].quantile(0.25)
Q3 = df['score'].quantile(0.75)
IQR = Q3 - Q1
lower_bound = Q1 - 1.5 * IQR
upper_bound = Q3 + 1.5 * IQR
# 이상치들의 합 출력
outliers = df[(df['score'] < lower_bound) | (df['score'] > upper_bound)]
print(outliers['score'].sum())
4. 작업형 2유형: 머신러닝 만능 파이프라인
작업형 2유형은 전처리부터 모델 학습, 예측값 CSV 저장까지 원스톱으로 작성해야 합니다. 복잡한 튜닝보다 결측치 없는 데이터셋 구성과 Random Forest 기본 모델이 가장 안정적인 베이스라인을 보장합니다.
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder, StandardScaler
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import roc_auc_score
# 1. 데이터 로드
train = pd.read_csv('train.csv')
test = pd.read_csv('test.csv')
# 2. 타깃 분리 및 ID 분리
y = train['target']
X = train.drop(['ID', 'target'], axis=1)
test_id = test['ID']
X_test = test.drop(['ID'], axis=1)
# 3. 결측치 및 범주형 인코딩
cat_cols = X.select_dtypes(include='object').columns
for col in cat_cols:
le = LabelEncoder()
# train과 test 범주 통합 학습
X[col] = le.fit_transform(X[col].astype(str))
X_test[col] = le.transform(X_test[col].astype(str))
# 수치형 결측치 중앙값 채우기
X = X.fillna(X.median())
X_test = X_test.fillna(X.median())
# 4. 검증 세트 분리
X_tr, X_val, y_tr, y_val = train_test_split(X, y, test_size=0.2, random_state=42, stratify=y)
# 5. 모델 학습 및 검증
model = RandomForestClassifier(n_estimators=100, random_state=42)
model.fit(X_tr, y_tr)
val_pred = model.predict_proba(X_val)[:, 1]
print("Validation ROC-AUC:", roc_auc_score(y_val, val_pred))
# 6. 최종 예측 및 CSV 저장 (index=False 필수)
pred = model.predict_proba(X_test)[:, 1]
output = pd.DataFrame({'ID': test_id, 'target': pred})
output.to_csv('result.csv', index=False)
# 7. 제출 결과 확인
check = pd.read_csv('result.csv')
print(check.head())
print(check.shape)
5. 작업형 3유형: Scipy 통계 가설검정 템플릿
최근 출제 비중이 커진 3유형은 t-검정, 카이제곱 검정, 다중선형회귀의 p-value 및 통계량 해석을 묻습니다.
① 독립표본 t-검정 (Two-sample T-test)
from scipy import stats
# 정규성 검정 및 등분산성 검정
# p-value > 0.05 이면 등분산 가정 (equal_var=True)
stat, p_val = stats.ttest_ind(group_A, group_B, equal_var=True)
print("t-통계량:", round(stat, 4))
print("p-value:", round(p_val, 4))
② 카이제곱 독립성 검정 (Chi-square test)
from scipy.stats import chi2_contingency
# 교차표 생성 후 검정
table = pd.crosstab(df['gender'], df['buy'])
chi2, p, dof, expected = chi2_contingency(table)
print("카이제곱 통계량:", round(chi2, 4))
print("p-value:", round(p, 4))
6. 3주 초단기 합격 로드맵
- 1주차 (문법 체화): 구름 환경에서 pandas
groupby,merge,pivot_table, 슬라이싱 코드 손코딩 훈련 (하루 2시간). - 2주차 (작업형 2유형 정복): 분류 3문제(타이타닉, 신용카드 이탈, 쇼핑몰 고객), 회귀 3문제(집값, 자동차 가격) 기본 파이프라인 15분 내 무에러 작성 연습.
- 3주차 (기출 풀이 & 3유형 정리): 역대 기출문제(3회~최신 회차) 실전 모의고사 3세트 타이머 측정 및 통계 검정 코드 암기.
실기 시험은 코드가 화려할 필요가 전혀 없습니다. ‘채점 서버가 요구하는 형식(CSV 인덱스 제거, 결측치 0건, 에러 없는 실행)‘만 충족하면 고득점이 보장됩니다. 본 가이드의 코드를 직접 3번 이상 필사해 보시기 바랍니다.