«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Recent Posts
Today
Total
관리 메뉴

짜리몽땅 매거진

[Tableau] LIME Value 생키차트로 시각화하기 본문

Data/Tableau

[Tableau] LIME Value 생키차트로 시각화하기

쿡국 2024. 6. 25. 11:37

지난번 Feature Selection 기법 중 Model-agnostic Explanation Method이자 XAI(Explainable AI)에 해당하는 SHAP과 LIME에 대해 다룬 적 있었다. 오늘은 Catboost 모델을 활용해 금산인삼축제 성패를 예측한 LIME Value 데이터를 태블로 상에서 '생키 차트'로 시각화해보자.

 

생키 차트는 각 단계별 값의 변화를 한 눈에 표현하기 위한 목적으로 사용한다. 특히, 전체 값이 어떤 곳으로 흘러가는지 혹은 어떤 단계에서 얼마나 많은 값이 이동하는지도 한눈에 파악할 수 있는 효과적인 시각화이다. 태블로에서는 생키 차트를 표현하는 방법을 표현 방식으로 제공하고 있지 않기 때문에 이를 표현하기 위해서는 몇 가지 과정이 필요하다.


0. 데이터 준비 및 연결

모델링을 통해 출력한 LIME Value.csv 파일을 준비하고 태블로에 연결한다.

 

1. 데이터 유니온 및 피벗

연결한 데이터를 다시 한번 드래그해 유니온을 진행하고 전체 칼럼을 선택해 우클릭 후 피벗을 진행한다.

 

2. 계산된 필드 만들기

(1) Topad

IF [Table Name]='Sheet1' THEN 1 ELSE 49 END

 

해당 계산된 필드를 생성한 뒤 우클릭>만들기>구간차원을 클릭하면 'Topad(구간차원)필드'가 자동으로 생성될 것이다. 설정할 때 구간차원의 크기는 1로 수정한다.

(2) t

(INDEX()-25)/4

 

(3) sigmoid

1/(1+EXP(1)^-[t])

 

(4) 시작점

RUNNING_SUM(SUM([값]))/TOTAL(SUM([값]))

 

(5) 끝점

RUNNING_SUM(SUM([값]))/TOTAL(SUM([값]))

 

(6) curve

[시작점]+([끝점]-[시작점])*[sigmoid]

 

(7) 선굵기

RUNNING_AVG(SUM([값]))

 

3. 마크, 행열, 서식 편집

(1) t를 행으로, curve를 열로 올려놓는다.

(2) t를 우클릭>다음을 사용하여 계산>Topad(구간차원)으로 설정한다.

(3) curve를 우클릭>테이블 계산 편집에 들어가 아래와 같이 설정한다.

꼭 특정차원의 배치순서도 위와 동일하게 해야한다.

 

(4) 마크 유형을 라인으로 변경한다.

(5) Feature를 마크의 색상, 선굵기를 크기, Topad(구간차원)을 세부정보, Feature를 세부정보, 축제 구분을 세부정보, Topad(구간차원)을 경로에 올려놓는다. 선굵기의 경우 우클릭>다음을 사용하여 계산>구간차원으로 설정한다.

 

(6) 축편집을 통해 값의 범위에 따라 축범위를 조정하고, 머리글 표시를 모두 해제한다.

 

 

위처럼 생키라인이 형성되는데 나의 경우 LIME Value가 양의 영향을 끼칠 경우 파란색으로, 음의 영향을 끼칠 경우 붉은색으로 Feature의 색상을 편집하였다.

 

4. 생키 막대 생성

(1) 시트를 추가한다.

(2) 값 필드를 행에 올려놓는다.

(3) 마크 형식을 막대로 변경한다.

(4) Feature 필드를 색상, 레이블, 세부정보에 올려놓는다.

(5) 끝부분 막대와 1~4번을 통해 시트를 하나 더 생성한다.

 

5. 대시보드 페이지에서 시트 합치기

위의 과정을 모두 완료했다면 라인 시트, 막대 시트 2개 총 3개의 시트가 완성되었을 것이다. 대시보드 페이지에서 이 시트를 알맞게 배치해보자.

 

위와 같이 배치하여 각 축제의 성패 예측에 어떤 변수가 영향을 많이 끼쳤고, 양의 영향과 음의 영향 중 어떤 것인지 선굵기와 색상을 통해 한 눈에 파악할 수 있다.