기본 콘텐츠로 건너뛰기 보완적인 콘텐츠로 건너뛰기

예측 중 SHAP 데이터 집합 생성

예측을 실행할 때 SHAP importance 데이터 집합이 생성될 수 있습니다. 이러한 데이터 집합에서 SHAP 계산을 사용하면 어떤 기능이 예측 값에 가장 중요한 기여를 하는지 이해할 수 있습니다.

SHAP 데이터 집합에는 모델 교육에 사용되는 기능에 대한 행 수준 SHAP 계산이 포함되어 있습니다. 이러한 값은 해당 행의 다른 모든 기능을 고려하여 각 기능이 대상의 예측 값에 얼마나 기여하는지 나타냅니다.

예를 들어, SHAP 중요성은 특정 기능이 고객 이탈 가능성을 높이는지 여부와 해당 기능이 해당 결과에 얼마나 큰 영향을 미치는지 알려줄 수 있습니다.

예측을 실행하고 데이터 집합을 생성하면 SHAP 값을 Qlik Sense 앱에 로드하고 예측 값과 함께 시각화할 수 있습니다. 자세한 내용은 Qlik Sense 앱에서 SHAP 값 시각화실제 응용 프로그램에서 SHAP 값 사용를 참조하십시오.

이 도움말 항목은 ML 배포에 의한 예측 중 SHAP 데이터 집합 생성에 중점을 둡니다. 실험 교육 중에 표시되는 SHAP importance 차트에 대한 자세한 내용은 실험 교육에서 SHAP importance 이해를 참조하십시오.

SHAP 데이터 집합 생성에 사용할 수 있는 옵션

예측을 구성할 때 두 가지 형식으로 SHAP 데이터 집합을 생성하도록 선택할 수 있습니다. 두 옵션 모두 동일한 정보를 제공하지만 구조는 서로 다릅니다.

SHAP

이는 SHAP 값이 각 기능에 대해 하나의 열로 분리된 데이터 집합입니다. 다중클래스 분류 모델에는 이 옵션을 사용할 수 없습니다.

좌표 SHAP

이는 모든 SHAP 값이 '기능' 열과 '값' 열이라는 두 개의 열에만 포함되도록 구성된 데이터 집합입니다. 이 옵션은 모든 모델 유형에 사용할 수 있습니다.

다중 클래스 모델의 데이터 집합은 이진 모델의 데이터 집합과 약간 다르게 작동합니다. 예측할 각 레코드의 경우 모델에서 예측할 수 있는 가능한 각 클래스의 SHAP 값이 포함된 새 행이 만들어집니다. 데이터 집합에는 SHAP 값이 나타내는 클래스를 식별하기 위한 추가 열도 만들어집니다.

예측 및 SHAP 값을 Qlik Sense 앱에 로드하고 데이터 모델을 만들 때 좌표 SHAP 데이터 집합은 SHAP 데이터 집합보다 작업하기가 더 쉬울 수 있습니다.

다음 표에는 5가지 기능에 대해 교육된 회귀 모델에서 생성된 SHAP 및 좌표 SHAP 데이터 집합의 샘플이 포함되어 있습니다. 샘플에는 적용 데이터 집합의 두 레코드(두 개의 계정 ID에 해당)에 대한 SHAP 값이 포함되어 있습니다.

이 예에서는 데이터 구성 방식의 차이점을 강조 표시합니다.

SHAP dataset sample
AccountID AdditionalFeatureSpend_SHAP Churned_SHAP CurrentPeriodUsage_SHAP HasRenewed_SHAP NumberOfPenalties_SHAP
aa16889 1.76830971241 -0.58154511451721 -1.106874704361 -0.36080026626587 3.6597540378571
aa33396 0.80359643697739 -0.64805734157562 0.076582334935665 0.38967734575272 -0.31007811427116
Coordinate SHAP dataset sample
AccountIDautoml_featureSHAP_value
aa16889AdditionalFeatureSpend1.76830971241
aa16889Churned-0.58154511451721
aa16889CurrentPeriodUsage-1.106874704361
aa16889HasRenewed-0.36080026626587
aa16889NumberOfPenalties3.6597540378571
aa33396AdditionalFeatureSpend0.80359643697739
aa33396Churned-0.64805734157562
aa33396CurrentPeriodUsage0.076582334935665
aa33396HasRenewed0.38967734575272
aa33396NumberOfPenalties-0.31007811427116

SHAP 예측 값 해석

