首页 > 解决方案 > 如何使用 Tensorboard 确定重要特征?

问题描述

我有一个使用 estimator api 构建的二元分类器模型。这个模型有大约 300 个特征和一个标签。我正在使用一个具有 175 个神经元的隐藏层模型。

我用 5000 个训练步骤运行模型。在分成训练集、测试集和验证集之前,我有 278 个一类实例和 178 个二类实例。它并不完全平衡。

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

所以,我试图解释直方图的结果,看看我是否可以用它来确定哪些特征比其他特征更重要。以下是直方图选项卡中的一些图片。

hidden_​​layer_0 激活

这是logits的屏幕截图。

登录激活

标签: tensorflowtensorboard

解决方案


根据这些屏幕截图,这些直方图看起来像是来自隐藏层和 logits 的激活值。我不相信这会给你任何关于你的特征如何影响模型输出的迹象,因为这些直方图只是计算那些图形操作的输出值的分布

总的来说,我认为 Tensorboard 更适合监控而不是分析,因为 Tensorboard 的主要目标是让 TensorFlow 程序更容易理解、调试和优化

话虽如此,Tensorflow 团队构建了一个名为Tensorflow 模型分析( TFMA ) 的工具,看起来它非常适合您正在尝试做的事情:

Gif 示例 TFMA 使用,如其自述文件中所示

如果您已经在使用估算器 API,您应该能够调整您的代码以使用 TFMA,而无需进行大量更改。入门指南可能是一个很好的起点!


推荐阅读