작년 2023년 4월 빅데이터분석기사 6회 필기 합격 후
미루고 미루던 실기 시험을 치르고 합격했습니다.
배경
- 컴퓨터공학과 졸업
- 학부시절 인공지능, 머신러닝 과목 수강
- 외부 빅데이터 교육 이수
- 빅데이터 분석 공모전 (pandas 사용 경험)
- 정보처리기사
- SQLD
공부 스케줄
6/3부터 3주 공부하려고 했는데 역시 회사 다니면서 공부하는 건 쉽지가 않았다... ^^
시험 1주일 전부터 빡공 했다. 집에선 집중이 잘 안 돼서 퇴근하고 맨날 카페 가서 새벽까지 공부하고 귀가했다...
시험 2주 전 주말에는 작업형 1 공부
시험 1주 전 주말에 작업형 2 공부
월화는 작업형 3 공부,
수, 목, 금은 2회~6회 기출문제를 풀면서 공부했다.
시험 전 금요일은 기출 5, 6회 풀고 작업형 3 유형 총정리 했다.
공부 방법
회사에서 인프런 강의를 한 달에 1개씩 지원해 줘서 [퇴근 후딴짓] 빅데이터 분석기사 실기 강의를 들으면서 공부했다.
(추천합니다!!! 👍)
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3) 강의 | 퇴근후딴짓 - 인프런
퇴근후딴짓 | 비전공자, 입문자가 빅데이터 분석기사 실기를 빠르게 취득할 수 있도록 안내해드려요! 꼭 필요한 파이썬, 판다스, 머신러닝을 다루고 있어요!, ❤️공지❤️ 7회 기출 유형 업데이
www.inflearn.com
작업형 2 -> 작업형 1 -> 작업형 3 순으로 공부하려고 했지만
작업형 1 -> 작업형 2 -> 작업형 3 -> 기출풀이(2~6회)로 진행했다.
출퇴근길에는 작업형 1 강의를 듣는 게 적당한 것 같아서 작업형 1부터 공부했다.
pandas를 다뤄본 경험이 있어서 작업형 1은 코랩에서 실습하면서 쉽게 공부할 수 있었다.
작업형 1은 여러 문제를 풀어보는면서 어떤 메서드를 써야 하는지 익히는 게 제일 좋은 방법 같다.
직접 파라미터 튜닝하고 모델을 돌려본 경험은 별로 없어서
작업형 2가 살짝 까다로웠는데 어느 정도 작업하는 템플릿이 있어서 그 순서대로 계속 실습을 반복했다.
1. 데이터 import
2. EDA
3. 전처리 및 Feature Enginnering
4. train, test 나누기
5. 모델 선택, 학습, 예측
6. 평가
7. 결과 파일 제출
# 1. 데이터 불러오기
import pandas as pd
train = pd.read_csv('train.csv')
test = pd.read_csv('test.csv')
print(train.shape, test.shape)
# 2. EDA
# print(train.isnull().sum())
# print(test.isnull().sum())
# print(train.info()) # float64(2), int64(4), object(3)
# print(test.info()) # float64(2), int64(3), object(3)
# print(train.head())
# print(test.head())
# print(train.describe(include='O'))
cols = train.select_dtypes(include='O').columns
# print(cols)
# print(train['model'].value_counts())
# for col in cols:
# print(set(train[col]))
# print(set(test[col]))
# print(set(train[col]) - set(test[col]))
# print(set(test[col]) - set(train[col]))
# 3. 전처리 FE
target = train.pop('price')
# object 삭제
# train = train.drop(cols, axis=1)
# test = test.drop(cols, axis=1)
# 원핫
# train = pd.get_dummies(train)
# test = pd.get_dummies(test)
# label
from sklearn.preprocessing import LabelEncoder
for col in cols:
le = LabelEncoder()
train[col] = le.fit_transform(train[col])
test[col] = le.transform(test[col])
print(train.shape, test.shape)
print(train.head())
# 4. train, test split
from sklearn.model_selection import train_test_split
X_tr, X_val, y_tr, y_val = train_test_split(train, target, test_size=0.2, random_state=123)
print(X_tr.shape, X_val.shape, y_tr.shape, y_val.shape)
# 5. 모델 선택 학습 예측
from sklearn.ensemble import RandomForestRegressor
model = RandomForestRegressor()
model.fit(X_tr, y_tr)
pred = model.predict(X_val)
# 6. 평가
from sklearn.metrics import mean_squared_error
import numpy as np
def rmse(y, pred):
return np.sqrt(mean_squared_error(y, pred))
print(rmse(y_val, pred))
# base line 1475.1455911498017
# 원핫 1354.8502422515874
# label 1329.841635858263
# 7. test 예측 후 결과 제출
pred = model.predict(test)
submit = pd.DataFrame({
'pred': pred
})
submit.to_csv('result.csv', index=False)
print(rmse(pd.read_csv('y.csv'), pd.read_csv('result.csv')))
작업형 3이 공부하는데 제일 까다로웠다. 가설검정, 범주형 데이터 분석, 회귀 분석, 분산 분석에 대한 내용이었는데,
우선 개념이 익숙하지 않았고 어떤 상황에서 사용하는지 왜 사용하는지 이해하는데 시간이 좀 걸렸다.
강의를 여러 번 듣고 이해가 가지 않으면 구글링 해서 여러 가지 예시 상황을 보면서 이해할 수 있도록 했다.
시험 전 날에는 빈 종이에 그동안 공부한 걸 다 적으면서 이해하고 암기했다.
그리고 시험 보기 전에 꼭 시험 환경에 공식 예시 문제를 풀어보는 걸 추천합니다.!!!
help(), dir() 함수 꼭 공부하고 실습하면서 사용해 볼 것 추천!!
8회 시험 후기
작업형 1
처음 문제를 풀었을 때 이해를 잘못해서 잘못 풀었는데
시험 시간이 남아서 문제를 다시 읽어보고 제대로 이해하고 다시 풀어서 맞을 수 있었다.
꼭 다시 문제를 읽고 확인해 보는 것을 추천한다.
작업형 2
회귀 문제였는데, 결측치는 없었다. 수치형 데이터는 따로 처리해주지 않고, 범주형 데이터는 원핫인코딩 해줬다.
RandomForestRegressor로 돌렸을 때 성능이 제일 좋아서 모델은 랜덤포레스트로 했다.
평가 지표는 소수점으로 나왔는데 따로 정수처리 하지 않고 답안을 제출했다. -> 40점 받음
모델을 학습할 때, train, validation 데이터로 나누는데 그거로 예측한 결과로 제출하면 절대 안 된다.
제출 전 꼭 문제에서 제공하는 test 데이터로 예측한 결과인지 확인하도록 하자.
작업형 3
큰 문제 2개에 각 소문제가 3개씩 있는 형태로 문제가 구성되어 있었다.
공식 예시 문제에 나와 있는 문제와 비슷한 문제가 나왔다.
회귀, 로지스틱회귀 분석을 하고 model.summary()에서 답을 찾을 수 있는 문제, 오즈비 구하는 문제가 나왔다.
총평
파이썬으로 데이터 분석 경험이 있어서 10일 정도(?)로 충분했던 것 같다. 평일에 퇴근하고 새벽까지 공부하느라 힘들긴 했다. 작업형 3은 어떤 문제가 나올지 잘 모르기 때문에 작업형 1, 2는 확실하게 공부해서 만점 받을 수 있게 준비하는 게 좋을 것 같다. 비전공자들은 무작정 암기하는 게 아니라 어느 정도 개념을 이해하고 실습을 진행한다면 충분히 합격할 수 있을 난이도 같습니다 :-)
빅데이터분석기사 준비하시는 분들 모두 파이팅입니다. 👊🏻
'자격증 > 빅데이터분석기사' 카테고리의 다른 글
[빅데이터분석기사] 6회 필기 합격 후기 (0) | 2024.07.15 |
---|---|
[빅데이터분석기사] 작업형1 - 문자열 (0) | 2024.06.10 |
[빅데이터분석기사] 작업형1 - 시계열 데이터 2 (0) | 2024.06.10 |
[빅데이터분석기사] 작업형1 - 시계열 데이터 1 (0) | 2024.06.10 |
[빅데이터분석기사] 작업형1 - 판다스 기초 3 (0) | 2024.06.10 |