본문 바로가기

[Data Engineering]/[Gloud-GCP]

[GCP] 3-2. Decision Model

728x90

< 의사 결정 모델과 임계값 설정 >

 

  원래 관련 포스팅 기록을 남기는 과정에서 기술적으로 GCP를 다루는 과정을 중점적으로 기록하려했지만, 친구들과 진행하는 주식 관련 프로젝트에 GCP를 이용하기로 하면서, 관련 모델에 대한 설계를 확률적으로 어떻게 하는지 자세히 살펴보려고 한다. 책에서는 의사 결정 규칙이 다음과 같이 나타나있다.   

 

DEP_DELAY ≥ 15분 이면 회의를 취소한다. 그렇지 않으면 회의를 진행한다.

 

위의 규칙에 따라 회의 취소 결정을 위한 분류결과표 ( contingency table  /  confusion matrix )를 만를어 확인해보자. 

   도착지연 ( ARR_DELAY ) < 15분 도착 지연 ( ARR_DELAY ) ≥ 15분
회의를 취소하지 않는다. ( DEP_DELAY <1 5 ) 올바른 결정 ( True Negative ) 잘못된 결정 ( False Negative )
회의를 취소한다. ( DEP_DELAY ≥ 15 ) 잘못된 결정 ( False Positive )  올바른 결정 ( True Positive )

 

  간단하게 의사결정에 따른 올바른 결정( True ) 과 잘못된 결정( False )을 나누어보았다. 예를 들어 출발 지연시간이 15분을 넘겼음에도 도착지연시간이 15분 이내인 경우가 있을것이고, 이때 회의를 취소했던 결정은 잘못된 결정이게 된다. 이에 맞추어 임계값을 설정해 볼 것이다. 처음에 책에서 설정한 의사결정 규칙을 살펴보자. 

 

15분 도착 지연 CDF가 70% 미만이면 고객과의 회의를 취소한다 "

 

도착지연시간이 15분 이내인 경우로 임계값을 설정해 놓았는데, 15분이라는 출발지연시간이 올바른 값인지 알아보기 위해서는  contingency-table의 데이터값을 채워넣을 필요가 있다. Cloud Shell에 접속해서 간단한 쿼리면 값들을 채울 수 있다.

select count(dest) from flights where arr_delay < 15 and dep_delay < 15;
select count(dest) from flights where arr_delay >= 15 and dep_delay < 15;
select count(dest) from flights where arr_delay < 15 and dep_delay >= 15;
select count(dest) from flights where arr_delay >= 15 and dep_delay >= 15;

해당 쿼리문을 실행시키면 다음과 같은 수치가 나온다. 

< 15분을 임계값으로 지정했을 경우 >

표 3-3에서 볼 수 있듯이, 임계값을 15분으로 설정하게 된다면 올바른 결정을 했을 확률은 ( 747,099 + 160,853 ) / ( 전체 케이스의 수) 이므로 대략 91.6%가 된다.  이어서 임계값을 10분과 20분으로 설정했을 경우를 역시 살펴보도록 하자.

< 10분을 임계값으로 지정했을 경우 >
< 20분을 임계값으로 지정했을 경우 >

  표 3-4, 3-5에서 볼 수 있듯이, 똑같은 계산법으로 추산해보면 임계값이 10분으로 설정되었을 경우 올바른 결정을 했을 확률은 89.2%이고, 20분으로 설정했을 경우는 92.5%이다. 따라서 이 상황에서는 임계값을 20분으로 하는 것이 가장 올바른 결정을 많이 확보할 수 있는 임계값이다. 여기서 임계값을 고정하고 끝내고 싶지만 문제가 발생한다. 임계값 20분은 확실히 maximum overall accuracy이다. 하지만 우리가 원하는 목표인 70%와는 거리가 있다. TP/(FP + TP) 가 70%에 가까훈 임계값을 찾고 있으므로, 우리는 10,15,20의 임계값 중 10분이 가장 근접하다는 결론을 내리게 되는 것이다.

 

< 실습에서는 contingency.sh 파일을 실행해봐도 된다. > 

 

  이런 내용들을 최종 결정권자, 혹은 사용자들이나 동료들에게 설명해야 할 때 수치적인 표 보다는 직관적으로 이해할 수 있는 표로 설명해 준다면 훨씬 이해하기 수월할 것으로 보여진다. 이를 위해 다음 포스팅에서 GCP의 data-studio를 이용해 Dash Board를 작성해 보도록 하겠다.

 

 

 

 

 

"Data Science on the Google Cloud Platform by Valliappa Lakshmanan (O'Reilly). Copyright 2018 Google Inc."
728x90

'[Data Engineering] > [Gloud-GCP]' 카테고리의 다른 글

[GCP] 4-1. ETL Pipeline  (0) 2020.02.19
[GCP] 3-3. DashBoard  (0) 2020.02.18
[GCP] 3-1. How to make Dataset  (0) 2020.02.18
[GCP] 2-2. Periodic scheduling, flask web application  (0) 2020.02.18
[GCP] 2-1. Fixed Data-set scheduling  (0) 2020.02.18