[번외4] KT AIVLE 3기 ai트랙 - 28회 ADP 실기 합격 후기 및 문제풀이 복기

반응형

0. 지식 베이스

ADP 준비 단톡방에서 기본 베이스를 궁금해하시는 분들이 많아서 간단히 정리해보았습니다.

 

- 문과생으로 대학 입학. 컴공 복수전공, 학부 AI연구생 6개월, 데이터 분석 경진대회 3회 수상 경험 -> 그런데 학사 졸업하자마자 군대 3년 3개월 가는 바람에 전공 지식 까먹음

 

- 전역 이후 사조사 취득하면서 통계감각 끌어올렸고, KT 에이블 스쿨을 들으면서 ML 감각 다시 끌어올림.

 

- 그래서 데분 초심자가 아니기는 하나 많이 까먹은 상태였습니다. 그렇지만 빅분기는 너무 쉬워보여서 바로 ADP에 도전했습니다. 본격적으로 ADP 실기를 대비한 기간은 2달이 약간 안되는 것 같아요.

 

- 정리하면, ADP 28회차 공부를 공식적으로 시작했을 때의 수준 (23년 1월 쯤)

ADP 필기 한 번에 붙는 정도의 ML 지식 + 사조사 2급 내용을 이해할 수 있을 정도의 통계 지식

 

 

1. 합격

결과를 보자마자 매우 놀랐어요... ADP 준비 단톡방만 봐도 많은 분들이 이번에도 떨어졌다고 하는 악명높은 시험. 기출문제들을 보면 난생 처음보는 분석 기법들이 등장하는 시험. (베이지안 회귀?? 사분위 회귀?? 그게 뭐죠...???)

 

내가 이 시험을 1트에 붙었다고??? 뭔가 멍해지면서 약간은 현실적으로 느껴지지 않았습니다.

 

에이블스쿨에서도 adsp, 빅분기를 정말 많이 따시는 것 같던데, 동기님들(+ 이후에 들어올 후배님들) 이왕 할거 (조금??? 더 해서) ADP 도전해보시길 바랄게요.

adp 28회 실기 합격 점수
.75점 커트라인인데... 후기를 찾아보면 75점 턱걸이도 많고 대부분 70점 후반으로 합격하십니다

 

 

 

2. adp 28회 기출문제 분석

문제1.

1-1. 늘 나오는 문제. EDA 제시하기.

 

1-2.

- 문제에서 '차원축소'라고 나와서 처음에는 'PCA 같은 차원축소 알고리즘을 사용하라는 말인가??' 라는 생각을 했습니다. 그렇지만 문제에서 '데이터 품질' 같은 키워드도 언급이 되어서 쓸모 없는 컬럼을 제거하는 것으로 풀이했습니다. 어쨋든 컬럼이 제거되어 차원이 축소되긴 했으니 틀린 풀이는 아닌 것 같아요. 추가적으로 문자로 되어있는 변수들은 원핫인코딩 진행.

 

- '품질' 키워드 때문에 저는 추가적으로 데이터 명세에 맞지 않는 row를 제거했습니다. ADP 준비 단톡에는 row 제거했다고 언급하신 분이 없었습니다. 이 전처리는 어떻게 채점되었을지는 잘 모르겠지만, 어쨌든 전처리 이후 문제들이 잘 해소되었음을 그래프로 다시 한번 제시해주었습니다.

 

1-3. 언더샘플링이랑 오버샘플링 제시했던가?? 자세히는 기억이 안납니다...

 

 

문제2.

RF, ANN, LGBM과 보팅모델 만들어서 성능+소요시간 비교를 해줬습니다. 어떤 모델을 적용할지는 성능과 소요시간을 들어 풀이를 제시했습니다.

 

이 때 한가지 포인트는 캐글이랑 다르게 ADP에서는 성능 자체가 중요하지 않아요. (성능 점수가 엄청 낮더라도 상관이 없다는 말) 괜히 성능 높이려고 문제에서 물어보지도 않은 하이퍼파라미터 튜닝으로 시간을 낭비하지 맙시다!! 저도 그냥 기본모델로 했고, ANN은 빨리 끝나도록 3층 정도만 쌓았습니다.

 