실험 교육 중에 표시되는 SHAP importance 차트의 값과 달리, SHAP 데이터 집합에는 방향성이 있는 행 수준 SHAP 계산이 포함되어 있습니다. 즉, 절대값이 아니라 양수 또는 음수가 될 수 있습니다. 응용 프로그램에서 값을 시각화할 때 사용 사례에 따라 절대값으로 집계하도록 선택할 수 있습니다.

레코드의 SHAP 값은 해당 레코드의 해당 예측 값과 관련하여 분석되어야 합니다. 모델 유형(이진 분류, 다중 클래스 분류 또는 회귀)에 따라 SHAP 값의 방향성은 약간 다르게 해석되어야 합니다.

분류 모델

이진 분류 모델의 경우 양수 SHAP 값이 크면 두 가지 가능한 결과 중 하나에 더 큰 영향이 있음을 나타내고, 음수 값이 높으면 다른 결과에 더 큰 영향이 있음을 나타냅니다. 응용 프로그램에서 데이터를 사용할 때 SHAP 값의 방향성으로 인해 필요한 분석이 허용되지 않을 수 있습니다. 이 문제를 해결하려면 SHAP 값의 방향을 반대로 하면 됩니다(예: 전체 열에 -1을 곱함). SHAP 방향 확인에 대한 자세한 내용은 준비을 참조하십시오.

다중 클래스 모델의 SHAP 데이터 집합은 다르게 구성됩니다. 예측할 각 레코드에는 해당 클래스에 해당하는 SHAP 값과 함께 가능한 각 클래스에 대한 별도의 행이 포함됩니다. 이 클래스는 'Predicted_class' 열에 지정됩니다.

좌표 SHAP 데이터 집합에서 다중 클래스 모델 예측의 SHAP 값을 다음과 같이 해석합니다.

  • 양수 SHAP 값이 높으면 해당 기능이 지정된 'Predicted_class' 결과에 더 큰 영향을 미치고 있음을 나타냅니다.

  • 음수 SHAP 값이 높으면 해당 기능이 'Predicted_class'이 지정되지 않은 결과에 더 큰 영향을 미치고 있음을 나타냅니다.

다음 예에서는 이진 분류 모델 출력과 다중 클래스 분류 모델 출력 간의 데이터 집합 구조 차이를 보여 줍니다.

계정 ID당 하나의 행이 포함된 적용 데이터 집합로 시작한다고 가정해 보겠습니다. 모델이 교육되는 각 기능은 별도의 열로 표시됩니다.

단일 계정 ID 레코드는 다음과 같습니다.

Single record from a dataset on which predictions will be generated
AccountIDAdditionalFeatureSpendBaseFeeCurrentPeriodUsageHasRenewedNumberOfPenalties
aa1688918 33.52210.1yes4

Churned 필드의 결과를 예측하기 위해 이진 분류 모델을 교육시키는 경우 '예' 또는 '아니요'라는 두 가지 결과가 나올 수 있습니다. 위의 단일 계정 ID 레코드를 기반으로 이 레코드의 좌표 SHAP 데이터 집합은 다음과 같습니다.

Sample from coordinate SHAP dataset for binary classification model prediction
AccountIDautoml_featureSHAP_value
aa16889AdditionalFeatureSpend-0.049129267835076
aa16889BaseFee-1.5363064624041
aa16889CurrentPeriodUsage0.10787960191299
aa16889HasRenewed1.2441783315923
aa16889NumberOfPenalties2.3803616183224

위 표에는 단일 계정 ID에 대한 SHAP 값이 표시되어 있으며 기능별로 분류되어 있습니다. 각 기능에 대해 새 행이 만들어지고 각 기능에는 SHAP 값이 할당됩니다. 이러한 SHAP 값의 방향과 규모는 두 가지 가능한 결과와 관련하여 평가되어야 합니다. 이상적으로 SHAP 값이 높을수록 기능이 긍정적인 해석(이 경우 '예')으로 결과에 많은 영향을 미치게 됩니다. 이 표현이 반대로 바뀌면 SHAP 값의 방향을 반대로 바꿔(-1을 곱함) 분석을 더 쉽게 해석할 수 있습니다.

비교하기 위해, 범주형 PlanType 필드(4가지 가능한 결과 - 'Blue Plan', 'Green Plan', 'Purple Plan' 및 'Red Plan')를 예측하기 위해 다중 클래스 분류 모델을 학습한다고 가정해 보겠습니다. 첫 번째 테이블의 단일 계정 ID 레코드를 기반으로 이 레코드의 좌표 SHAP 데이터 집합은 다음과 같습니다.

