我有以下问题。我用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
如果我理解你的问题,你需要分别对每个样本的第一个特征重要性...
keras不支持功能重要性。你必须在树模型中寻找类似的东西。此外,你需要更多的东西,据我所知,还没有实现,可能不会。
我在Feature Importance Chart in neural network using Keras in Python回答了一个相关的问题。我在这里看到的唯一区别是,相反寻找对集合度量的特征重要性的解释,您需要每个单独预测的特征重要性。在这种情况下,相同的包ELI5具有可以解释eli5.sklearn.explain_prediction中的个体预测的功能。我还没有必要使用这个功能,但那里的文档似乎很简单。