성능으로는 RF, 속도로는 LGBM을 선택. 다만 컴퓨팅 자원이 충분한 경우라면 각 모델의 편향을 보정할 수 있는 소프트보팅모델을 채택하겠다고 썼어요. RG, LGBM 선택 부분만 썼어도 될 것 같은데, 조금이라도 점수를 더 벌 수 있을까 싶어 보팅 모델 채택까지 덧붙여서 쓰고 나왔어요.

 

 

문제3.

3-1 위에서 언급되지 않은 부족한 분석 포인트를 적어주었습니다. 여기서 하이퍼 파라미터 튜닝, train-test set을 나눠서 학습의 일반화 성능 확보하기 등을 언급했습니다. 3가지 포인트를 적었던 것 같은데 하나는 기억이 안나네요... ADP 시험은 최대한 아는 걸 많이 쓰고 오라는 다른 분들의 후기를 명심하고 최대한 다 적어줬습니다. 

 

3-2 분석가로서 모델을 활용하는 환경에 대한 인사이트를 묻는 문제였습니다. 여기서 에이블스쿨에서 배웠던 Permutaion Importance와 SHAP Value를 써먹었습니다. 문제에서 제시된 학교는 상업적인 비즈니스 환경은 아니지만, 어쨋든 학교에도 경영진(교장 등)이 있으니까 그들에게 인싸이트를 제시해주기 위해서 피쳐에 대한 평가 지표를 제시해줘야 한다는 식으로 썼습니다. 총 2가지 포인트를 썼는데 한가지는 기억이 안 나네요..

 

 

문제4.

카플란 모델 (생존분석)

 

 

문제5.

저는 카이제곱검정을 이용해서 풀이를 했는데, 통계 만점자 분에 의하면 맥니마 검정을 이용하는게 맞는 답안이라고 하네요... 자료가 서로 독립이냐 아니냐에 따라 달라진다고 하는데 처음 들어봤습니다. 합격하긴 했지만 통계의 길은 아직 멀고 험한 것 같아요 ㅠㅠ

 

 

문제6.

2개의 표본이 제시되었는데 서로 개수가 다른 독립표본. 아마 샤피로 제시하고, 맨위트니로 풀었던 것 같습니다.

 

 

문제7.

편상관 문제. 예전에 대학 시절에 공부해봤던 개념이었는데, ADP 준비할 때는 대비를 못했던 주제였어요. 보자마자 '아 이거 일반 상관계수로는 틀리게 채점할 것 같은데... 파이썬에서 편상관 어떻게 구하나... 망했군. 안쓰는 것보다는 낫겠지' 라고 생각하며 일반 상관계수로 풀고 나왔습니다.

 

 

 

3. 준비할 때 도움이 되었던 컨텐츠 정리

1. ML

- http://www.yes24.com/Product/Goods/109181647

 

파이썬 한권으로 끝내기 - YES24

한 권으로 데이터분석전문가는 물론 빅데이터분석기사 취득까지 한 번에 할 수 있다. 초보자도 쉽게 코드를 읽을 수 있는 ALL COLOR 구성하였다. 파이썬의 기초부터 심화까지 모두 잡는 핵심요약

www.yes24.com

(시험장에 가지고 간 책)

파이썬으로 adp를 전문적으로 다루는 책이 이 책밖에 없어요... 문제 풀이 전략과 ML, 통계 모두를 아우르고 있어서 괜찮은 책이긴 한데 이 책만으로는 많이 부족합니다. '한권으로 끝내기' 닉값은 못하지만 좋은 책.

(+ 내용추가)

제가 준비할 때와 다르게 개정판이 출판되었다고 하네요. 이왕이면 최근 기출문제가 포함된 개정판을 보시는 것을 추천드립니다.

 

 

- http://www.yes24.com/Product/Goods/108824557

 

파이썬 머신러닝 완벽 가이드 - YES24

자세한 이론 설명과 파이썬 실습을 통해 머신러닝을 완벽하게 배울 수 있다!『파이썬 머신러닝 완벽 가이드』는 이론 위주의 머신러닝 책에서 탈피해, 다양한 실전 예제를 직접 구현해 보면서

www.yes24.com

(시험장에 가지고 간 책 - 그러나 사용하지는 않음)

