机器学习业务应用以输出决策判断为目标。可解释性是指人类能够理解决策原因的程度。机器学习模型的可解释性越高,人们就越容易理解为什么做出某些决定或预测。模型可解释性指对模型内部机制的理解以及对模型结果的理解。在建模阶段,进行可解释性分析可以辅助开发人员理解模型,进行模型的对比选择,必要时优化调整模型;在投入运行阶段,可向业务方解释模型的内部机制,对模型结果进行解释。推荐系统中的可解释性分析也是很有必要的。
示例:信用卡欺诈模型可解释性分析
-
数据集:2013年9月份两天时间内的信用卡交易数据(284807笔交易,492笔欺诈行为) https://www.kaggle.com/mlg-ulb/creditcardfraud
-
逻辑回归分类模型训练及预测
clf = LogisticRegression()
clf.fit(train_x, train_y)
predict_y = clf.predict(test_x)
-
计算混淆矩阵并显示
-
计算准确率,召回率,阈值用于可视化
-
显示模型中特征重要性
coeffs = clf.coef_
df_co = pd.DataFrame(np.transpose(abs(coeffs)), columns=[“coef_”])
推荐系统中的可解释性
推荐系统中的可解释性分析主要从以下几个方面展开:
-
以物品为媒介
-
以用户为媒介
- 以特征为媒介
- 对以上三种媒介间的关联探索
模型的可解释性
-
线性模型:模型容易解释,但是可能需要牺牲模型性能
-
深度模型DNN:通常会产生更好的性能,但被认为是黑盒模型,很难解释模型如何做出的决策
模型的可解释性与性能之间往往需要权衡。
可解释性价值
实际工作中让客户或者领导采用某种方案,理由往往不是因为计算机的结果,而是基于某种可解释性的原因。可解释性的价值主要体现在:
- 增强推荐理由,更容易达成推荐
- 预测 VS 预防
- 产品(特征)设计上进行加强,而不仅是结果的预测
- 业务人员更容易操作 VS 计算机处理