Multi-label classification handles the case where each example may have zero
or more associated labels, from a discrete set. This is distinct from
multi_class_head which has exactly one label from a discrete set.
This head by default uses sigmoid cross entropy loss, which expects as input
a multi-hot tensor of shape (batch_size, num_classes).
Args
n_classes
Integer, number of classes, must be >= 2
label_name
String, name of the key in label dict. Can be null if label
is a tensor (single headed models).
weight_column_name
A string defining feature column name representing
weights. It is used to down weight or boost examples during training. It
will be multiplied by the loss of the example.
enable_centered_bias
A bool. If True, estimator will learn a centered
bias variable for each class. Rest of the model structure learns the
residual after centered bias.
head_name
name of the head. If provided, predictions, summary and metrics
keys will be suffixed by "/" + head_name and the default variable scope
will be head_name.
thresholds
thresholds for eval metrics, defaults to [.5]
metric_class_ids
List of class IDs for which we should report per-class
metrics. Must all be in the range [0, n_classes).
loss_fn
Optional function that takes (labels, logits, weights) as
parameter and returns a weighted scalar loss. weights should be
optional. See tf.losses
Returns
An instance of Head for multi label classification.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2020-10-01 UTC."],[],[]]