본문 바로가기

인공지능 & 빅데이터

빅데이터 분석기사 실기 후기 및 꿀팁 (feat. 제3회 시험)

 

빅데이터 분석기사 필기 시험 후기를 올린 지 벌써 2달이 지났습니다.

그리고 드디어 지난 토요일(12/4) 실기 시험을 치르고 왔는데요.

실기 시험을 치르며 느낀 점을 후기로 남겨 보겠습니다.

내년도 4회 시험을 치르실 분들에게 조금의 도움이라도 되었으면 좋겠습니다.

(사실 저도 이번에 떨어지면 4회 시험 준비를.. 또르르..)

(2021-12-31에 추가 : 다행히 합격을 했습니다 ㅠㅠ 여러분도 합격하세요)

 


 

1. 시험장 입장

 

저는 대전에 있는 비젼직업전문학교에서 시험을 치렀습니다.

컴퓨터 교육을 진행하는 곳이라 빅분기 실기 시험 장소로 선정된 것 같았습니다.

 

대전 비젼직업전문학교

 

이렇게 생긴 곳이었는데요. 다소 놀랐던 건 이 곳에 사람이 가득찬 채로 시험을 봤다는 겁니다 ㅎㅎ

사진 속 자리 간 간격이 보이시죠?

옆사람과 의논을 하고 앞 사람 모니터를 참고하면서 문제를 풀 수 있을 정도로 자리가 가까웠습니다 ^^;;

(물론 저는 그러지 않았습니다 판사님)

 


 

2. 시험 안내사항

 

시작 하기에 앞서 감독관님께서 시험 안내 사항을 이야기 해주십니다.

신분증을 꺼내 놓아라.. 화장실 이용은 30분 후부터 가능하다.. 등등 일반적인 주의사항을 들을 수 있습니다.

한 가지 신기했던 건!!

컴퓨터 내에서 따로 인터넷 접속을 차단해놓지 않습니다! 인터넷 창만 켜면 서핑을 할 수 있다는 것이죠.

물론 시험 중 인터넷 접속은 부정행위로 간주되므로 몰래몰래 인터넷에 접속하는 일은 없으셔야겠죠.

수험번호와 신분증을 확인 한 후

정해진 시간이 되면 시험을 시작하게 됩니다.


 

3. 시험 유형 (중요!!)

 

시험 전 안내사항에도 나오지만 문제를 복원하여 배포하는 행위는 처벌(?)을 받을 수도 있다고 합니다.

그래서 여기서는 기출 문제 냄새 정도만 맡게 해드리겠습니다.

(아래에서 소개 드리는 문제는 실제 기출 문제를 그대로 복원한 것이 아니며, 비슷한 유형으로 재구성 했습니다.)

 

- 단답형 (10문제 x 3점 = 30점)

 

먼저 단답형은 10문제가 나오는데

... 사실 기억도 잘 안 날 뿐더러 제가 적은 답이 정답인지도 확실하지 않습니다 ㅠㅜ

그럼에도 드릴 수 있는 말씀은,

필기시험(분석기획, 탐색, 모델링, 결과분석 분야) 준비를 하면서 여러 번 들어봤음직한 용어들이 나온다는 겁니다.

따라서 필기시험 준비를 하며 봤던 교재를 쓱~ 훑어보시길 추천 드립니다.

(더욱 추천 드리는 것은, 만약 시간이 부족하다면 배점이 큰 작업형 문제에 보다 집중하시는 건 어떨까요?)

 

- 작업형1 (3문제 x 10점 = 30점)

개인적으로 작업형1은 코드 10줄 이내(문제에 따라 5줄 이내)로 간단하게 풀 수 있는 문제이기 때문에

꼭 점수를 가져가셔야 한다고 생각합니다.

그럼 문제와 풀이 예시를 보시죠.

<문제 1>
주어진 자료에서 결측치를 모두 제거하고 상위 60% 데이터의 3번째 컬럼의 2사분위수를 정수로 출력하시오.

<풀이>
a. 'dropna()'를 이용해 데이터프레임에서 결측치가 포함된 모든 행을 제거한다.
b. a에서 얻은 데이터프레임의 상위 60% 행을 추출한다.
c. b에서 얻은 데이터프레임의 3번째 컬럼을 추출한다.
d. 'describe()['50%']'를 이용해 c에서 얻은 컬럼의 2사분위수를 구한다.
e. 'int64'를 이용해 d에서 얻은 수를 정수로 출력한다.

 

<문제 2>
행, 열이 각각 연도, 브랜드 별 판매량을 나타내는 자료에서 2010년의 판매량이 해당 년도 평균 판매량보다 높은 브랜드의 개수를 구하시오.

<풀이>
a. 2010년에 해당하는 행을 추출한다.
b. 'mean()'을 이용해 a에서 추출한 행의 평균값을 구한다.
c. a에서 구한 행의 값 중 b에서 구한 평균값보다 큰 값의 개수를 구한다.

 

<문제 3>
컬럼별 결측치 개수를 구하고 결측치 개수가 가장 적은 컬럼의 이름을 출력하시오.

