본문 바로가기
IT&게임/빅데이터분석기사(빅분기)

비전공자의 빅데이터분석기사 실기 후기 + 캐글사용방법

by 푸루루 2024. 6. 26.
728x90
반응형

 

빅데이터 분석기사 실기시험이 완료되었다.

 

우선 가채점 했을때는 감점과 내 실수가 없다면 85점으로 무난하게 합격할 것으로 예상된다!

 

 

1. 책/강의/캐글 무엇으로 공부할까?

(Feat.퇴근후딴짓)

 

  • 우선 준비는 퇴근후딴짓의 강의를 참고하였다. 도움이 되었냐고 물어보면 진짜 비전공자라면 그냥 무조건 강의 듣는걸 추천 (광고 아님 진심)
  • 특정 기간 내 구매하면 7만원 내외로 1년간 강의를 수강 할 수 있다
  • 책도 이기적 책을 구매하였지만 참고용으로만 쓰고 별로 보지도 않았다

=> 결론 : 책은 비추천

 

(+) 물론 전공자라면 강의도 별로 필요없고 캐글/데이터마님만 돌리면 되지 않을까 싶다

 

2. 빅분기 비전공자의 준비기간은 ?

 

강의(2주) => 강의+기출 + 캐글 (1주) => 캐글+기출(1주)

 

  • 딱 한달 4주간 공부했다! 하루종일 한것도 아니고 퇴근하고 1-2시간 내외로 강의만 듣다보니, 2주 정도는 퇴근후딴짓 강의만 들었다.
  • 처음에 강의를 들으면 그렇게 크게 와닿지는 않는다 흐름을 이해하고 이런식으로 푸는구나 생각이 들때쯤 기출강의가 이어진다 (문제풀이는 무조건 스스로 풀어봐야한다)
  • 기출강의가 끝날때쯤이면 감이 잡힐듯 막힐듯 한다 그때 캐글or데이터마님을 하나하나 풀어본다

=> 나는 캐글만 풀었다.

 

+) 참고로 본인은 통계학, 빅데이터 전공은 아니지만 컴공출신이라 어느정도 코딩에 대한 감은 조금 있었다

(현재 업무도 개발자는 아님)

 

https://www.datamanim.com/intro.html

 

DataManim — DataManim

next 1.빅데이터 분석기사 실기 (PYTHON)

www.datamanim.com

 

 

 

3. 캐글은 어떻게 사용하는건데 ?

 

 

view more를 누르면 여러가지 유형이 보인다 > 하고싶은 유형과 언어를 선택 (나는 Python)

 

 

 

 

 

 

노트북(NoteBook) > NEW notebook 클릭 (현재 나는 이미작업했어서 edit으로 보임)

 

 

문제를 풀기 시작한다

1) 보통 아래 답이 있으니 아래는 안보고 시작한다

2) 상단에 써있는 데이터불러오기를 고대로하면 데이터가 자동으로 불러와진다

3) 2유형의 경우 우측 output 폴더에 가면 결과물을 다운 받을 수 있다

 

 

 

 

 

2유형에 경우는 컴피티션(대회)로 문제를 풀때도 있다 이때는

> join 컴피티션 클릭 (현재나는 이미 참여한 상태이므로 submit)

> Code에 들어가서 NewNoteBook을 한후 상단 import를 하면 일반적으로 경로가 나오고

> 그 경로를 활용해서 코드를 자면된다

 

 

 

 

다짠 경우 Submission에 들어가 데이터를 올리고, (2유형일때)

Leaderboard에 가면 내 수준과 1등의 스코어를 볼 수 있다

 

4. 빅분기 실기 시험 준비물

- 신분증 말고 없음 , 필기구도 사용 못함 (답 못적어감, 외워두고 빅분기 카페or오픈채팅방 찾아서 가답안 확인)

- 수험표는 필수아님, 문자로 수험번호가 발송됨

- 물과 간식정도 챙길것! 11시30분부터 퇴실가능하다!

 

5. 유형별 TIP 은 ?

 

알다시피 유형별로 패키지명이 헷갈릴 수 있으므로

dir 함수와 help 함수를 쓸 수 있다 => 근데 사실 어느정도 공부하면 쓸일도 없다

 

