我正在使用Tensorflow Estimator
训练模型,我的数据不均衡。我想通过加权每个训练样例来纠正这个问题。
在原始Tensorflow中,人们可能会like this。在Estimator
中有一种简单的方法吗?也许建立自定义input_fn
?
答案 0 :(得分:0)
我假设你正在进行分类。如果是,请使用tf.estimator.DNNClassifier
:
weight_column :由...创建的字符串或
_NumericColumn
tf.feature_column.numeric_column
定义要素列表示 权重。它用于在训练期间减轻体重或增加例子。 它将乘以示例的损失。如果是一个字符串, 它被用作从features
获取权重张量的密钥。如果是 a_NumericColumn
,原始张量由键weight_column.key
获取,然后weight_column.normalizer_fn
被应用于它以获得权重张量。
答案 1 :(得分:0)
如果您要构建自定义估算器模型,则应将数据集中每个样本的类权重作为特征转发到model_fn
,并且在定义损失函数op时,可以将类权重传递给{{ 1}}参数。
示例:
weight