<풀이>
a. 'isna().sum()'를 이용해 컬럼별 결측치 개수를 구한다.
b. 'argmax()'를 이용해 결측치 개수가 가장 많은 컬럼을 구한다.
c. b에서 구한 컬럼의 이름을 출력한다.

 

여기까지 작업형1의 문제 유형과 풀이 방법을 설명드렸는데요.

어떤 문제가 나오는지 대충 감이 잡히셨을 거라고 생각합니다.

 

- 작업형2 (1문제 x 40점 = 40점)

 

다음은 작업형2 유형입니다.

작업형2는 배점이 가장 큰 만큼 문제를 푸는 데 가장 많은 시간을 할애하셔야 하고

최소한의 점수라도 무조건! 획득할 수 있도록

결과값 도출(예측률이 낮더라도) 및 파일 저장까지는 반드시 수행하셔야 합니다!

그럼 문제 유형을 보겠습니다.

 

<문제 1>
주어진 타이타닉 생존 여부 데이터를 통해, 주어진 테스트 데이터 속 사람들의 생존 여부를 예측하고, 이를 결과 파일로 저장하시오. (분류 문제)

<풀이>
a. 'fillna()' 또는 'dropna()'를 통해 주어진 데이터의 결측치 제거 (결측치가 없을 수도 있음)
b. ICR 등을 이용해 이상치 데이터 처리 (이상치가 없을 수도 있음)
c. 'get_dummies()' 또는 'LabelEncoder()'를 이용해 범주형 데이터의 수치화
d. 'train_test_split'을 이용해 데이터를 나눈다.
e. 'cross_val_score', 'accuracy_score' 등을 통해 여러 분류 모델의 성능을 확인한다.
f. e에서 가장 성능이 좋은 모델을 전체 데이터를 이용해 다시 학습시킨다.
g. f에서 학습시킨 모델에 주어진 테스트 데이터를 입력하여 결과를 출력한다.
h. g의 결과를 파일로 저장하고, 불러오기 하여 잘 저장되었음을 확인한다.

 

이번 시험의 작업형2 문제는

데이터자격검정 홈페이지의 응시환경 체험(작업형 2 - 체험하기 (goorm.io))에 있는

예시문제보다 훨씬 쉽게 느껴졌습니다.

왜냐하면 데이터 탐색을 했을 때 결측치도 없었고(제가 놓친 것일수도 있지만),

이상치라고 할만한 것도 눈에 띄지 않았기 때문이었습니다.

그리고 결과적으로 결측치, 이상치에 대한 처리 없이 진행한 최종 roc_auc_score가 0.8 정도였기 때문에

결측치, 이상치 처리를 하지 않아도 적당한 점수를 받을 수 있지 않을까 생각합니다.


 

4. 총 정리

 

이렇게 제3회 빅데이터 분석기사 실기 시험 후기를 소개 드려 보았는데요.

마지막으로, 앞으로 시험을 치르실 수험생 분들께 알려드리고 싶은 저의 느낀점은

다음의 3가지만 준비하셔도 합격은 충분하다는 것입니다.

 

첫 번째, 단답형 문제는 더도말고 덜도말고 필기 시험 때 보았던 교재 하나만 여러 번 다시 보고 가자.

 

두 번째, 작업형1은 작업형2를 준비하다보면 자연스레 준비가 된다.

하지만 걱정이 된다면 서점에 가서 빅분기 실기 교재의 작업형1 문제 유형을 눈으로 훑어만 보자.

첨언을 하자면 실기 준비용으로 굳이 교재를 살 필요는 없다고 생각합니다!(제 주머니는 가벼우니까요.)

유형만 보고 이런 문제가 나오는구나~ 감을 얻으시면 됩니다.

큰 틀을 벗어나지 않는 비슷비슷한 문제들이 나오겠구나 라는 느낌이 드실 겁니다.

 

세 번째, 작업형2는 데이터자격검정 홈페이지의 응시환경 체험(작업형 2 - 체험하기 (goorm.io))을 통해

충분히 탬플릿 작성 연습을 하자.

저는 AICampus(빅데이터분석기사 1 페이지 | 딥셀:AI Campus (deepcell.kr))에서 도움을 많이 받았고,

실제로 시험 볼 때도 여기서 알려준 탬플릿을 그대로 적용했습니다. 달달 외웁시다!

다만 2회 시험과 마찬가지로 이번 3회 시험에서도 분류 문제가 나왔으니,

다음 시험을 보시는 분들께서는 회귀 문제도 충분히 대비하셔야 하지 않을까 싶습니다.

(참고로 회귀 문제라도 별 다를 것은 없습니다. 학습 모델로 Classifier가 아닌 Regressor를 사용하면 됩니다.)

 


 

+ 2021-12-31 실기 시험 결과 확인

 

 

결과가 나오자마자 확인을 했는데 다행히 합격을 했습니다. ㅠ

​여러분들도 준비 잘 하셔서 꼭 합격하시길 기원합니다 !!

그럼 제3회 빅데이터분석기사 실기 시험 후기는 이만 마무리하도록 하겠습니다~!