공룡책은 사랑. 위 책에서 부족했던 점을 아주 많이 채울 수 있는 책. 그래서 공부도 좀 하고 시험장에 가져가긴했는데 펴보지는 않았어요. 제가 따로 준비한 프린트 선에서 충분히 컷할 수 있었습니다.

 

 

- 에이블스쿨 수업 + 캐글 필사

캐글필사와 에이블스쿨 수업 중에서 특히 미프가 많이 도움이 되었습니다. 사실 'EDA 어려운 건 아닌데 뭘 제시해야 하지?' 라는 생각 때문에 시험 2주일 전까지도 EDA를 어떻게 해야 할 지에 대해서 고민이 정말 많았어요. 그런데 미프에서 ppt를 만들기 위해 시각화 자료를 만들면서 '이 정도 만들면 데이터에 대해서 충분히 탐색했음을 어필할 수 있겠다' 라는 생각이 들었습니다. 캐글/데이콘 필사 정말 추천드리고, 에이블러분들은 수업 잘 들으시고 미프 열심히 참여하세요.

 

 

2. 통계

- 사조사 시험

통계에 약한 컴공은 미리 붙고 오면 도움이 될 것 같은 시험. 돈이 조금 아까울 수도 있지만... 나중에 언젠가 써먹을 수도 있고 통계공부 차 취득한 시험입니다. adsp는 정말 아무나 따는 자격증이어서 ADP 합격에 도움이 1도 안되었지만 사조사는 통계 내용들에 익숙해지는 베이스가 되었어요.

 

 

- http://www.yes24.com/Product/Goods/89972967

 

누구나 파이썬 통계분석 - YES24

『누구나 파이썬 통계분석』은 머신러닝, 딥러닝을 위한 기초 데이터분석을 하고 싶어하는 입문자를 위한 책이다.

www.yes24.com

(시험장에 가지고 간 책)

통계 검정 베이스들을 파이썬 코드와 함께 다루는 책입니다. 이 책은 정말 많이 숙지해서 문제를 보자마자 '아 그 기법 이용해서 풀면 되겠네.' 라는 생각이 들어야 해요. 이 노란책이 아니더라도 '통계학', '파이썬' 키워드가 동시에 들어간 책이면 충분합니다.

 

 

- http://www.yes24.com/product/goods/110242564

 

통계학 : 파이썬을 이용한 분석 - YES24

통계학은 데이터를 체계적으로 다루는 학문으로서, 여러 학문 분야에서뿐만 아니라 데이터를 다루는 실제 사회 현장에서도 그 응용범위와 필요성이 날이 갈수록 증가하고 있다. 더욱이 4차 산

www.yes24.com

ADP 준비 단톡에서 자주 언급되던 교재여서 시험 2주 전에 도서관에서 빌려서 풀었습니다. 자기가 약하다고 생각하는 파트만 골라서 풀 수 있어서 아주 만족스러웠어요. 일부 내용만 본 것이기는 하지만 퀄리티가 상당하다는 것은 바로 알 수 있는 수작입니다.

 

 

https://www.youtube.com/channel/UC2bYkgsEdEsY0eshZpps2aQ

곽기영 교수님의 통계강의는 그냥 레전드니까 무조건 보면 됩니다. 시간을 조금 절약하고 싶거나 통계 베이스가 있다면 기초 통계파트는 건너뛰고 필요한 부분을 취사선택해도 됩니다.

 

 

- KOCW 비모수통계학

(시험장에 가지고 간 자료들) 정확히 뭘 다운받았는지는 모르겠는데 해당 키워드를 구글링해서 나온 자료들을 읽어보고 가장 이해가 잘 되는 자료를 출력해서 공부했습니다. 통계학 전공책이 아닌 이상 비모수 통계학까지 다루는 경우는 많이 없어서 KOCW 강의안이 도움이 많이 되었어요. 비모수는 위에서 소개한 책들만으로 절대 커버가 안되기 때문에 KOCW 자료는 정말 무조건 봐야 합니다!!

 

(+ 내용추가)

ADP 준비 톡방에서 KOCW자료가 어떤 자료인지 요청하시는 분들이 조금 있더라구요. 제가 이해하는데 도움이 되었던 자료들만 가볍게 정리해두었으니 참고해주세요!

 

1) http://www.kocw.net/home/cview.do?mty=p&kemId=1004752

