
Shapley Values (shap) Shapley values는 모델이 예측한 값이 평균과 비교했을 때 어떤 변수들이 감소 또는 증가하도록 기여했는지(회귀, 0 ~ 1 사이의 확률에서 감소 또는 증가하도록 기여했다면 분류) 계산하는 방법이다. 기여도 계산 기여도를 계산하는 방법은 기여도 계산을 원하는 변수를 제외한 모든 feature들의 포함여부에 따라 모든 경우의 수를 뽑고 각각의 경우의 수에 대해서 기여도 계산을 원하는 변수가 포함되었을 때와 포함되지 않았을 때의 예측값의 차이를 계산한다. 이후 이 예측값들의 평균을 구한 것이 해당 변수가 모델이 예측한 값에 대한 기여도가 된다. 예를 들어, 아래와 같은 집값 계산 모델과 데이터가 있다고 가정해보자. 위와 같은 데이터에서 반려동물 허용 변수에 대해..

PDP (Partial Dependence Plot) PDP는 어떤 모델이 예측값을 내보내는데 관심 feature의 값이 변화할 때 그 예측값에 얼마나 영향을 주는지 알 수 있도록 하는 시각화 방법이다. 예를 들어, boston 데이터(다양한 feature들로 집값 예측)에서 rm(방 수)가 예측값에 어떻게 영향을 미치는지 알고 싶을 때 사용할 수 있다. rm을 변경하면서 예측하는 것이 가장 간단한 방법인데 다른 수치형 변수나 범주가 많은 범주형 변수에 대해서도 그 값들을 모두 변경해보면서 예측할 수 있다. 작동 원리 PDP가 작동할 때 함수 내부에서는 위와 같은 데이터에서 rm을 변경하면서 예측값을 뽑아낸다. rm이 될 수 있는 값은 8.704, 6.216, 8.259이므로 모든 행 데이터에 대해서 r..

변수 중요도 (Feature Importance) 알고리즘마다 변수가 예측값에 얼마나 영향을 끼쳤는지에 대한 수치값. 일반적으로 Tree 계열 알고리즘에서는 부모 feature와 자식 feature GINI계수의 차이값이나 정보 엔트로피의 차이값으로 결정한다. (정보전달량, 정보획득량, information gain) Tree 계열 알고리즘 Decision Tree, Random Forest, XGB 알고리즘에서는 feature_importance_ 라는 메서드가 지원되므로 이 메서드를 사용하여 변수 중요도 값을 확인할 수 있다. plot Decision Tree나 Random Forest같은 scikit learn 패키지에서 지원되는 알고리즘들은 plot하는 메서드가 따로 존재하지 않기 때문에 함수를 ..