我正在处理一个二元分类数据集,并将xgBoost模型应用于这个问题。一旦模型准备好,我会绘制特征重要性图和底层随机森林生成的一棵树。请查看下面的图表。
问题
- 如果我取一个包含10个数据点的研究集,计算每个数据点的predict_proba得分时,特征的重要性是否会因数据点而异?
- 以CNN的类激活图为例,其激活图因数据点而异,那么当模型在多个数据点上运行时,每个特征的排序和相对重要性是否保持不变,还是会有所变化?
回答:
你说的“数据点”是指单个案例/对象/患者等吗?如果是的话;
-
你绘制的特征重要性图和树都只与模型相关,与测试集无关。确定测试集中特定对象/案例/数据点的重要特征是一个更具挑战性的任务(例如参见 XGBoostExplainer / https://medium.com/applied-data-science/new-r-package-the-xgboost-explainer-51dd7d1aa211)。
-
每个对象/案例/数据点的特征排序和相对重要性是不同的(见上文),xgboost中没有“类激活图”——所有数据都会被分析,被认为“不重要”的数据不会对最终决策产生贡献。