线性模型的可解释性

Python 可解释性 AI

Fouad Trad

Machine Learning Engineer

线性模型

线性回归
  • 预测连续值

图片显示一条拟合多点的直线,x 轴为测试分数,y 轴为录取概率。

Python 可解释性 AI

线性模型

线性回归
  • 预测连续值

图片显示一条拟合多点的直线,x 轴为测试分数,y 轴为录取概率。

逻辑回归
  • 用于二分类

图片显示一条直线按交易金额与执行时间将多笔交易样本分开。

Python 可解释性 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 可解释性 AI

系数

  • 说明各特征的重要性
    • 绝对值越大 → 重要性越高
    • 绝对值越小 → 重要性越低
  • 比较系数 → 看绝对值
  • 注意: 计算系数前先归一化特征尺度

图片展示方程 Mobile price=푐_0+5∗Storage+2∗Number of lenses,并突出显示系数

Python 可解释性 AI

系数

  • 说明各特征的重要性
    • 绝对值越大 → 重要性越高
    • 绝对值越小 → 重要性越低
  • 比较系数 → 看绝对值
  • 注意: 计算系数前先归一化特征尺度

图片展示方程 Mobile price=𝑐_0+𝑐_1∗Storage+c_2∗Number of lenses,并强调 Storage 通常为数百到数千 GB,镜头数量通常小于 4。

Python 可解释性 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 可解释性 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 可解释性 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 可解释性 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 可解释性 AI

Passons à la pratique !

Python 可解释性 AI

Preparing Video For Download...