XGboost-由模型选择


10

我正在使用XGboost预测保险索赔的2类目标变量。我有一个在另一个数据集上运行的模型(交叉验证训练,超参数调整等...)。

我的问题是:

有没有办法知道为什么一个给定的要求会受到一个类别的影响,即解释模型选择的特征?

目的是能够向第三方人员证明机器所做的选择是合理的。

感谢您的回答。

Answers:


7

我建议你去找夏普。它使用Shapley值(从博弈论中借用的概念)来描述模型行为,并由此可以解释单个预测。

它的图形界面使用“力图”,就像您在下面看到的那样。 在此处输入图片说明

红色条由引导预测为正值的功能构建,蓝色条由其他功能构建。

在您的情况下(一个分类器),粗体数字将是sigmoid函数之前的那个,它将限制输出值在零和一(一类或另一类)之间。因此,在某些情况下它会大于1或为负,请不要害怕。

细分的大小表示该要素对预测有多大作用,在细分下您会看到要素的名称(例如LSTAT)及其实际值(例如4.98)。因此,在这种情况下,LSTAT是使数据集元素的预测值达到24.41(粗体数字)的均值特征。

请享用!


9

您可以使用ELI5库来解释功能对XGBoost模型的各个预测的贡献。

请参阅文档中的解释预测,复制如下:

为了更好地了解分类器的工作原理,让我们使用以下方法检查各个预测eli5.show_prediction()

from eli5 import show_prediction
show_prediction(clf, valid_xs[1], vec=vec, show_feature_values=True)

在此处输入图片说明


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.