Creates a Head
for multi class single label classification. (deprecated)
tf.contrib.learn.multi_class_head(
n_classes, label_name=None, weight_column_name=None, enable_centered_bias=False,
head_name=None, thresholds=None, metric_class_ids=None, loss_fn=None,
label_keys=None
)
The Head uses softmax cross entropy loss.
This head expects to be fed integer labels specifying the class index. But
if label_keys
is specified, then labels must be strings from this
vocabulary, and the predicted classes will be strings from the same
vocabulary.
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) . Invalid if
n_classes is 2.
|
loss_fn
|
Optional function that takes (labels , logits , weights ) as
parameter and returns a weighted scalar loss. weights should be
optional. See tf.losses
|
label_keys
|
Optional list of strings with size [n_classes] defining the
label vocabulary. Only supported for n_classes > 2.
|
Returns | |
---|---|
An instance of Head for multi class classification.
|
Raises | |
---|---|
ValueError
|
if n_classes is < 2.
|
ValueError
|
If metric_class_ids is provided when n_classes is 2.
|
ValueError
|
If len(label_keys) != n_classes .
|