我已经训练了XGBoost二进制分类器,并且我希望为我对模型的每个观察结果提取特征重要性(我已经具有全局特征重要性)。
更具体地说,我正在寻找一种方法,对于给模型的每个实例,确定哪些功能影响最大并使输入属于一个或另一个类。我想了解使观察结果属于某类的前5个特征,并说明如何修改这5个特征,以使属于该类的概率降低或增加。
例如,假设我的模型根据房屋的位置,表面和卧室数量来预测房屋的价格是否超过100,000美元(这是肯定的等级)。我给它提供以下输入:伦敦,400平方英尺,4间卧室,我的模型预测该房屋为正级的概率为56%。我正在寻找一个Python模块或一个函数,该模块或函数将显示每个观察结果中最具影响力的功能。
答案 0 :(得分:0)
有几种不同的方法。您可以使用xgboost库中的本机重要性度量。检查以下答案:https://stackoverflow.com/a/51645066/3733974
您也可以寻找替代方法。我可以推荐其中两个: