본문 바로가기
머신러닝

Partial Dependence Plot (PDP) 부분의존도그림

by mintee
728x90

랜덤포레스트와 같은 앙상블 모델은 선형모델에 비해 성능은 좋지만 변수의 영향을 해석하기 어렵다. 

특성중요도를 구할 수는 있지만 이 변수가 중요한지 아닌지 정도만 파악할 수 있을 뿐, 이 변수로 인해 음의 상관관계를 가지는지 양의 상관관계를 가지는지 알기는 어렵다. 

이럴 때 그려볼 수 있는 것이 부분의존도 그림(PDP)이다. 

이를 통해 특성의 값에 따라서 타겟값이 증가/감소하느냐와 같은 어떻게 영향을 미치는지에 대한 정보를 알 수 있다.

pdp개념을 알려면 우선 marginal 분포를 알아야한다. 그냥 수리통계학에서 배우는 결합분포이다. 

각 x와 y에 따른 결합분포의 개념을 가지고 Partial Dependence Plot을 그리게 된다.

Partial Dependence 함수를 구하는 공식

기본적인 Partial Dependence 값을 이렇게 구할 수 있다. 

이 Partial 예측 함수값을 y축에 두고 변수x를 x축에 둔 Partial Dependence plot으로 독립변수에 따른 타겟변수의 변화를 확인 할 수 있다. (머신러닝에선 타겟에 대한 특성변수의 영향력을 알 수 있다)

하지만 이렇게 적분을 해서 구하는 결합분포 확률값은 이론적인 내용일 뿐이고 실제 컴퓨터에 넣어서 계산을 할 땐 아래처럼 계산한다.

머신러닝에서 쓰이는 실질적인 partial 함수 

머신러닝에서 그리는 pdp는 독립변수 Xs, Xc 2개가 있을 때 Xc에 대해서 다 더한 후 평균을 낸 값으로 구한다. 

 

회귀문제에서 pdp

x축의 변수에 따라 타겟변수가 어떻게 변화하는지 pdp그래프를 통해 알 수 있다.

온도에 따라서는 타겟이 올라가다 온도가 매우 높아졌을 땐 살짝 떨어지고, 풍속이 커질 수록 떨어진다. 

주의해야 할 것은 독립변수의 수가 적으면 그래프상에서 타겟이 변화하지 않는 것 처럼 나타나지만 이는 독립변수(풍속)이 클때의 데이터가 부족해서이지 실제로 변화하지 않는 것이 아니다!! (데이터가 있었다면 타겟은 계속 줄어들었을 것이다.) 

범주형 독립변수에서 pdp

계절 변수에서 4개의 범주가 비슷하긴 하지만 봄이 나머지에 비해 타겟에 영향력이 살짝 작다. 

두 독립변수를 x,y축에 둔 pdp
pdp 장단점

직관적이고 해석하기에 좋긴 하지만 변수를 한번데 2개 밖에 보지 못하고 다중공선성 문제시 제대로 나오지 않는 단점이 있다. 

 

출처:

 

728x90

'머신러닝' 카테고리의 다른 글

사이킷럿 파이프라인(Pipelines)  (2) 2021.06.15

댓글