선형 모델의 설명 가능성

Python으로 배우는 Explainable AI

Fouad Trad

Machine Learning Engineer

선형 모델

선형 회귀
  • 연속값 예측

여러 점에 맞는 직선을 보여주며, x축은 시험 점수, y축은 입학 가능성을 나타냅니다.

Python으로 배우는 Explainable AI

선형 모델

선형 회귀
  • 연속값 예측

여러 점에 맞는 직선을 보여주며, x축은 시험 점수, y축은 입학 가능성을 나타냅니다.

로지스틱 회귀
  • 이진 분류에 사용

거래 금액과 실행 시간을 기준으로 거래 데이터를 구분하는 직선을 보여줍니다.

Python으로 배우는 Explainable AI

선형 모델이 설명 가능한 이유

  • 입력 특성의 선형 결합을 학습
  • $c_0 + c_1 \times \text{feature}_1 + c_2 \times \text{feature}_2 + \ldots + c_n \times \text{feature}_n$

앞의 선형·로지스틱 회귀 그래프와 각자가 학습하는 식을 함께 보여줍니다: 선형 회귀는 Mobile price=푐_0+푐_1∗Storage, 로지스틱 회귀는 푐_0+푐_1∗Time of day+푐_2∗Transaction amount=0 형태.

Python으로 배우는 Explainable AI

계수

  • 각 특성의 중요도를 알려줍니다
    • 절댓값이 클수록 → 중요도 높음
    • 절댓값이 작을수록 → 중요도 낮음
  • 계수 비교 시 → 절댓값 사용
  • 참고: 계수 계산 전 특성 스케일을 정규화하세요

방정식 Mobile price=푐_0+5∗Storage+2∗Number of lenses를 보여주며, 계수를 강조합니다.

Python으로 배우는 Explainable AI

계수

  • 각 특성의 중요도를 알려줍니다
    • 절댓값이 클수록 → 중요도 높음
    • 절댓값이 작을수록 → 중요도 낮음
  • 계수 비교 시 → 절댓값 사용
  • 참고: 계수 계산 전 특성 스케일을 정규화하세요

방정식 Mobile price=𝑐_0+𝑐_1∗Storage+c_2∗Number of lenses를 보여주며, Storage는 수백~수천 GB 범위이고 렌즈 수는 보통 4 미만임을 강조하는 이미지.

Python으로 배우는 Explainable AI

입학 데이터

GRE 점수 TOEFL 점수 대학 등급 SOP LOR CGPA 합격 확률 합격
337 118 4 4.5 4.5 9.65 0.92 1
324 107 4 4 4.5 8.87 0.76 1
316 104 3 3 3.5 8 0.72 1
322 110 3 3.5 2.5 8.67 0.8 1
314 103 2 2 3 8.21 0.45 0
X_train = data.drop(['Chance of Admit', 'Accept'], axis=1)

y_reg = data['Chance of Admit']
y_cls = data['Accept']
Python으로 배우는 Explainable AI

모델 학습

from sklearn.preprocessing import MinMaxScaler
from sklearn.linear_model import LinearRegression, LogisticRegression


scaler = MinMaxScaler() X_train_scaled = scaler.fit_transform(X_train)
lin_reg = LinearRegression() lin_reg.fit(X_train_scaled, y_reg)
log_reg = LogisticRegression() log_reg.fit(X_train_scaled, y_cls)
Python으로 배우는 Explainable AI

계수 계산

선형 회귀
print(lin_reg.coef_)
[0.03052087 0.01665433 0.00668971 
 0.00326926 0.01724815 0.0661691 ]
로지스틱 회귀
print(log_reg.coef_)
[[1.28985577  0.49441086  0.47593379 
  0.05434322  0.41800927  1.31980189]]
Python으로 배우는 Explainable AI

계수 시각화

선형 회귀
import matplotlib.pyplot as plt
plt.bar(X_train.columns, lin_reg.coef_)

막대그래프로 중요도를 보여주며, CGPA와 GRE 점수가 가장 중요한 특성임을 나타냅니다.

로지스틱 회귀
import matplotlib.pyplot as plt
plt.bar(X_train.columns, log_reg.coef_[0])

막대그래프로 중요도를 보여주며, CGPA와 GRE 점수가 가장 중요한 특성임을 나타냅니다.

Python으로 배우는 Explainable AI

연습해봅시다!

Python으로 배우는 Explainable AI

Preparing Video For Download...