Skip to content

PDP #

Find similar titles
  • 최초 작성자
    shlee

Structured data

Category
Statistics

소개 #

Partial dependence plot(이하 PDP)는 특정 변수 집합과 모델의 예측 결과 간의 관계를 이해하기 위해 기계학습에 사용되는 시각화 기술입니다. 이는 다른 특성을 일정하게 유지하면서 모델 예측에 대한 특성의 한계 효과에 대한 통찰력을 제공합니다. PDP는 앙상블 방법 및 그레디언트 부스팅 모델과 같은 복잡한 기계학습 모델을 해석하는 데 특히 유용합니다.

PDP 작동 방식 #

  1. 변수 선택: 조사하려는 변수를 선택합니다. (단순화를 위해 1개 변수만 고려)
  2. 샘플 생성: 선택한 변수의 값 범위를 포괄하는 샘플 세트를 만듭니다. 이 샘플은 가상의 데이터 포인트를 나타냅니다.
  3. 예측: 기계학습 모델을 사용하여 다른 모든 특성을 일정하게 유지하면서 각 샘플의 목표 변수를 예측합니다.
  4. 평균 계산: 선택한 변수의 각 값에 대해 모든 샘플에 걸쳐 평균 예측 결과를 계산합니다. 이는 다른 변수는 고정된 상태로 유지하면서 해당 변수의 변경에 대한 모델의 평균 반응을 나타냅니다.
  5. 결과 그리기: x축은 선택한 변수의 값을 나타내고 y축은 평균 예측 결과를 나타내는 플롯을 그립니다.

그림 해석 #

Image

첫 번째 그림은 보면 온도가 자전거 대여 횟수에 미치는 영향을 확인할 수 있습니다. 온도가 높으면 자전거 대여 횟수가 증가하는 경향을 알 수 있습니다. 두 번째 그림은 습도가 높을수록 자전거 대여 횟수가 낮아지는 경향을 알 수 있습니다. 세 번째 그림은 온도와 습도가 자전거 대여 횟수에 미치는 영향을 알 수 있습니다. 이처럼 복잡한 모델을 사용하더라도 각 변수가 목표 변수에 미치는 영향을 알 수 있습니다.

예시 코드 #

sklearn 패키지에서 PartialDependenceDisplay 메서드를 사용하면 PDP를 그릴 수 있습니다.

from sklearn.datasets import make_hastie_10_2
from sklearn.ensemble import GradientBoostingClassifier
from sklearn.inspection import PartialDependenceDisplay

X, y = make_hastie_10_2(random_state=0)
clf = GradientBoostingClassifier(n_estimators=100, learning_rate=1.0,
    max_depth=1, random_state=0).fit(X, y)
features = [0, 1, (0, 1)]
PartialDependenceDisplay.from_estimator(clf, X, features)

참고 #

0.0.1_20240214_1_v81