Sample from coordinate SHAP dataset for multiclass classification model prediction
AccountIDautoml_featurePredicted_classSHAP_value
aa16889AdditionalFeatureSpendBlue Plan0.004155414339679
aa16889AdditionalFeatureSpendGreen Plan0.0066376343942741
aa16889AdditionalFeatureSpendPurple Plan-0.014411468558894
aa16889AdditionalFeatureSpendRed Plan0.003618419824941
aa16889BaseFeeBlue Plan0.089301017079318
aa16889BaseFeeGreen Plan0.28876498452748
aa16889BaseFeePurple Plan0.055689421438434
aa16889BaseFeeRed Plan-0.43375542304524
aa16889CurrentPeriodUsageBlue Plan-0.0040098954629816
aa16889CurrentPeriodUsageGreen Plan-0.27902537442842
aa16889CurrentPeriodUsagePurple Plan-0.21871561841248
aa16889CurrentPeriodUsageRed Plan0.50175088830388
aa16889HasRenewedBlue Plan-0.011878031228962
aa16889HasRenewedGreen Plan0.036835618725654
aa16889HasRenewedPurple Plan0.13798314881109
aa16889HasRenewedRed Plan-0.16294073630778
aa16889NumberOfPenaltiesBlue Plan0.20519095034486
aa16889NumberOfPenaltiesGreen Plan0.0015682625647107
aa16889NumberOfPenaltiesPurple Plan-0.084355421853302
aa16889NumberOfPenaltiesRed Plan-0.12240379105627

위 표에서 단일 계정 ID는 20개의 별도 행으로 표시됩니다. 즉, 각 기능에 대한 행이 하나 있고, 대상에서 가능한 각 결과에 해당하는 SHAP 값에 대한 행이 있습니다. Predicted_class 열은 예측할 수 있는 결과(클래스)를 나타내며, 반드시 예측 데이터 집합에 표시되는 실제 예측 결과일 필요는 없습니다. 궁극적으로 SHAP 값이 가장 높은 클래스가 레코드의 예측 값이 됩니다.

이 표의 SHAP 값은 지정된 기능(automl_feature)이 지정된 클래스(Predicted_class)일 수 있는 결과에 미치는 영향을 측정한 것입니다. 양수 값이 크면 기능이 지정된 클래스가 될 것으로 예측된 결과에 큰 영향을 미친다는 것을 나타내고, 음수 값이 크면 기능이 지정된 클래스가 아닐 것으로 예측되는 결과에 큰 영향을 미친다는 것을 나타냅니다.

회귀 모델

회귀 모델에서 생성된 SHAP 데이터 집합에서는 SHAP 값의 방향을 해석하기가 더 간단합니다.

  • 양수 SHAP 값은 행에 대한 예측 값의 증가에 해당합니다.

  • 음수 SHAP 값은 행에 대한 예측 값의 감소에 해당합니다.

SHAP 값의 계산

SHAP 값은 다양한 알고리즘에 대해 계산됩니다. SHAP importance는 두 가지 고유한 방법을 사용하여 계산됩니다.

  • 트리 SHAP: 트리 모델의 SHAP 값을 추정하는 빠르고 정확한 방법

  • 선형 SHAP: 선형 모델에 대한 SHAP 값을 계산하는 방법

모델 유형 및 SHAP 계산 방법별로 사용할 수 있는 알고리즘
알고리즘지원되는 모델 유형SHAP 계산 방법
임의 포리스트 분류 이진 분류, 다중 클래스 분류트리 SHAP
XGBoost 분류이진 분류, 다중 클래스 분류트리 SHAP
LightGBM 분류이진 분류, 다중 클래스 분류트리 SHAP
Catboost 분류이진 분류, 다중 클래스 분류트리 SHAP
로지스틱 회귀이진 분류, 다중 클래스 분류선형 SHAP
Lasso 회귀이진 분류, 다중 클래스 분류선형 SHAP
Elastic Net 회귀이진 분류, 다중 클래스 분류선형 SHAP
가우시안 나이브 베이즈(Gaussian Naive Bayes)이진 분류, 다중 클래스 분류SHAP 계산되지 않음
Catboost 회귀회귀트리 SHAP
LightGBM 회귀회귀트리 SHAP
선형 회귀회귀선형 SHAP
임의 포리스트 회귀회귀트리 SHAP
SGD 회귀회귀선형 SHAP
XGBoost 회귀회귀트리 SHAP

자세한 정보

이 페이지가 도움이 되었습니까?

이 페이지 또는 해당 콘텐츠에서 오타, 누락된 단계 또는 기술적 오류와 같은 문제를 발견하면 개선 방법을 알려 주십시오!