12강 분산분석 파트, 13강 비모수적 방법 파트

 

2) http://www.kocw.net/home/cview.do?mty=p&kemId=865635&ar=link_gil

7강 모수검정과 비모수검정 파트

 

3) http://www.kocw.net/home/cview.do?cid=7cc3a7f9daa84276

2강 일표본 위치문제 파트 (부호검정 등)

 

 

4. 팁

- 전처리, 모델링 정도는 레퍼 없이 바로 타이핑할 수 있을 정도여야 합니다. 위에서 언급한 책들도 좋지만 자기만의 코드북을 만들다보면 자연스럽게 타이핑 연습도 됩니다. 무조건 자기만의 코드북을 만들어보길 권해드립니다

 

- 시각화도 외우면 좋긴한데, 저는 잘 안 외워져서 못했습니다. 대신 시각화와 관련된 애들만 모아서 페이지를 만들었습니다. 마이너스 이슈, 한글이슈 등 그래프에 이슈가 발생하면 바로 대응할 수 있도록 구성했어요.

 

- 보통 통계파트에서 통수문제가 나오니 그 이외 ML/통계 문제는 모두 맞추는 것을 목표로 해야 합니다. 따라서 통계파트는 코드를 외우지는 못하더라도 데이터셋을 보면 '아 이렇게 풀어야겠다' 라는 수준은 되어야 합니다. 

 

- 통수 문제를 대비하기 위해서 평소에도 help() 함수 보는 습관 들이기

 

 

 

5. 첫번째 시도에 붙으면서 느낀 ADP 전략

1. 현타

- https://cafe.naver.com/sqlpd?iframe_url_utf8=%2FArticleRead.nhn%253Fclubid%3D21771779%2526page%3D1%2526menuid%3D135%2526boardtype%3DL%2526articleid%3D50814%2526referrerAllArticles%3Dfalse 

 

