如何使用Tensorboard确定重要功能?

时间:2019-02-21 18:36:34

标签: tensorflow tensorboard

我有一个使用estimator api构建的二进制分类器模型。该模型具有大约300个功能和一个标签。我正在使用一个包含175个神经元的隐藏层模型。

我使用5000个训练步骤来运行模型。在分为训练,测试和验证集之前,我有278个一级的实例和178个二级的实例。它并不完美地平衡。

话虽如此,我的准确度是0.984。

因此,我试图解释直方图的结果,以查看是否可以使用它来确定哪些功能比其他功能更重要。这是“直方图”选项卡中的一些图片。

hidden_layer_0 activation

这是登录的屏幕截图。

logits activation

1 个答案:

答案 0 :(得分:1)

基于这些屏幕截图,看起来这些直方图是来自隐藏层和登录的激活值。我认为这不会给您任何有关您的特征如何影响模型输出的指示,因为这些直方图只是在计算这些图形操作的输出值分布

总的来说,我认为Tensorboard更适合监控而不是分析,因为Tensorboard的主要目标是make it easier to understand, debug, and optimize TensorFlow programs

话虽这么说,Tensorflow团队构建了一个名为Tensorflow Model Analysis TFMA )的工具,看来它非常适合您要执行的操作:

Gif of example TFMA use as seen in its README

如果您已经在使用estimator API,则应该能够修改代码以使用TFMA,而无需进行大量更改。 getting started guide可能是一个很好的起点!