首先,有关该场景的一些事实: 我尝试在scikit-learn中使用28个功能(已完成功能工程)来预测一些课程。我有一个庞大的数据集,我必须根据一个对模型决策过程产生重大影响的特定功能,将其分成7个数据集。
最后,我有X个数据集,并为每个数据集使用GridSearch来查找最佳/良好的超参数集。为此,我使用了4个模型(决策树桩作为基准,决策树,RandomForest,GradientBoostedTrees)。之后,我想分析最佳估计器以提取特征重要性,并针对每个数据集独立进行进一步的特定特征工程。
对我来说,前4个数据集功能的重要性似乎还不错。但是,从第5个数据集开始,训练有素的GBDT对所有要素都赋予零要素重要性。其他分类器的行为符合预期。
对于某些情况,这是一个具体示例:
一个数据集的特征重要性:
模型精度:
我在互联网上搜索了这个问题,发现答案只有一个相关的线索,那就是除了“请给我更多的上下文信息”和“也许有一些错误?”之外,这是一个训练有素的分类器可以学到些微不足道的事实。但是,我分析了GBDT的所有树,实际上,似乎没有使用任何功能,每棵树都有一层,看起来像这样
digraph Tree {
node [shape=box];
0 [label = friedman_mse = 0.135
samples = 106
values = 0.054
];
}
有人对此有解释吗?非常感谢:)