如何检查Tensorflow LinearClassifier的特征权重?

时间:2017-09-09 13:51:56

标签: python machine-learning tensorflow classification linear-regression

我正在尝试了解Large-scale Linear Models with TensorFlow文档。文档激励这些模型如下:

  

线性模型可以比神经模型更容易解释和调试   网。 您可以检查分配给每个要素的权重   对预测产生最大影响的是什么。

所以我从附带的TensorFlow Linear Model Tutorial运行了扩展代码示例。特别是,我运行example code from GitHub并将model-type标记设置为wide。这正确地运行并生成accuracy: 0.833733,类似于Tensorflow网页上的accuracy: 0.83557522

该示例使用tf.estimator.LinearClassifier来训练权重。然而,与能够检查权重的引用动机相反,我无法找到任何函数来实际提取LinearClassifier documentation中训练过的权重。

问题:如何访问tf.estimator.LinearClassifier中各种功能列的训练权重?我更愿意能够提取NumPy数组中的所有权重。

注意:我来自R环境,其中线性回归/分类模型具有coefs方法来提取学习的权重。我希望能够在相同的数据集上比较R和TensorFlow中的线性模型。

1 个答案:

答案 0 :(得分:3)

使用Estimator训练模型后,您可以使用tf.train.load_variable从检查点检索权重。您可以使用tf.train.list_variables查找模型权重的名称。

有计划直接在Estimator中添加此支持。