我有以下问题。我用Keras创建了一个神经网络。这是我的dataFrame的部分。 我的DataFrame看起来像:
Id MainCl Class Other Options...
1016178069 0 30 1
1016178012 0 25 0
我的结果向量给出了可以对结果进行分类的概率。 例如:
Prob_isClass_A Prob_isClass_b
0.756686 0.243314
0.999843 0.000157006
0.999818 0.000182159
现在主要问题: 有没有办法获得对结果负责的特征的最高概率? 像:
Prob_isClass_A Prob_isClass_b Most_Probability_Reason Probability
0.756686 0.243314 Main_CL_Feature 0.75
0.999843 0.000157006 Class_Feature 0.8
0.999818 0.000182159 Other_Option_Feature 0.7
答案 0 :(得分:2)
我在Feature Importance Chart in neural network using Keras in Python回答了一个相关问题。我在这里可以看到的唯一区别是,您不希望对整体度量的特征重要性进行解释,而是希望每个预测的特征重要性。在这种情况下,相同的软件包ELI5具有可以解释eli5.sklearn.explain_prediction中的各个预测的功能。我还不需要使用此功能,但是那里的文档似乎很简单。
答案 1 :(得分:0)
如果我理解你的问题,你需要分别对每个样本的第一个特征重要性...
keras不支持功能重要性。你必须在树模型中寻找类似的东西。此外,你需要更多的东西,据我所知,尚未实施,可能不会。