[빅데이터분석기사 실기] #3. ADP 기출문제 모음 공유
빅데이터 분석기사 시험이 첫회이다 보니(정확히는 2회차이긴하지만 다들 알다시피 1회차가 취소되어 ,,,) 무분별한 정보가 난무하고, 어떤 문제들이 나올지 감이 잘 안잡혔다.
kdata에서 예상문제를 제공해서 그나마 좀 낫지만, 그래도 기출문제가 쌓인 시험보다는 준비하기가 훨씬 어려운 상황이다.
그래서 "ADP기출문제"를 통해 조금이나마 문제양상을 예측해보고자 한다!
ADP는 모두 아시다시피 ADsP의 상위 레벨로, 합격률 1%대의 극악의 난이도를 자랑하는 빅데이터군 대표 자격증이다 ^^
실제로 이 자격증은 기업에서도 매우 선호하는것으로 알고 있다.
쨌든, 폭풍 서치를 통해 ADP회차별 기출문제를 좀좀따리로 모아봤고(살짝 지저분ㅜ), 모으는 과정에서도 조금의 인사이트를 찾을 수 있었다.
일단 요약하자면, ADP는 크게
1) 데이터전처리
2) 통계분석
3) 텍스트마이닝
4) 데이터마이닝
5) 시계열분석
카테고리에서 출제된다고 볼 수 있다.
사실 범위라 할것도 없이, 빅데이터의 거의 전부^^;
그래도 딥러닝 부분은 제외되고, 이는 빅분기에서도 비슷하지 않을까 싶다.
빅분기에서는 단답형, 제1유형은 사실 좀 뻔하고(?) 난이도가 비교적 평이한 문제들이 나올것 같아서
관건은 제2유형에서 어떤 문제가 나올것이냐 인데,
빅분기 오카방, 데이터전문가포럼 카페 등 많은 빅분기 응시자들이 예상문제 등을 보고 유추해볼때
텍스트분석, 시계열분석 보다는 데이터마이닝에서 나올것 같다는 의견이 많다.
즉, 크롤링이나 ARIMA모델을 공부하기보다는 데이터마이닝 알고리즘 모델 정확도를 높게 만드는 것을 연습하는게 더 바람직할것 같다!
GO 그럼 시작 GO
* 기출문제별 모든 출처가 표기되어있으며, 문제시 글 내리겠습니다.
------------------------------------------------------------------------------------------------------------------------------------------------
ADP 실기 제1회
고객세분화 (45점)
가. 세분화 변수의 생성 및 선정
– 요약 변수 및 파생 변수의 생성
예) 카테고리별 점유율, 주 인터넷 사용 시간대, 인터넷 사용 일수, 검색 패턴, 쇼핑단계별 이용 패턴,
주 쇼핑 시간대, 주 관심 상품 카테고리, 구매 상품 가격대
– EDA, 상관분석, Decision Tree 등을 통하여 적절한 세분화 변수 선정
나. <군집 분석> 및 최적 세분화 집단 생성
– 적절한 군집 분석 기법 제시 및 분석 수행
– 세분화 집단의 최적 개수 결정 및 기준 설명
다. 각 세분화 집단의 특성 분석, 정의 및 마케팅 인사이트
– 각 세분화 집단에 대한 특성 분석 및 시각화
– 특성 분석 결과를 기반으로 각 세분화 집단에 대한 마케팅 관점에서의 정의
– 세분화 분석 결과를 토대로 타당한 마케팅 인사이트 제시
예측 (45점)
가. 세분화 집단별 예측 모형 (구매,이탈,등급 변동,우수 고객 예측 등) 개발을 위한 <종속 변수> 정의 및 <독립 변수> 선정
– 해당 예측을 위한 타당한 종속 변수의 정의
– 해당 예측을 위한 독립 변수의 생성 및 선정
요약 변수 및 파생 변수의 생성, EDA/상관분석/Decision Tree 등을 통한 <적절한 변수> 선정
나. 세분화 집단별 예측 모형 개발
– 종속 및 독립 변수의 성격에 따른 적절한 모델링 기법 제시
– 샘플링, 파티션 등 모델링 데이터 준비 및 모형 생성
– 적절한 평가 기준에 의한 모델 평가 및 최종 모델의 선택
다. 예측 모형 분석 및 마케팅 인사이트 제시
– 세분화 집단별 예측 모형의 특성 분석 및 시각화
– 세분화 집단간 예측 모형의 비교 분석
– 예측 모형 분석 결과를 토대로 적절한 마케팅 인사이트 제시
텍스트 마이닝 (10점)
가. 포털 사이트 검색 기록을 활용한 토픽 분석
- 한 고객이 일정 기간 동한 포털 사이트에서 입력한 전체 검색 리스트를 하나의 문서(Document)로 간주
- 위의 문서에 기반을 두어 고객의 관심 주제를 파악하기 위한 토픽 분석을 수행
나. 토픽 분석 결과의 해석 및 마케팅에서의 활용 방안 제시
– 도출된 토픽 리스트의 의미를 마케팅 관점에서 해석
– 분석 결과를 고객 세분화 및 예측 등에서 활용할 수 있는 구체적인 방안 제시
[출처] 제이콥의 오픈소스 비즈니스 컨설팅
http://www.jopenbusiness.com/wordpress/?p=338
============================================================================
ADP 실기 제2회
문제1. data munging
1) data : user_id, usage, 방문 category, 접속유지시간
- usage = userId 당 총 접속시간.
- wd_월요일 ~ wd_일요일 : user당 요일별 총 접속시간/user당 총 접속시간
- 방문 category : 총 22개 category중 user가 방문한 카테고리의 비율.
- 유저 접속일수 : user가 방문한 날짜의 수
2) 문제
user_id, usage, wd_월요일, …, wd_일요일, 방문카테고리 비율, 유저 접속일수의 순서로 데이터를 출력. 단, wd_월요일 ~ 방문 카테고리 비율은 소수점 3자리로 맞추어서 출력하라
(aggregate, plyr, reshape 패키지를 연계해서 잘 다루어야 풀 수 있는 문제)
문제2. data mining
1)data : custid, churn(해지 또는 해약), product_Id
custid, churn, product_001,,,,
2) 문제
- 3가지 이상의 churn 예측모델링을 하고, 각각의 성능을 비교하여, 최적의 모델을 선정하고, 이를 시각화하시오.
(의사결정나무, svm, logistic regression, randomForest등을 예시)
- 문제 : 고객들은 churn고객과 아닌 고객으로 구분한 후, 각각을 대상으로 <연관분석>을 실시하고, 그 결과를 가지고 상기 고객군의 특성을 비교하라.
문제 3. 통계분석
1)data
· 일일평균 교통량, 도시인구, 도로의 차선수
· 도로의 종류, 트럭의 종류, 도시/농촌여부
2) 문제
- 주어진 변수를 사용하여 <변수 선택과정>을 포함하여, 예측 모델을 만들어라.
- 도출된 모델의 <잔차 분석>을 통해 교정을 해서 최적의 모델을 찾고, 최종 모델의 결과로 나온 각 파라미터의 의미를 해석하시오.
문제 4. 텍스트 마이닝
1) data
· 제주관광명소 txt 파일
· 블로그 문서 txt 파일
2) 문제
- 데이터로딩에 문제가 있으면 적절한 형태로 데이터를 조정하고, TITLE과 CONTENT에 “제주”나 “관광”이 들어가 문서를 찾으시오.
-문서에서 명사를 추출하고, 추출된 단어에서 제주관광명소가 아닌 곳을 필터링하시오.
- 단어가 적용된 문서를 기준으로 빈발단어 10개를 찾고, 이를 그래프로 만드시오.
[출처]장운호님
===========================================================================
ADP 실기 제3회
멍잉, 데이터마이닝, 텍스트마이닝, 통계분석, 인사이트 도출
1) 멍잉
멍잉 부분에선 고객 자료주고 고객별 총 구매액 총 거래빈도 최근 구매일자 등을 파생변수로 만들고 0-1로 표준화하여 스코어를 구하고 정렬해서 상위 20명 나타내기
2) 데이터마이닝
로또 번호를 가지고 연관분석 실시
3) 텍스트마이닝
뉴스 자료 에서 뉴스 키워드 분석
주간 이슈, 이슈별 빈도 등등
4) 통계분석
당뇨병 환자 정보 주고 나이와 성별이 사망과 관계 있는지 비율과 그래프 이용해 분석하고 상호작용 판단하는거와 로지스틱 모형을 범주형과 연속형 나이로 각각 만들고 어느 모형이 나은지 그 후에 상호작용항 적용하여 교호작용 판단하고 최종모형 결정 후 최종 파라미터 해석
5) 인사이트 도출
신규 스타일 컬러가 주어졌을 때 어떻게 유사 클래스 정하는지 ?
군집분석이 어떻게 그룹 지정하는지 ?
실제와 예측 트랜드 유사도 확인 방법과 패턴 불일치 시 고려할 외부요인 등
신규만 판매 늘고 유사 클래스는 감소할 경우 전략 등을 적기
[출처] ADP 3회 실기 후기 (데이터 분석 활용 까페) |작성자 해현용님
http://cafe.naver.com/datageeks/2142
============================================================================
[출처] ADP]ADP 실기 기출 문제 정리 (제1회,2회,3회)|작성자 수제비
ADP 실기 제6회
ADP실기 준비를 하면서 시험에 대한 정보가 너무 부족함을 느꼈습니다.
저 처럼 ADP실기를 혼자 준비하면서 정보에 메마른 분들에게 그 분들은 저와같은 시행착오를 겪지 않도록 최대한 자세한 후기를 남기고 싶었습니다.
느낀 점이 많았던 시험이었습니다.
공부를 열심히 했다고 생각했지만 여전히 제 자신이 많이 부족함을 느낍니다.
ADP 실기 시험이 가지는 어쩔 수 없는 한계도 느꼈습니다.
다음 시험에 대비하여 두 줄로 요약하면
1) R을 가지고 많이 놀아야 겠다
2) 통계에 대한 기초를 좀 더 닦아야 겠다는 생각이 들었습니다.
제6회 ADP 실기시험 후기를 시작합니다.
1. 시험일시 : 2016.04.30(토) 13시~17시 (4시간) 제6 회 ADP 실기
2. 학습기간 : 2016.2.29 ~ 4.29 (60일)
3. 실기 공부에 사용한 교재 및 학습 회수 (필기 공부 포함)
책 이름 | 6회 필기 | 6회 실기 | 합계 | 비고 |
R과 함께하는 통계학의 이해(PDF) | 1 | 1 | ||
공학응용통계 (통계 기초용) | 1 | 1 | ||
빅데이터 분석 도구 R 프로그래밍 | 0 | 1 | 1 | |
R을 이용한 데이터분석&처리 실무 | 1 | 2 | 3 | |
데이터분석 전문가 가이드(ADP기본서) | 2.2 | 1 | 3.2 | |
비즈니스를 위한 데이터과학 | 1 | 1 | ||
R을 활용한 기계학습 | 1 | 1 | 2 | |
R을 이용한 다변량분석(방통대교재) | 0.5 | 1 | 1.5 | |
데이터마이닝(방통대, 300p) | 1 | 1 | ||
빅데이터의 이해(방통대, 173~273) | 1 | 1 | ||
The R Book(2nd, 1100p) | 0.1 | 1.3 | 1.4 | |
데이터분석사례연구(110~190) | 1 | 1 | ||
보건정보테이터분석(pp20~210) | 1 | 1 | ||
비즈니스활용사례로배우는데이터 분석:R(280p) | 1.2 | 1.2 | ||
빅데이터 활용서1(~100p) | 0.3 | 0.3 | 앞 부분만 봄 | |
예측분석모델링 실무 기법 (400p) | 0.2 | 0.2 | 앞 부분만 봄 | |
패턴인식(오일석,1~50p) | 0.1 | 0.1 | 앞 부분만 봄 |
- 셀안의 회수는 책 읽은 회수로 1미만 숫자는 일부 참조를 의미함
*추천할 만한 책*
- R을이용한데이터분석&처리실무(서민구) : ADP기본서보다 더 기본서 같은 책(강추!!)
- The R Book : 여러가지 다양한 통계분석 기법에 대한 심도있는 분석 방법(과대산포, 교호작용,모델간 비교 등을 익힐 수 있음. 단, ADP 실기 시험의 시험범위에 비해 너무 불필요한 내용을 많이 담고 있음. 한 번 읽는데 약 20일 정도 걸림. 일단 한번 읽어보고 기출문제를 통해 필요한 부분만 다시 읽는 게 좋을 듯)
- 보건정보테이터분석(방통대교재) : 일원/이원분산분석 사례 및 중요한 통계분석 기법을 공부하기에 좋은 책임.데이터 마이닝에 대한 내용은 기대하면 안됨. 그러나 여러가지 데이터 상황에 따라 R에서 통계분석을 어떻게 하는지 정리가 잘되어 있음.(실력이 모자라서 제대로 이해를 못했을 뿐. 책자체는 좋은 책인 듯)
- 비즈니스활용사례로배우는데이터 분석 : R과 분석기법을 실무에서 어떻게 사용하는지 간접체험을 해볼수 있도록 시나리오 방식으로 잘 정리된 책(강추!)
- R을 활용한 다변량분석(방통대 교재) : PCA, 다차원분석 등에 대해 쉽고 자세히 설명됨
- R을 활용한 기계학습 : 각종 기계학습 방법에 대한 설명과 R소스가 체계적으로 잘 정리됨(추천!)
- R과 함께하는 통계학의 이해(PDF) : 통계학 기초를 닦기위해 가장 처음에 읽어야 할 책
*비추천 : ADP실기에 어울리지 않거나 책 내용이 좋지 않은 책*
- 예측분석모델링 실무 기법 : R소스가 제대로된 설명없이 각 챕터 뒤에 뭉텅이로 들어가 있어서 공부하기 나쁨.시간낭비.
- 패턴인식(오일석) : 책 자체는 좋은 책임.그러나 알고리즘에 대해 필요 이상으로 깊은 설명인 듯. ADP시험에서는 알고리즘이 내부적으로 대략 어떤 식으로 동작하는지 정도만 알면 됨. 알고리즘을 직접 구현할 정도의 깊이는 필요없음.
- 데이터분석사례연구 : R소스가 없어서 실무적인 부분을 공부하기엔 부족함
- 금융시계열분석(제2판, 김명직) : ADP시험에서 요구되는 수준을 넘어섬. ADP실기시험에는 시계열분석이 나온 적이 없음.
4. 실기 대비 학습 일정(평일 4~5시간, 주말 8~9시간)
02.29~03.04 데이터마이닝(방통대, 300p)
03.05~03.06 빅데이터의 이해(방통대, 173~273)
03.06~03.21 The R Book(2nd, 1100p)
03.22~03.25 다변량분석(방통대, 35~265)
03.25~03.29 R을이용한데이터분석&처리실무
03.30~03.31 데이터분석사례연구(110~190)
04.01~04.01 패턴인식(오일석,1~50p)
04.02~04.05 R을활용한기계학습(450p)
04.06~04.08 보건정보테이터분석(pp20~210)
04.09~04.14 예측분석모델링 실무 기법 (400p)
04.15~04.17 비즈니스활용사례로배우는데이터 분석:R(280p)
04.18~04.22 R을이용한데이터분석&처리실무(요약 노트 만들기 병행)
04.23~04.23 빅데이터 활용서1(~100p)
04.23~04.24 ADP기본서 관련부분 요약 정리
04.25~04.26 The R Book 복습(통계분석위주)
04.27~04.28 기출문제풀어보기(R스크립트 정리. 특히 텍스트 마이닝)
04.29~04.29 정리노트 복습
- 거의 쉬는 날 없이 매일 50~150페이지 정도 학습함.
5. 본인소개는 생략(다른 후기 참조)
6. 시험장 분위기(위치, 응시자수, 배포용품 등)
- 위치 : 종로타워빌딩 19층(종각역 또는 을지로입구역 3번출구) 한국데이터베이스 진흥원
--> (주의) 2016년 7월 8일자로 기관의 위치가 이전 되었습니다.
서울특별시 중구 세종대로9길 42 부영빌딩 7층 한국데이터진흥원 (시청역 9번 출구 100미터)
- 고사실 배치: 2개 교실
- 응시자수 : 총 26명.(1고사장 14명, 2고사장 12명. 저는 2고사장 가장 마지막 번호)
- 책상배치 : 1인 2책상 사용(한쪽 책상에만 PC 있음)
1고사장은 폭이 좁고 길이가 긴 형태(3열 5줄 14명)
2고사장은 폭이 넓고 길이가 짧은 형태(4열 3줄 12명)
- 응시자 년령대 : 30대~50대로 다양함
- 배포용품 : 생수, 플러스펜 검정/청색 각1개, 문제지1본, 확인서 1장, ADP기본서.
(과자는 없음. 필요시 직접 가져와야함)
- 문제지 : A4용지 10페이지 정도로 스테이플러로 가운데 부분 고정됨.
문제지 겉면에 이름과 수험번호를 적고 감독관의 확인도장을 받은후 퇴실시 반납
- 확인서 : 자신이 작성한 보고서의 총페이지수와 이름, 수험번호를 적고 감독관의 확인도장을 받은 후 퇴실 시 제츨
- 제공된 ADP기본서는 당연히 반납하고 나옵니다.
- 화장실 : 손들고 다녀올 수 있음.(비데 있음)
- PC환경 : 24인치이상 와이드 모니터. Windows 7 64bit 8GB. 인터넷 안됨.
- 설치된 프로그램 : 엑셀, MS워드, HWP, R, R Studio(Edit플러스 없었음)
- PC 확인 가능 시점 : 시험시작 5분전부터 가능(로그인비밀번호를 가르쳐주지 않고 감독관이 일일이 로그인을 해줌)
- R버전 : 시험일 현재 기준 최신 버전(R3.2.5)이 설치되어 있었으나 주최측의 실수(?)로 모든 패키지가 설치되어 있지 않아서 R3.1.3버전을 R스튜디오에 연결하여 시험을 봄.
(R버전은 R Studio Tools>Global Option>R Version에서 변경 가능)
- 데이터 파일의 개수 및 크기 : sales.csv, risk_proj.txt, locations.txt 10KB미만, blog.txt 약 6메가
7. 오픈북에 따른 교재와 유인물의 제한은?
- 실기 시험은 오픈북입니다.
- 교재와 유인물을 가져와서 제한없이 마음대로 볼 수 있습니다.
- 단, 주최측은 문제 유출방지를 위해 원칙적으로 자신이 가져온 책과 유인물은 되가져갈 수 없다고 말합니다.
- 하지만 경험상 책은 물론 작은 종이쪼가리 하나까지 다시 배송해달라고 요청하면 모두 집으로 배송해 줍니다.
- 즉, 필요한 책은 다 가져올 수 있습니다. 하지만 책이 많다고 시험 잘보는게 아닙니다. 책에 있는 자료 찾다가 시간 다 써버리기 때문입니다. 그래도 꼭 필요한 책은 가져와야 겠죠. 대신 견출지 같은걸 구체적으로 잘 붙여서 필요한 내용을 바로 찾을수 있게 준비해야 합니다.
8. 보고서 작성 및 답안제출요령
- OMR 같은 거 작성하지 않습니다.(컴퓨터용 싸인펜 전혀 필요없음)
- 자신이 직접 MS Word나 HWP를 이용하여 보고서를 작성합니다
- 답안 보고서 형식은 자유입니다
- 보고서 내에 스크립트와 스크립트 실행 결과 및 그래프 이미지를 적절히 넣으면 됩니다.
- 답안은 작성한 보고서를 PDF로 변환하여 제출합니다.
제출한다기 보다는 PDF파일을 바탕화면에 두고 PC를 켜둔 상태로 나오면 됩니다.
- PDF변환은 인쇄미리보기에서 <프린터>를 <Hancom PDF>로 선택 후 인쇄하면 됩니다.
- PDF파일명에는 채점자가 찾기 쉽도록 수험번호와 이름을 넣으면 될겁니다.
(예: ADP답안보고서_0060001_홍길동.pdf)
9. 제6회 ADP 실기 기출 문제 복기
- 이쯤에서 이번에 출제된 문제를 보면서 이야기 하는게 좋을 것 같아서 기억나는 문제를 정리해보았습니다.
- 크게 데이터전처리/데이터마이닝, 통계분석, 텍스트마이닝 3문제로 구성됨
- 각 문제는 3~~4개의 서브 문제가 주어짐.
- 좀 더 구체적으로 적으면 아래 처럼 총11개의 서브 문제로 구성됨.
1-(가),(나),(다),(라)
2-(가),(나),(다)
3-(가),(나),(다),(라)
- 각 문제별 배점은 얼마인지 표시되어 있지 않음.
문제1. 데이터 전처리 및 데이터 마이닝(R로 QF(?) 알고리듬을 직접 구현하여 단계별로 만들어 보는 문제) - 데이터 sales.csv 5천건 cust_id,prod_id,amt 1,prod01,100 1,prod02,200 11,prod02,300 21,prod03,100 ... (가) sales.csv를 읽어서 cust_id 및 prod_id별로 amt가 0보다 크면 1, 아니면 0으로 아래 처럼 만들 것 cust_id prod01 prod02 prod03 prod04 prod05 prod06 ... 1 1 0 1 1 0 0 11 0 1 0 0 0 0 21 0 0 1 1 1 0 31 1 1 0 1 1 1 ... (나) 위의 결과를 이용하여 cust_id 별로 상호 인접정도를 파악하기위해 cust_id별로 피어슨상관계수 행열을 아래와 같은 모양으로 만들 것 1 11 21 31... 1 1.00 0.72 0.61 0.83 11 0.72 1.00 0.75 0.88 21 0.61 0.75 1.00 0.93 31 0.83 0.88 0.93 1.00 ... - (가)의 결과를 그냥 cor함수에 넣으면 오류남 (다) 특정 user의 유사도가 높은 15 user 구해서 다음 형태로 만들기? (행과 열이름은 cust_id였고 각 행렬의 값은 같은 상품을 구매한 amt 였던 것으로 추정됨) 1 11 21 31... 1 1200 100 200 400 11 100 2300 500 900 21 200 500 1500 800 31 400 900 800 1000 ... (라) 특정 user 당 5개씩 추천 아이템 생성하기? (잘 기억 안남) prod01,prod03 ,prod06.... 2. 통계분석 - 데이터 : risk_proj.txt (성별,인종별,나이,활동성,risk) (가) 성별에 따라 risk가 차이가 있는지 분석할 것 나이등 다른 변수와 교호작용 있는지 알아볼 것(가정사항등 정의) (나) 인종별 risk가 차이가 있는지 분석 나이등 다른 변수와 교호작용 있는지 알아볼 것(가정사항등 정의) (다) 인종및 성별에 따라 risk가 차이가 있는지 분석. 교호착용 분석 3. 텍스트 마이닝 - 데이터 : location.txt (UTF-8, 헤더 없음) 가평,ncn 가야,ncn 남이섬,ncn .... - 데이터 : blog.txt ( TAB문자로 구분됨) DATE TITLE CONTENT 20150101 제목 봄관련 내용.... .... (가) 자료읽기 (ㄱ) location.txt를 읽어서 사용자사전에 등록하기 (ㄴ) blog.txt를 다음 형식으로 읽을 것 DATE : numeric TITLE : character CONTENT : character (나) blog.txt에서 봄여행,벚꽃축제,봄나들이 등 봄과 관련된 문서만 추출하기 (가)에서 읽은 사용자 사전에 들어있는 지명이 들어있는 문서만 추출 (다) 위에서 추출된 문서에 대해 명사추출 및 출현 빈도 10위 추출 (라) 봄과 관련된 지명 출현 빈도 10위까지 추출하여 시각화 |
10. 기존 기출문제 분석
- 일단 제1회,2회,3회 기출문제는 제 블로그 아래에 하나로 정리해두었습니다.
http://blog.naver.com/sujebee/220694267110
4,5회 기출문제는 아무리 검색을 해봐도 찾을 수가 없었습니다.
- 먼저 기존 기출문제들을 보고 오시면 출제 경향에 대한 감을 잡을 수 있습니다.
- 1회 시험은 아직 시험이 현재와 같은 틀을 갖추기 이전에 출제된 것이라서 지금의 경향과 많은 차이가 있습니다.
1회 시험은 그냥 이런 문제도 있었구나 수준으로만 보면 됩니다.
- 기존 출제 영역 : 데이터전처리, 데이터마이닝, 통계분석, 텍스트 마이닝
1) 데이터 전처리(멍잉)
- R 스크립트 작성 능력
- ddply, aggregate, merge, melt/cast, sqldf 등을 이용한 처리
- NA 결측치(imputation),이상치 처리.
2) 데이터 마이닝 : 분류, 연관, 군집분석 수준 정도만 출제됨
- 분류예측 : 해지여부 예측
- 연관 : 로또번호분석
- 군집 : 색상 스타일별 군집. 최적 k값 찾기
- 변수 선택 능력 : nearZeroVar, findCorrelation, step(), PCA(princomp, prcomp, biplot)
3) 통계 분석 능력 : 주로 분산분석(ANOVA),로지스틱분석 에서 출제됨
- 교호작용, 잔차분석, 시각화 능력
- 일원/이원분산분석 : aov(), 결측치, 이상치 고려
4) 텍스트 마이닝 : 주로 KoNLP를 이용한 빈도 분석
- 제가 위에 나열한 책에서 보시는 것 처럼 공부는 넓게 했지만 실제 시험에 출제되는 영역은 매우 한정적입니다.
- 그리고 단순히 함수 몇번 호출하면 답이 나오는 정형화된 기계학습/데이터 마이닝 기법들은 잘 출제되지 않는 것으로 보입니다. 수험생의 실력을 제대로 평가하기 어렵기 때문입니다.
- 그래서 이번 6회 시험에서는 직접 R로 알고리즘을 작성할 능력이 있는지 평가하는 문제가 1번문제로 출제되었습니다. 바람직한 출제 방향이라고 생각됩니다.
- 참고로 다음 영역은 여러가지 이유로 출제되기 힘든 것으로 보입니다(개인의견)
.트위터,페이스북 SNS 분석 : 시험장에서는 인터넷이 안되므로 출제 불가능
.생존분석 : 불필요하게 어려운 내용임.
.시뮬레이선, 최적화 : 단순히 수식 수립 능력을 평가하기엔 뭔가 좀 심심한 영역
.심화된 통계 분석 기법들(혼합모형(lme/lmer), 비선형 회귀 분석, 일반화 가법모형(GAM),음이항 분포 등) : ADP는 고난도 통계 분석 능력을 평가하려는 시험이 아니기 때문
.D3, shiny 등의 시각화 문제
.신경망 분석 : 알파고 때문에 출제가 될 수도 있었지만, nnet()함수만 호출하면 알아서 처리되는 방식이라 수험생의 실력을 평가하기엔 변별력 부족.
.기타 다른 기계학습 기법들 : 단순히 잘 알려진 패키지의 함수만 호출하면 알아서 결과가 나오는 방식의 기법들은 수험생의 실력을 평가하기엔 변별력 부족.
. SNS분석 : 스크립트 코딩량이 많아서 제한된 시간에 평가하기엔 부적합
11. 요약 프린트물 작성 전략
- 일단 저는 책상위에 꺼내놓은 책은 못가져오는 줄 알았습니다.
그래서 책이 없이도 시험을 볼 수 있도록 준비 하려고 마지막 3주간은 책공부와 요약자료 작성을 병행하였습니다. 책을 읽으면서 중요하거나 까먹기 쉬운 스크립트를 책별로 정리하였습니다. 결과적으로 아래와 같이 약 110 페이지의 요약 자료를 가져갔습니다.
(요약자료 달라는 요청은 사양합니다. 요약자료 작성 행위 자체가 공부의 과정입니다.)
.서민구 책 요약 :55페이지
.ADP기본서 요약 : 8페이지(주로 어떤 함수가 기본서의 어디에 있는지 인덱스형태로 작성)
.R을 활용한 기계학습 책요약 : 22페이지
.KoNLP를 이용한 텍스트 마이닝 부분 인터넷 검색으로 정리 : 8페이지
.기타 여러 책들 정리 : 총 20페이지
- 각 요약자료에는 견출지를 붙여서 필요한 부분을 쉽게 찾을 수 있도록 하였습니다.
- 그런데 여기서 중요한 사실이 있습니다.
책과 프린트 물을 많이 가져간다고 해서 꼭 좋은 것만은 아니었습니다.
실제 시험에서는 함수 사용법을 알기위해 프린트물을 뒤적거리다가 시간이 다 지나가 버리는 경험을 했습니다.
책과 프린트물을 뒤적거리는 시간이 길다는 것은 공부가 덜 되어 있다는 반증입니다.
- 위의 기출문제를 보셔서 아시겠지만 실제 시험에서는 aov()등을 이용한 분산분석과 KoNLP를 이용한 한글 텍스트 마이닝 문제가 전체의 60%이상을 차지합니다.
- 그런데 서민구 책은 이런 부분에 대한 내용이 없습니다. ADP기본서에도 잘 나오지 않는 내용입니다. (참고로 분산분석은 방통대 교재인 보건정보데이터분석이나 The R Book를 봐야 합니다. KoNLP는 인터넷 검색하면 잘 나옵니다.)
- 출제가 예상되는 각 부분에 대한 책들을 모두 가져올 수도 있겠지만 책뒤지다가 시간 다 갈지도 모릅니다.
- 결국 책과 프린트물을 외울 정도로 여러번 봐서 단시간에 필요한 부분을 찾을수 있을 정도로 공부를 하거나, 출제경향을 미리 파악하고 자신이 미리 요약 정리해 왔어야 합니다.
- 책을 가져온다면 어떤 책 몇 페이지에 어떤 함수가 있는지 <인덱스>를 아주 세세하게 작성해와야 합니다.
예를들어 aov() 분산분석 후 TukeyHSD()를 이용하여 추가 분석을 하고 싶다면 TukeyHSD()가 어떤책 몇 페이지 또는 어떤 프린트물 몇 페이지에 나오는지 인덱스가 잘 정리되어 있어야 합니다.
- 또 한가지 중요한 것은 여기저기 책별로 흩어져 있는 내용을 주제별로 하나로 통합하여 묶어내는 과정이 필요할 것 같습니다.(저는 시간 부족으로 이 작업을 하지 못하였습니다.)
- 3공 바인더 같은 형태로 주제별로 분류해 놓고 필요한 부분을 끼워 놓는 방식도 좋을 것 같습니다.
- 물론 가장 좋은 방법은 책없이도 혼자 스크립트를 작성할 만큼 실기 훈련을 많이 하고 오는 것입니다만 현실적으로 모든 함수의 사용법을 다 외우고 오긴 힘들겁니다...
- 요약페이지 작성에 생각보다 시간을 많이 투자해야 합니다.
작성된 요약 자료는 외울 정도로 읽고 와야 합니다.
12. 잘난척하는 저는 시험을 어떻게 치렀나?
- 결론부터 말하면 시험 잘 못 봤습니다.
- 10.29일 7회 시험문제에 재도전할 생각입니다.
- 위의 시험문제를 보셔서 아시겠지만 각 서브문제를 완벽히 풀어야 다음 서브문제를 풀 수 있도록 구성되어 있습니다. 예를들어 1번 문제를 제대로 풀려면 (가) --> (나) --> (다) --> (라) 순서대로 각 서브문제를 풀어야만 다음 문제를 풀 수가 있습니다. (가)의 결과를 (나)에서 이용하고 (나)의 결과를 (다)에서 이용하는 방식으로 문제가 구성되어 있기 때문입니다.
- 저는 1-(가)는 쉽게 풀었지만, 1-(나)에서 막혀서 1번을 완결짓지 못했습니다.
그냥 빈칸으로 놓기가 미안해서 제가 생각하는 문제 풀이 방향만 적어놓았습니다.
- 그 다음 2번, 3번은 다 풀기는 했지만 답이 맞았다고 확신하지는 않습니다.
- 각 문제의 배점이 표시되어 있지 않기 때문에 정확하게 평가하긴 어렵겠지만
잘해야 60점 정도 밖에 안될 것 같습니다.
- (2016.5.31 내용추가)
결국 75점으로 합격하였습니다.
총 11개의 문제중 8개(=8/11=72.7)만 제대로 풀었는데 나머지 3개도 부분점수를 준 것 같습니다.
13. 기타 느낀 점
- 그럼에도 불구하고 문제 자체의 난이도는 생각보다 어렵다고 느끼지 않았습니다.
- 왜냐하면 1-(가), 2번,3번은 제가 예상하고 있던 문제 유형이었고 미리 준비도 해두었기 때문입니다.
- 하지만 데이터가 생각 처럼 한번에 처리되는 느낌을 받지 못했습니다. 그래서 시간이 조금 더 소요되었습니다.
- 데이터에는 NA나 이상치를 일부러 약간 섞어둔 것으로 보입니다.
- 어떤 함수를 쓰면 되는지 대략은 알지만 함수를 호출해보면 예상된 결과가 나오지 않거나 오류가 발생하여 많이 당황스러웠습니다.
- 주의할 점이 있는데 텍스트마이닝 문제풀때 텍스트 전체나 일부를 console에 출력하는 것은 최대한 자제해야 합니다. console 버퍼가 차면 찰수록 R스튜디오의 속도가 급격히 느려져서 명령어 하나 처리하는데 몇분씩 걸리는 상황이 옵니다. 시간이 생명인 시험장에서 당황하게 됩니다. 이럴때는 얼른 R스튜디오를 다시 시작하면 됩니다.
- 책에 나온 잘 정제된 데이터와 스크립트를 그대로 따라해보는 방식의 공부는 실전에서 한계가 있다고 느꼈습니다.
- 책을 덮고 방금 짜본 스크립트를 스스로 외워서 한줄 한줄 실행해보는 방법이 필요할 것 같습니다
그 과정에서 발생하는 오류를 스스로 해결하면서 그 해결방법을 기록해두고 시험장에 가져가는 것이 중요합니다. 직접 해보지 않으면 시험장에서 에러가 발생했을 때 해결하지 못하고 시간만 낭비하다가 끝나버립니다.
- 그리고 자기 스스로 책에 나오지 않는 문제를 만들어서 실제 현상에 대한 데이터를 분석해 보는 훈련이 필요할 것으로 보입니다
- 제 아들이 고등학생이 되어 저도 수능에 관심이 많으므로 수능과 관련된 각종 데이터를 구해서 분석해보면 재미있을 것 같습니다.
예를들면 자연계 학생의 수학A,B형 선택에 따른 수학성적에 어떤 변화가 있는지? 합격률에 영향이 있는지? SKY에 합격하는 학생들의 속성을 뽑아서 군집분석을 해본다던가...연도별로 각 과목별 수능 난이도에 따른 합격여부에 어떤 영향이 있는지? 어떤 과목이 합격에 가장 큰 영향을 주는지? 정시와 수시비율의 년도별 변화에 따라 정시합격생의 수준에 차이가 있는지? 등등 상상만으로도 많은 종류의 분석을 해볼 수 있을 것 같습니다.
- 이런 식으로 다양한 상황에서의 데이터 처리 능력이 쌓여야 실제 문제에서도 당황하지 않고 쉽게 풀수 있을 것으로 생각됩니다.
(오늘은 여기까지만 정리하고 생각나는 대로 추후 계속 보완하겠습니다)
14. ADP 공부 과정
2016.1.5~ 4.30 약 4개월 간의 공부과정을 최대한 자세하게 아래 정리해두었습니다.
ADP시험 공부를 저처럼 혼자서 하시는 분들에게 많은 도움이 되길 바랍니다
제6회 ADP 실기시험 공부 일지(2016.2.29~4.30)
http://blog.naver.com/sujebee/220647426960
제6회 ADP 필기시험 후기(2016.02.20)
http://blog.naver.com/sujebee/220634650309
제6회 ADP 필기시험 공부 일지(2016.01.05~2.20)
http://blog.naver.com/sujebee/220594025991
15. 인터뷰 기사
DAP-SQLP-ADP 3개 자격증을 동시에 합격한 사람은 아직 저 밖에 없습니다.
이와 관련하여 한국데이터진흥원에서 인터뷰 요청이 와서 약 2시간 동안 인터뷰를 한 적이 있습니다.
아래는 인터뷰 기사를 퍼온 것 입니다.
http://blog.naver.com/sujebee/220755979385
인터뷰기사....DAP-SQLP-ADP 데이터 전문가 3대 자격증 합격자 1호의 탄생
저에 관한 인터뷰 기사 입니다.(2016.7.7) http://www.dbguide.net/dbqna.db?cmd=interview_view&board...
blog.naver.com
===========================================================================
ADP 실기 제11회
10회차 부터 시험에 사용할 언어도 선택할 수 있게 바뀌었는데,(Python, R 중 응시자가 택1할 수 있음) 나는 기존과 동일하게 'R'을 선택하였다.
시험장은 꼭 토익스피킹 시험치는 곳과 같이 다닥다닥 붙은 컴퓨터들 사이에 자리마다 칸막이가 쳐져있는 형태였고,
크게 뭐 불편하거나 다른 Issue는 없었던 것 같다.
아 그리고 오픈북 진행이고 사용한 자료들/책들은 모두 다시 반출이 가능하다. (작년 시험볼때는 반출 불가였음..)
실기 시험의 후기와 소회를 아래 정리 해본다.
문제 유형
문제유형은 회차를 거듭하면서 기본적인 골자는 비슷한 형태에서 살짝살짝 detail만 바뀌어 왔는데, 일반적으로 아래와 같다.
1. 통계학 기반 분석
2. Text Mining을 적용한 분석
3. Data mining(ML) 학습을 통한 결과 도출
상기 3개의 주제를 잘 분석하려면 당연히,
분석 언어를 통한, 'Data 전처리', 'Model 생성', '분석 Model별 검증', '결과 해석' 역량이 있어야 한다.
거기다 2번문제를 잘 풀기 위해, Text 전처리, KoNLP 패키지를 다양한 방식으로 사용해본 경험이 있어야한다.
(wordcloud 만드는 수준으로는 해당 문제를 풀 수가 없다...)
금번 회차에도 위와 같이 크게 세가지 주제의 문제가 나왔고 각 큰 단위 문제 안에 세부적으로 3~4문제씩 세부문제가 있는 형태로 출제가 되었다.
금번에는
1. 통계학 기반 분석 (40점)
- 각 설명변수들과 출산률(종속변수)의 관계를 회귀분석으로 정의 및 결과를 해석하는 문제
2. Text mining (20점)
- 영화평 Data를 전처리 후, '형용사'를 추출 하여 감성 분석 하는 문제
3. Data Mining/ML (40점)
- (R을 공부하는 많은 사람들이 익숙한) 타이타닉 생존자 Data를 Data mining 학습하여, 생존여부 예측을 하는 문제
- 금번회차의 경우 분석 과정은 상관없고, 오직 제공된 Test Data의 정답만을 제출해서, 예측한 정답의 적중률이 얼마나 높은지로 채점을 함
이렇게 출제가 되었다.
응시 소감
사실 1,3번의 난이도는 기존의 실기 출제 문제보다는 쉬운편이 아니었나 싶다.... 왜냐하면 전처리가 그렇게 까다로운 Data도 아니었고,
특히 3번 문제같은 경우, ADP를 공부하는 많은 수험생이 참고하는 'R을 이용한 Data처리 & 분석실무 (길벗)' 책에 나오는 대표적인 예시 Data이기 때문이다. (사실 문제보고 좀 당황했음... 설마 이게 나올까 했는데..)
물론 Data 일부를 조금 변형해놔서 추가적인 전처리가 필요했지만, 적어도 정확도가 어떻든 Model을 만들고, 예측 결과를 뽑는데까지는 크게 어려운 단계가 없었던 것 같다.
다만 이번에 멘붕이 왔던 문제는 2번 Text Mining이였다.
나는 배점이 높은 1,3번을 먼저 풀고 딱 1시간이 남은 상황에서 2번 Text Mining문제로 진입했는데,
결국 세부 문제 한문제도 제대로 풀지 못했다.
첫번째로 Text Data(Text file이였음)를 불러오는 부분에서 구분자를 가지고 Parsing을 하는데 문제가 발생하여 많은 시간을 잡아먹었고,
(파일 용량 자체가 커서 한번 불러오는데 분단위 시간이 걸림)
문제가 '형용사'를 추출하는 건데 여기서 결국 막힌 것이다.
사실 R을 활용한 Text Mining 대부분의 예시는 '명사'를 추출하는 형태로 되어 있고, 명사 추출은 extractNoun 함수로 쉽게 수행을 할 수 있다.
그런데 형용사 같은 경우는.... SimplePos22 함수를 써야하는데 해당 부분을 제대로 숙지하지 못하고 가서, 결국 for문을 만들다 시간이 부족해 실패를 해버린 것이다.
결국 2번문제를 아예 통으로 못풀다시피 하고 시험을 마쳤다.
1,3번 문제도 완벽히 맞았다는 보장이 없기때문에... 또 망한건가...라는 생각이 들고 있다.
일단 결과가 나오면 또 포스팅을 하도록 하겠다.
떨어지면 또... 준비를 해서 재응시를 해야겠지..
ADP (데이터분석전문가) 15회 실기 후기 (불합격...확정)
일단 시험 문제를 통해 후기를 좀 정리해보자면,
1번은 무슨 제철회사 Iot data 같은 것들을 제공해 주고,
- EDA(탐색적 데이터 분석) 해보는 거
- 독립변수 선별 (feature engineering)
- 종속변수(y)를 이항으로 바꾸고 로지스틱 회귀 분석하기
- 종속변수(y) 다항인 상태에서 SVM 포함하여 3가지 알고리즘으로 돌려보고 평가
- 위에서 만든 모델 중 하나 적합한 모형 찾아서 군집분석 실시하고 군집분석을 반영하여 F1 score값을 통해
모델이 나아지는지 확인
과 같은 것을 진행하는 것이다.
1번문제도 기존 11회 실기의 머신러닝 문제와 비교해 나름 난이도가 낮은 편은 아니었지만,
그나마 손을 댈 수는 있었는데, 솔직히 군집분석을 기존 머신러닝 결과에 반영하라는게 무슨 의미인지 몰라서,좀 벙찌기도 했었다.
(나중에 카페 글을 보니 해당 군집을 또 독립변수로 놓고 학습을 하면 모델의 질이 높아질 수 있다. 뭐 그런 뜻인 것 같다. 솔직히 이와 같은 분석 방식을 난 전혀 모르고 있었다)
그리고 python으로 언어를 변경하면서, 준비를 안해서 좀 문제가 되었던 부분은, EDA와 Feature engineering이다.
기존 상관분석 등으로 독립변수 선별할 때 사용했던 R code를 백프로 python으로 숙지를 못하고 가서,
(대체 준비할때 난 뭐한거지?)
for 문으로 일일히, 구현을 해서, 그래프를 하나하나 뽑아낸 후 붙이는 노가다를 했었다.
뭐 여튼 1번도 어버버 했는데 어떻게어떻게 했는데.. 2번은.. 전력사용량 관련 data를 제공해주었는데
그 망할 timestamp라는 무슨 열 몇자리 숫자로 구성된 데이터가 나와서,
이걸 어떻게 변환하지? 머리가 새하얗게 변하면서 그냥 망해버렸다.
가장 기본이 되는 시계열 column (3개의 data의 key가 되어야 하는 column이었음) 을 변환을 못하니 뭐 그냥 문제 자체에 손을 못대고 넋을 놓게되어 버렸다.
솔직히 2번문제 접하고 나서, 와... 이건 내가 이 Data형을 실무에서 경험하지 못했다면,
아무리 공부를 많이 했어도, 책을 3~4권 더 봤어도 이걸 풀 수 있었을까? 라는 생각이 들면서
마음속 깊이, 내 자질을 의심했다.
이것도 알고보니 python 함수하나로 간단히 해결되는 문제인데, 뭐 내가 이런걸 봤어야지 .ㅠ
(datatime package안에 fromtimestamp 뭐이런 함수가 있음... 열라 간단...)
사실 내가 참고한 python 데이터 분석 관련 책, R 책에는 정말 조금이라도 비슷한 유형이 하나도 나오지 않아.. 정말 당황스러운 시간이었다..
이번에 R -> python으로 전환하면서, 의외로 걱정했던 것 만큼 크게 'library 공백' 이 없었다.
즉 R에서 지원하는 대부분의 분석에 필요한 Library가 python에 대부분이 구현되어 있어,
크게 불편함을 느끼지 못했다는 뜻이다.
물론 일부... 뭐 상관관계라든가... 변수 선택관련 step(전진선택법, 후진소거법, both 뭐 그런거...) 이라던가... 그런 일부는 R처럼 보기 편한 형태로 구현되어있지는 않지만... 여튼 python의 위대함을 알게되면서, 조금더 공부해보고 싶다는 생각이 들었다.
R도 좋은 언어긴 하지만, 결국 미래에는, python이 데이터 분석 계열 언어 지분을 지배할 수도 있겠다는 생각이 들었음.. 다른 또 기똥찬 뭔가가 나오지 않는 이상..
ADP 실기 제18회
실기 문제
1. 고객 등급 예측모형
1) EDA & 결측값 채우기
2-1) 파생변수 3개 생성 & 이유 작성
2-2) Train-Test 분할(7:3) / SOM 군집분석 / 정오분류표
2-3) 분류분석 4가지
2. 텍스트 마이닝(영어)
1) 명사 추출 & 불용어 처리
2) 빈도 막대그래프
3. 시계열분석
1) 평균과 분산 일정 + 근거 & 해석
2) ARIMA + 근거 & 해석
3) 최적 모델 선택 + 근거 & 해석
4) 적합 파악
시험후기
하필 시험 보는 주에 갑자기 바빠서,, 시험 준비를 넉넉하게 하지는 못했다. 그리하여 원래 R로 시험을 보려 했지만 파이썬으로 시험을 보았다. 하지만 ADP는 R로 시험을 치는게 유리하다는 생각이 들었다.
2번 텍스트 마이닝의 경우 nltk를 사용하려 했는데,, 다운로드가 안되어서 못 풀었다.
nltk.download('stopwords')의 실행이 안되었다. nltk가 사용 가능한 패키지 목록에는 있지만 거진 못쓴다고 보면 된다.
이 문제의 경우 적어온 것을 그대로 옮기면 되는 수준으로 정확하게 준비하고 갔는데 저기서 막혀서 어이가 없었다.
원래 워드클라우드 구현하기도 문제에 있었지만 중간에 오셔서 워드클라우드는 안 해도 된다고 하셨다.
지금 검색해보니까 python 패키지 목록에 wordcloud도 없군..
===========================================================================
ADP 실기 제 14회
ADP 실기 제 15회
ADP 실기 제 17회
ADP 실기 제 19회
ADP 실기 제 19회
https://ysyblog.tistory.com/114
ADP 실기 제 20회
https://ysyblog.tistory.com/221?category=1176027
ADP 실기 주제별 : 통계분석
ADP 실기 주제별 : 데이터마이닝&기계학습
https://didalsgur.tistory.com/entry/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D%EC%A0%84%EB%AC%B8% EA%B0%80ADP-%EC%8B%A4%EA%B8%B0%EC%8B%9C%ED%97%98-%EA%B8%B0%EC%B6%9C%EB%AC%B8%EC%A0%9C-%EC%A1%B0%EC%82%AC-2-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%A7%88%EC%9D%B4%EB%8B%9D-%EA%B8%B0%EA%B3%84-%ED%95%99%EC%8A%B5?category=750762
ADP 실기 주제별 : 텍스트마이닝