데이터 전문가 포럼 (빅데이터분석기사... : 네이버 카페

빅데이터분석기사, ADP, ADsP, SQLP, SQLD, DAP, DAsP, 자격증 취득 등 데이터 전문가 커뮤니티입니다.

cafe.naver.com

- 위 링크에 들어가면 28회 adp 실기 시험에서 무려 90점 이상을 받으신 박사분의 후기가 나옵니다... 정말 수많은 후기를 봤지만 90점이 넘는 분은 처음 봤습니다!! 이 분의 후기를 보면서 제가 작성했던 답안을 떠올려보니 같은 ADP 합격자인데도 꽤 수준차이가 날 것이라는 생각이 들면서 약간의 현타가 왔습니다.... ㅠㅠ

 

- 하지만 이런 수준 차이가 있음은 뒤로하고 취업을 위해서 혹은 승진을 위해서 당장은 ADP 취득이 우선이지 않을까요? 그래서 [학사출신 & 3년 공백기 & 현재 백수] 조합이 어떻게 한 번에 합격할 수 있을지를 분석해보았습니다.

 

 

 

2. 전략

- ADP시험에 대해서 정확히 이해하자.

ML파트는 정말 아는 내용을 다 쓰고 나왔습니다. 애초에 이 시험은 캐글이 아니라는 점에 주목해야 합니다. '성능'이 좋은 모델을 설계하는 것이 아니라 '설득력'있는 분석 스토리를 제시하면 합격하는 시험입니다. 분석가로서 그런 기법을 왜 사용했고, 왜 그런 생각을 논리적으로 서술할 수 있다면 충분히 좋은 점수를 주시는 것으로 추측됩니다.

 

 

- 시험환경에 익숙해지자

시험시간 4시간이 생각보다 정말 부족합니다. 문제 풀이 방법 생각, 주피터 노트북 목차 및 마크다운 설계 등 집에서 공부할 때와는 다르게 시간이 정말 빠르게 소요되거든요. 여러 합격자분들의 후기에서 시간 부족하다는 말을 많이 봤기 때문에, 저는 시험 환경을 미리 체험해보려는 연습을 했습니다. 구체적으로는 아래와 같습니다.

 

ADP용으로 파이썬 가상환경을 구성하고 자주 사용하는 라이브러리(sklearn, scipy 등) 들의 버전을 진흥원에서 제공하는 버전으로 전부 맞췄습니다. 이후 최신버전으로 업그레이드했을 때, 충돌이 나는지 테스트해보았어요. pip list --format=freeze > ./requirements.txt 명령어를 사용하여 여러번 버전 테스트를 진행했었고, 결국 시험장에서는 라이브러리 버전업을 시도하지 않기로 마음먹었습니다.

 

또한 저는 따로 워드에 작성하지 않고 마크다운을 이용하여 답안을 제출했습니다. 만약 워드를 사용하지 않을 생각이시라면, 반드시 집에서도 기출문제를 풀어보고 마크다운을 답안으로 제출하는 연습을 해보시길 바랍니다. 연습 안해보고 '주피터 노트북 PDF 로 출력해주는 옵션 있던데 그걸로 하지' 라는 생각으로 시험장에 가서 처음 해보면 과정도 복잡하고 잘 안되서 멘붕... 그래서 HTML로 출력하는 걸 추천드립니다. 그런데 문제는 HTML로 출력하면 코드가 너무 긴 경우 출력물이 잘리는 현상이 발생합니다! 집에서 HTML로 미리 출력해보지 않았다면 코드가 짤린채로 답안지를 제출했을 것이고, 좋은 답안지 임에도 불구하고 합격은 어려울지도 몰라요. 따라서 이에 대한 대처 방안을 개인별로 고민해봐야 합니다. 저는 \ (파이썬 코드로는 원표시) 를 이용하여 코드를 적절히 다음칸으로 분할해주었습니다.

* 참고로 코드셀이 아닌 텍스트셀에서는 짤리지 않습니다. 

adp 28회 실기 준비 코드북의 일부
이런 식으로 HTML -> PDF 출력 시 긴 코드는 짤리게 됩니다!!!!

 

 

- 부분점수 획득하기

박사분의 후기와 비교해보면 저는 통계파트에서 15점 정도가 감점되었어야 합니다. 그런데 실제 점수는 36.8인 걸 보면 통계파트에서도 부분 점수를 미약하게나마 부여해주시는 것 같습니다. 모르는 기법을 사용하더라도 가설 설정 반드시 제시하고 나오세요. 사용해야 하는 분석기법은 몰라도 귀무가설, 대립가설은 제시하기 쉬우니까 최대한 점수를 끌어 모아봅시다.

 

 

- 기출문제 풀어보기

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

 

DataManim — DataManim

next 판다스 연습 튜토리얼

www.datamanim.com

ADP 준비 단톡 운영자분이 기출을 모아 복원해놓은 아카이브입니다. 기존 경향이 어떤지 파악하고 연습해볼 수 있으니 적극 활용하세요. (최근 운영자분이 서버가 터져서 개인 사비를 털었다고 하네요. 기출문제 보신 다음에 광고 눌러주시면 큰 힘이 되실 것 같아요!!)

 

 

다만 풀이가 존재하지는 않아서 여러 블로그를 뒤지면서 풀이를 찾아보는 것도 좋은 공부가 됩니다. 실제로 저는 여러 블로그를 뒤져가며 20회~27회의 모든 합격수기를 모으고 기출의 코드북을 제작했습니다. 그러면서 실력도 늘고 통수문제를 보면 어떻게 대처할 지 이미지 트레이닝도 할 수 있었습니다.. 또 ADP 준비 단톡을 들어가는 것도 추천드립니다. 쓸모없는 얘기들도 많지만 (...) 소중한 정보를 득템할 때도 있습니다. ADP 합격자분들도 많아서 모르는 문제 올리면 풀어주시기도 합니다.

 

 

 

- 멘탈

위의 전략들에도 불구하고 통수문제가 빡세면 붙기는 어려운 시험입니다. 운빨도 어느정도 영향이 있어서 자기에게 맞는 경향성을 보일 때까지 응시하는 것도 좋을 것 같습니다. (실제로 저도 시험 치고 나오면서 '망했네... 29회 6월에 있던데 천천히 다시 준비하자' 이런 생각이었죠...) 어떤 목적으로 ADP를 응시하는지, 꼭 필요한지 검토해보시고 본인의 니즈가 확실하다면 계속 도전해보세요. 여러분들의 실력이 부족해서가 아니라 이번 시험과 fit이 안 맞았던거니까요!!