Generates Parsing Spec for TensorFlow Example to be Used with Classifiers

If users keep data in TensorFlow Example format, they need to call tf$parse_example with a proper feature spec. There are two main things that this utility helps:

  • Users need to combine parsing spec of features with labels and weights (if any) since they are all parsed from same tf$Example instance. This utility combines these specs.

  • It is difficult to map expected label by a classifier such as dnn_classifier to corresponding tf$parse_example spec. This utility encodes it by getting related information from users (key, dtype).

classifier_parse_example_spec(feature_columns, label_key,
  label_dtype = tf$int64, label_default = NULL, weight_column = NULL)

Arguments

feature_columns

An iterable containing all feature columns. All items should be instances of classes derived from _FeatureColumn.

label_key

A string identifying the label. It means tf$Example stores labels with this key.

label_dtype

A tf$dtype identifies the type of labels. By default it is tf$int64. If user defines a label_vocabulary, this should be set as tf$string. tf$float32 labels are only supported for binary classification.

label_default

used as label if label_key does not exist in given tf$Example. An example usage: let's say label_key is 'clicked' and tf$Example contains clicked data only for positive examples in following format key:clicked, value:1. This means that if there is no data with key 'clicked' it should count as negative example by setting label_deafault=0. Type of this value should be compatible with label_dtype.

weight_column

A string or a numeric column created by column_numeric() defining feature column representing weights. It is used to down weight or boost examples during training. It will be multiplied by the loss of the example. If it is a string, it is used as a key to fetch weight tensor from the features. If it is a numeric column, raw tensor is fetched by key weight_column$key, then weight_column$normalizer_fn is applied on it to get weight tensor.

Value

A dict mapping each feature key to a FixedLenFeature or VarLenFeature value.

Raises

  • ValueError: If label is used in feature_columns.

  • ValueError: If weight_column is used in feature_columns.

  • ValueError: If any of the given feature_columns is not a feature column instance.

  • ValueError: If weight_column is not a numeric column instance.

  • ValueError: if label_key is NULL.

See also

Other parsing utilities: regressor_parse_example_spec