빅데이터분석기사
실기 분류

제2회 빅데이터 분석기사(실기) - 제2유형 준비

작성자 정보

  • ◆딥셀◆ 작성
  • 작성일

컨텐츠 정보

본문

출제 가능성


제2유형의 문제는 결과를 csv 파일로 출력하여 제출하는 문제입니다. 출력할 값들은 머신러닝으로 예측한 값들로 이들의 성능을 표준적인 지표로 평가합니다. 이러한 조건하에서 나올 가능성이 높은 문제는 예제와 같은 이진 분류 문제입니다. 다음은 가능성이 있는 문제의 유형입니다. 시간이 많으면 모두 다 잘 준비하는 것이 좋고, 시간이 부족하다면 가능성이 높은 것부터 확실하게 준비하는 것이 좋을 것 같습니다.


1) 이진분류

2) 다중분류

3) 회귀


이 외의 문제도 나올 수 있겠지만 한 문제가 나오는 시험이므로 가능성은 낮을 것 같습니다. 그래서 우선 예제와 비슷한 이진분류 문제를 확실하게 풀 수 있도록 준비하는 것이 좋을 것 같습니다.


필요 스킬


이러한 문제를 풀기 위해서는 다음과 같은  스킬들이 필요합니다.


1) 데이터를 파일에서 읽고 원하는 형식으로 파일에 저장

2) 데이터 스플릿과 테스트 데이터 성능 평가

3) 데이터 탐색과 전처리

4) 특성공학(feature engineering)과 테이터 변환

5) 모델 선택과 사용

6) 성능 지표 선택과 사용

7) 초매개변수(hyper-parameter) 최적화

8) 앙상블 방법


이상의 스킬과 이 스킬들을 잘 사용할 수 있는 표준적인 절차를 익히면 제2유형의 작업을 잘 할 수 있을 것입니다. 그러나 이러한 작업을 능숙하게 할 수 없다면 주어진 시간에 최선의 답을 낼 수 있는 적절한 전략을 준비하는 것도 필요할 것 같습니다.


전략


각자의 능력과 조건에 따라 적절한 전략을 가지고 준비하는 것이 좋을 것 같습니다. 부분 점수가 있는 시험인 것 같으므로(확인 필요) 최소한 0점을 면하는 방법부터 준비하고 점진적으로 점수를 높일 수 있는 전락을 가지고 준비하는 것이 좋을 것 같습니다.

이러한 전략으로 시험에 임한다면 다음과 같은 순서로 작업을 하는 것이 좋을 것 같습니다.


1) 제출 파일 작성


  - 시험에서 요구하는 형식의 csv파일을 먼저 만들기 : -> 시험 공지 사항에 임의의 수를 대입하여 출력하면 0점 처리한다고 합니다.

    먼저 원하는 형식의 csv 파일을 만듭니다. 내용은 랜덤으로 해도 되도 동일한 값으로 적어도 됩니다. 예를 들면 이진 분류 문제의 경우 모든 확률을 0.5로 하거나, 모든 예측값을 0또는 1로 써놓습니다. 이러한 결과로도 부분점수를 받을 수 있는지는 확실치 않습니다. 하지만 이러한 코드는 매우 빠르게 작성할 수 있으므로 먼저 작성하고 시작하는 것이 나쁘지 않습니다. 혹시 시험 시간이 끝나도록 결과를 못 낼 경우 이 파일이라도 제출하는 것이 제출을 못하는 것보다 나을 것입니다.


2) 하나의 모델로 작업


복작한 작업들을 모두 생략하고 답이 나올 수 있을 만큼의 처리를 하고 결과를 내서 제출합니다. 이 게시판의 베이스라인 예시분석에 있는 방법들과 같이 자신만의 방법을 결정하고 준비하여 결과를 냅니다. 예상했던 문제가 나올 경우 짧은 시간에 적절한 답을 제출할 수 있는 방법입니다. 하나의 모델로 작업할 경우 밸리데이션이나 테스트를 실행해서 성능을 예측을 하는 것이 실수를 예방하는데 도움이 됩니다. 그러나 밸리데이션이나 테스트를 생략하고 트레이닝 후 바로 결과를 만들어서 제출할 수도 있습니다.


3) 모델 선택


여러개의 모델 중 성능이 좋은 것을 선택해서 처리할 경우 데이터셋 분할이 필수입니다. 처음부터 데이터를 적절히 분할하고 트레이닝 데이터와 밸리데이션 데이터 그리고 테스트 데이터의 전처리를 실수 없이 잘 해야 합니다. 시험 준비 단계에서도 철저하게 반복적으로 연습을 많이 해야 합니다.

시간이 많이 걸리 지 않는 다면 sklearn과 xgboost에서 제공하는 모델들을 모두 교차검증 방법으로 트레이닝하여 성능이 좋은 것을 선택합니다. 결과에서 상위의 모델을 선택하여 초매개변수 최적화를 수행합니다.

(현재 시험환경 체험 시스템에서는 프로그램 실행 시간이 1분으로 제한되어 있습니다. 실제 시험에서도 이런 제한이 있다면 시간이 많이 걸리는 서치 작업을 하기 어렵습니다.)


4) 초매개변수(hyper-parameter) 최적화 


성능이 좋은 모델에 대하여 초매개변수 값을 튜닝합니다. 초매개변수 최적화 방법은 다음과 같은 3가지 중 하나를 선택합니다. 


      1) 디폴트 값의 사용

      2) 랜덤서치(random search)

      3) 그리드서치(grid search)


시간이 부족하거나 서치 방법이 익숙하지 않으면 디폴트 값을 그대로 사용합니다. 사전에 디폴트 값에 대해 공부해 두면 많이 도움이 됩니다. 그 다음 선택지는 랜덤서치가 좋을 것 같습니다. 그리드서치에 비해 시간이 적게 걸립니다. 그리드서치를 이용하여 좋은 값을 구하려 할 경우 시간 조절을 잘해야 합니다. 서치 범위를 크게 잡으면 시간이 매우 많이 걸릴 수 있습니다. 그리드서치를 할 경우 걸리는 시간을 예측하여 서치할 매개변수의 범위를 좁게 정해야 합니다. 사전에 응시 환경 체험에서 그리드서치를 반드시 돌리고 시행 횟수당 시간이 얼마나 걸리는 지 확인해 봐야 합니다.

(현재 시험환경 체험 시스템에서는 프로그램 실행 시간이 1분으로 제한되어 있습니다. 실제 시험에서도 이런 제한이 있다면 시간이 많이 걸리는 서치 작업을 하기 어렵습니다.)


5) 앙상블 방법


복수의 모델을 가지고 테스트 성능을 얻은 경우에는 시간이 부족하면 가장 성능이 좋은 모델로 결과를 만들어 제출하고 시간 여유가 있으면 좋은 모델 몇 개를 골라서 앙상블을 시도합니다. 앙상블을 할 경우 성능이 나쁜 모델로 앙상블을 하면 성능이 더 나빠지므로 주의해야 합니다.




관련자료

댓글 0
등록된 댓글이 없습니다.

최근글


새댓글


알림 0