또 공식사이트에서 제공되는 실습환경으로 문제를 여러번 풀어봐야한다!!!

 

[작업형 1유형]

크게 유형을 벗어나지 않는다. 이상치/결측값/슬라이싱/데이트타임/인코딩/스케일링/상관관계 등 정해진 유형을 반복한다

 

[작업형 2유형]

아직까지는 분류/회귀 문제만 나와서 어렵지 않다.

분류와 회귀문제의 구분은 문제에서 주어진 평가방식을 보고 알 수 있다.

 

<분류 회귀모델 구분 방법>

분류 : f1-score ★/ roc auc★★ / accuarcy /recall / precision

회귀 (E가 있는것들) : RMSE ★★/ MSE / MAE ★/ R2-score

 

나만의 루트를 정해둔다. 필수적으로 해야하는것은 하고, 선택사항은 마음대로 한다

 

1) EDA

  • 데이터의 크기를 확인한다. train.shape /test.shape (제출할때 test.shape의 행의 갯수가 동일해야함)
  • [필수] 결측값이 있는지 확인한다. train.isnull().sum() >>> 있으면 해결 해줘야함 >> 결측값은 지우기보다 채워주는게 더 좋음 => 2유형에서는 결측값이 있는데이터는 잘 안나옴

※ 결측치를 제거하다보면 test 데이터를 drop하게 되는 케이스가 있어서 그러지 않을까 싶음

  • [필수] 범주형(object)가 있는지 확인한다

 

 

2) 전처리

[필수] 범주형 데이터를 어떻게 처리할지 정한다

(컬럼을 drop하는건 비추, 인코딩을한다 > 원핫인코딩/라벨인코딩

단, 이름같은 범주형 컬럼은 드롭한다)

> 시험에서는 unique한 값이 너무 많지 않은 컬럼이 있지않는한 그냥 원핫인코딩으로하는게 낫다

[필수] train에 있는 타겟 데이터는 pop에서 변수에 별도로 뺴준다 (물론 타겟이 아예 별도로 분리된 y_train이 주어지는 경우도 있다)

 

3) 데이터셋 분리 (from sklearn.model_selection import train_test_split)

[선택] 데이터 셋을 분리해서 테스트하는 이유는, 내 모델이 괜찮은건지 판단하기 위해서이므로 필수는 아님 곧 바로 모델링해도 문제 될게 없음

 

4) 모델링 (두개만 알면됨)

[필수] 분류면 Classifier 회귀면 Regressor를 붙여주고 랜덤포레스트만 쓴다 (하나더 알고 싶으면 lightGBM을 쓴다)

단 여기서 분류/회귀 틀리면 0점임

 

4-1)분류일경우

from sklearn.ensemble import RandomForestClassifier

model = RandomForestClassifier()

model.fit(Train, Target) # 학습시킴

pred = model.predict(Test) # 테스트 결과

 

4-2) 회귀인경우

from sklearn.ensemble import RandomForestRegressor

model = RandomForestRegressor()

model.fit(Train, Target) # 학습시킴

pred = model.predict(Test) # 테스트 결과

 

5) 평가

[선택] 데이터 셋을 분리한경우만 평가를 할 수 있음 왜냐면 거기서 평가 데이터를 분류한거기 때문에..

문제에서 주어진 평가방식을 활용해서 분리된 데이터를 평가하면됨

 

6) 제출

[필수] DataFrame으로 만든 후 to_csv를 통해 제출하면 끝이다.

 

[작업3유형]

크게 유형이 많이 있지않으나 카이제곱분석/T검정/분산분석/상관분석/선형회귀모델(ols 활용) 수준으로 알고 있으면된다

 

=> 일반적으로 대부분 전략은 2유형 만점 (40점) > 1유형 부분점수 (20점) > 3유형 한두개 맞기 만 하는것이므로 2유형을 집중으로 잘 해야함 !

 

이러고 물론 반전으로 떨어질 수 있기도 한데 ㅎㅎ 아무튼 지금까지 딴 자격증 중에서는 제일 재밌긴했다 ㅎㅎ

 

이상 후기 끝! 이래놓고 떨어지는건 아니겠지

 
(+) 결국은 합격했다!

728x90

댓글