본문 바로가기
Kaggle 대회

[Porto Seguro’s Safe Driver Prediction] 대회 소개 / 지니계수 란?

by 사자처럼 우아하게 2020. 2. 2.

 

캐글(Kaggle) 대회 리뷰 : Porto Seguro’s Safe Driver Prediction

- 이 대회는 2년전에 진행한 대회로 총 5,163 개의 Team이 참가한 매우 큰 대회였다. 지금도 5,000명 이상 참가하는 대회를 보기는 쉽지 않다. 당시의 Leaderboard를 보면 Private Leader board에서 3위한 사람이 Public Leader board  순위 대비 1070등이 상승했고 4등은 1100등이 상승했다. 이 말은 곧 Train데이터와 Test 데이터 간의 분포가 달라 Shaking이 많이 일어 난 것이라 볼수 있겠다. 이것만 보아도 당시에 꽤나 말이 많았을 것으로 생각된다.

대회 설명

"Predict if a driver will file an insurance claim next year."

운전자가 내년에 보험 청구를 할 것인지를 예측하는 대회이다. 데이터는 Porto Seguro 라는 브라질에서 가장 큰 자동차와 주택 보험 회사에서 제공한다. 

총 58개의 컬럼과 1개의 Target 컬럼으로 이루워져있고 Train/ Test 데이터 각각 59만 / 89만 Row 이다. 

평가 함수 리뷰

- 평가함수는 Normalized Gini Coefficient를 사용한다. 

- 지니 계수를 이해해야한다. 지니 계수는 경제적 불평등을 계수화 할 때 주로 사용하는 지표로 머신러닝 분야에서는 Decision Tree 모델의 성능을 평가할 때 엔트로피 지수와 함께 쓰인다. 지니 계수는 0~0.5의 값을 가지는데 0.5에 가까울수록 균등한 분배를 의미한다.

- 지니계수는 로렌츠 곡선(Lorenz Curve)에서 시작되는데 경제학적인 해석으로 보면 저소득~고소득까지의 인구 누적비율과 소득의 누적 점유율 사이의 관계성을 나타내는 곡선이 로렌츠 곡선이다. 균등 분배가 이루어 지면 로렌츠 곡선은 y=x 직선과 같아지고 이때 지니 계수는 0.5가 된다.

- 지니 계수는 위 그림에서 A의 면적을 뜻한다. A/(A+B)

- 이 대회에서 지니 계수는  Actual값의 누적 비율과 Prediction값의 누적비율로 산출이 되는데, 이것을 표준화를 시킨다. 이 표준화는 Actual 값이 가지고 있는 불평등 정도로 actual-prediction 간의 불평등 정도를 나누어서 산출이된다.

- 아래 그림의 좌측 그림은 Actual값이 본래 가지는 불평등정도를 나타내는 데 파랑색 면적 부분이 로렌츠 곡선을 나타낸다. 우측 그림은 Actual값과 Prediction 간의 불평등 정도를 나타낸다. 

- 이때 Actual값의 불평등 정도가 0.3(좌측 그림 오렌지 면적)이고  Actual-prediction 간의 불평등 정도가 0.189(우측 그림 오렌지 면적) 이라면 표준화된 지니계수 값은 0.189/0.3 = 0.630 이 된다.

   -

 

* Reference

 - https://en.wikipedia.org/wiki/Gini_coefficient

  - https://zereight.tistory.com/261?category=806994

 - https://www.kaggle.com/batzner/gini-coefficient-an-intuitive-explanation

 

 

 

댓글