Wide and Deep Learning Regression

Based on Googles tutorial at: https://www.tensorflow.org/tutorials/wide_and_deep Licensed under Apache 2.0 open source. http://www.apache.org/licenses/LICENSE-2.0

Define Base Feature Columns

First, let's define the base categorical and continuous feature columns that we'll use. These base columns will be the building blocks used by both the wide part and the deep part of the model.

In [1]:
import tensorflow as tf
In [2]:
# Continuous columns
age = tf.feature_column.numeric_column('age')
education_num = tf.feature_column.numeric_column('education_num')
capital_gain = tf.feature_column.numeric_column('capital_gain')
capital_loss = tf.feature_column.numeric_column('capital_loss')
hours_per_week = tf.feature_column.numeric_column('hours_per_week')

education = tf.feature_column.categorical_column_with_vocabulary_list(
    'education', [
        'Bachelors', 'HS-grad', '11th', 'Masters', '9th', 'Some-college',
        'Assoc-acdm', 'Assoc-voc', '7th-8th', 'Doctorate', 'Prof-school',
        '5th-6th', '10th', '1st-4th', 'Preschool', '12th'])

marital_status = tf.feature_column.categorical_column_with_vocabulary_list(
    'marital_status', [
        'Married-civ-spouse', 'Divorced', 'Married-spouse-absent',
        'Never-married', 'Separated', 'Married-AF-spouse', 'Widowed'])

relationship = tf.feature_column.categorical_column_with_vocabulary_list(
    'relationship', [
        'Husband', 'Not-in-family', 'Wife', 'Own-child', 'Unmarried',
        'Other-relative'])

workclass = tf.feature_column.categorical_column_with_vocabulary_list(
    'workclass', [
        'Self-emp-not-inc', 'Private', 'State-gov', 'Federal-gov',
        'Local-gov', '?', 'Self-emp-inc', 'Without-pay', 'Never-worked'])

# To show an example of hashing:
occupation = tf.feature_column.categorical_column_with_hash_bucket(
    'occupation', hash_bucket_size=1000)

# Transformations.
age_buckets = tf.feature_column.bucketized_column(
    age, boundaries=[18, 25, 30, 35, 40, 45, 50, 55, 60, 65])

The Wide Model: Linear Model with Crossed Feature Columns

The wide model is a linear model with a wide set of sparse and crossed feature columns:

In [3]:
base_columns = [
    education, marital_status, relationship, workclass, occupation,
    age_buckets,
]

crossed_columns = [
    tf.feature_column.crossed_column(
        ['education', 'occupation'], hash_bucket_size=1000),
    tf.feature_column.crossed_column(
        [age_buckets, 'education', 'occupation'], hash_bucket_size=1000),
]
In [4]:
deep_columns = [
    age,
    education_num,
    capital_gain,
    capital_loss,
    hours_per_week,
    tf.feature_column.indicator_column(workclass),
    tf.feature_column.indicator_column(education),
    tf.feature_column.indicator_column(marital_status),
    tf.feature_column.indicator_column(relationship),
    # To show an example of embedding
    tf.feature_column.embedding_column(occupation, dimension=8),
]
In [13]:
class _ : # this is an empty shell class
    pass

FLAGS = _
FLAGS.model_dir = "."
FLAGS.model_type = "wide_deep"
FLAGS.train_epochs = 10
FLAGS.epochs_per_eval = 2
FLAGS.batch_size = 40
FLAGS.train_data = "./adult.data"
FLAGS.test_data = "./adult.test"
FLAGS._SHUFFLE_BUFFER = 10

_CSV_COLUMN_DEFAULTS = [[0], [''], [0], [''], [0], [''], [''], [''], [''], [''],
                        [0], [0], [0], [''], ['']]

_CSV_COLUMNS = [
    'age', 'workclass', 'fnlwgt', 'education', 'education_num',
    'marital_status', 'occupation', 'relationship', 'race', 'gender',
    'capital_gain', 'capital_loss', 'hours_per_week', 'native_country',
    'income_bracket'
]
In [14]:
def input_fn(data_file, num_epochs, shuffle, batch_size):
  """Generate an input function for the Estimator."""
  assert tf.gfile.Exists(data_file), (
      '%s not found. Please make sure you have either run data_download.py or '
      'set both arguments --train_data and --test_data.' % data_file)

  def parse_csv(value):
    print('Parsing', data_file)
    columns = tf.decode_csv(value, record_defaults=_CSV_COLUMN_DEFAULTS)
    features = dict(zip(_CSV_COLUMNS, columns))
    labels = features.pop('income_bracket')
    return features, tf.equal(labels, '>50K')

  # Extract lines from input files using the Dataset API.
  dataset = tf.data.TextLineDataset(data_file)

  if shuffle:
    dataset = dataset.shuffle(buffer_size=FLAGS._SHUFFLE_BUFFER)

  dataset = dataset.map(parse_csv, num_parallel_calls=5)

  # We call repeat after shuffling, rather than before, to prevent separate
  # epochs from blending together.
  dataset = dataset.repeat(num_epochs)
  dataset = dataset.batch(batch_size)

  iterator = dataset.make_one_shot_iterator()
  features, labels = iterator.get_next()
  return features, labels
In [15]:
model = tf.estimator.DNNLinearCombinedClassifier(
    model_dir='./census_model',
    linear_feature_columns=base_columns + crossed_columns,
    dnn_feature_columns=deep_columns,
    dnn_hidden_units=[100, 50])
INFO:tensorflow:Using default config.
INFO:tensorflow:Using config: {'_global_id_in_cluster': 0, '_evaluation_master': '', '_keep_checkpoint_max': 5, '_num_worker_replicas': 1, '_service': None, '_session_config': None, '_model_dir': './census_model', '_save_checkpoints_secs': 600, '_keep_checkpoint_every_n_hours': 10000, '_num_ps_replicas': 0, '_tf_random_seed': None, '_task_type': 'worker', '_is_chief': True, '_save_summary_steps': 100, '_cluster_spec': <tensorflow.python.training.server_lib.ClusterSpec object at 0x000002A3E942CC18>, '_master': '', '_save_checkpoints_steps': None, '_task_id': 0, '_log_step_count_steps': 100}
In [16]:
# Train and evaluate the model every `FLAGS.epochs_per_eval` epochs.
for n in range(FLAGS.train_epochs // FLAGS.epochs_per_eval):
  model.train(input_fn=lambda: input_fn(
      FLAGS.train_data, FLAGS.epochs_per_eval, True, FLAGS.batch_size))

  results = model.evaluate(input_fn=lambda: input_fn(
      FLAGS.test_data, 1, False, FLAGS.batch_size))

  # Display evaluation metrics
  print('Results at epoch', (n + 1) * FLAGS.epochs_per_eval)
  print('-' * 30)

  for key in sorted(results):
    print('%s: %s' % (key, results[key]))
Parsing ./adult.data
INFO:tensorflow:Calling model_fn.
INFO:tensorflow:Done calling model_fn.
INFO:tensorflow:Create CheckpointSaverHook.
INFO:tensorflow:Graph was finalized.
INFO:tensorflow:Restoring parameters from ./census_model\model.ckpt-11406
INFO:tensorflow:Running local_init_op.
INFO:tensorflow:Done running local_init_op.
INFO:tensorflow:Saving checkpoints for 11407 into ./census_model\model.ckpt.
INFO:tensorflow:step = 11407, loss = 15.696762
INFO:tensorflow:global_step/sec: 97.4665
INFO:tensorflow:step = 11507, loss = 11.163063 (1.015 sec)
INFO:tensorflow:global_step/sec: 227.708
INFO:tensorflow:step = 11607, loss = 15.764944 (0.442 sec)
INFO:tensorflow:global_step/sec: 203.915
INFO:tensorflow:step = 11707, loss = 12.10465 (0.487 sec)
INFO:tensorflow:global_step/sec: 272.472
INFO:tensorflow:step = 11807, loss = 14.843469 (0.366 sec)
INFO:tensorflow:global_step/sec: 251.457
INFO:tensorflow:step = 11907, loss = 12.825766 (0.405 sec)
INFO:tensorflow:global_step/sec: 288.192
INFO:tensorflow:step = 12007, loss = 10.942009 (0.339 sec)
INFO:tensorflow:global_step/sec: 289.374
INFO:tensorflow:step = 12107, loss = 8.257545 (0.346 sec)
INFO:tensorflow:global_step/sec: 269.754
INFO:tensorflow:step = 12207, loss = 17.115953 (0.374 sec)
INFO:tensorflow:global_step/sec: 252.064
INFO:tensorflow:step = 12307, loss = 10.306659 (0.394 sec)
INFO:tensorflow:global_step/sec: 267.602
INFO:tensorflow:step = 12407, loss = 13.973766 (0.375 sec)
INFO:tensorflow:global_step/sec: 274.251
INFO:tensorflow:step = 12507, loss = 14.938175 (0.364 sec)
INFO:tensorflow:global_step/sec: 305.345
INFO:tensorflow:step = 12607, loss = 13.891913 (0.326 sec)
INFO:tensorflow:global_step/sec: 214.481
INFO:tensorflow:step = 12707, loss = 19.351824 (0.470 sec)
INFO:tensorflow:global_step/sec: 188.476
INFO:tensorflow:step = 12807, loss = 8.923177 (0.530 sec)
INFO:tensorflow:global_step/sec: 204.158
INFO:tensorflow:step = 12907, loss = 13.694695 (0.490 sec)
INFO:tensorflow:global_step/sec: 203.175
INFO:tensorflow:step = 13007, loss = 17.687096 (0.492 sec)
INFO:tensorflow:Saving checkpoints for 13035 into ./census_model\model.ckpt.
INFO:tensorflow:Loss for final step: 0.35890087.
Parsing ./adult.test
INFO:tensorflow:Calling model_fn.
INFO:tensorflow:Done calling model_fn.
INFO:tensorflow:Starting evaluation at 2018-03-02-06:13:58
INFO:tensorflow:Graph was finalized.
INFO:tensorflow:Restoring parameters from ./census_model\model.ckpt-13035
INFO:tensorflow:Running local_init_op.
INFO:tensorflow:Done running local_init_op.
INFO:tensorflow:Finished evaluation at 2018-03-02-06:14:02
INFO:tensorflow:Saving dict for global step 13035: accuracy = 0.85080767, accuracy_baseline = 0.76377374, auc = 0.89948326, auc_precision_recall = 0.76362604, average_loss = 0.32844242, global_step = 13035, label/mean = 0.23622628, loss = 13.106301, prediction/mean = 0.24313107
Results at epoch 2
------------------------------
accuracy: 0.85080767
accuracy_baseline: 0.76377374
auc: 0.89948326
auc_precision_recall: 0.76362604
average_loss: 0.32844242
global_step: 13035
label/mean: 0.23622628
loss: 13.106301
prediction/mean: 0.24313107
Parsing ./adult.data
INFO:tensorflow:Calling model_fn.
INFO:tensorflow:Done calling model_fn.
INFO:tensorflow:Create CheckpointSaverHook.
INFO:tensorflow:Graph was finalized.
INFO:tensorflow:Restoring parameters from ./census_model\model.ckpt-13035
INFO:tensorflow:Running local_init_op.
INFO:tensorflow:Done running local_init_op.
INFO:tensorflow:Saving checkpoints for 13036 into ./census_model\model.ckpt.
INFO:tensorflow:step = 13036, loss = 13.937486
INFO:tensorflow:global_step/sec: 94.1195
INFO:tensorflow:step = 13136, loss = 13.0695305 (1.072 sec)
INFO:tensorflow:global_step/sec: 241.363
INFO:tensorflow:step = 13236, loss = 18.056602 (0.418 sec)
INFO:tensorflow:global_step/sec: 240.285
INFO:tensorflow:step = 13336, loss = 10.654207 (0.408 sec)
INFO:tensorflow:global_step/sec: 248.209
INFO:tensorflow:step = 13436, loss = 13.944159 (0.408 sec)
INFO:tensorflow:global_step/sec: 202.624
INFO:tensorflow:step = 13536, loss = 13.748487 (0.490 sec)
INFO:tensorflow:global_step/sec: 244.459
INFO:tensorflow:step = 13636, loss = 10.602677 (0.410 sec)
INFO:tensorflow:global_step/sec: 209.009
INFO:tensorflow:step = 13736, loss = 8.7043705 (0.479 sec)
INFO:tensorflow:global_step/sec: 229.46
INFO:tensorflow:step = 13836, loss = 15.375284 (0.438 sec)
INFO:tensorflow:global_step/sec: 212.772
INFO:tensorflow:step = 13936, loss = 11.72175 (0.468 sec)
INFO:tensorflow:global_step/sec: 260.038
INFO:tensorflow:step = 14036, loss = 11.996243 (0.398 sec)
INFO:tensorflow:global_step/sec: 244.137
INFO:tensorflow:step = 14136, loss = 14.985775 (0.395 sec)
INFO:tensorflow:global_step/sec: 238.3
INFO:tensorflow:step = 14236, loss = 13.932972 (0.417 sec)
INFO:tensorflow:global_step/sec: 244.998
INFO:tensorflow:step = 14336, loss = 19.963108 (0.414 sec)
INFO:tensorflow:global_step/sec: 216.541
INFO:tensorflow:step = 14436, loss = 8.69858 (0.460 sec)
INFO:tensorflow:global_step/sec: 231.186
INFO:tensorflow:step = 14536, loss = 14.338223 (0.438 sec)
INFO:tensorflow:global_step/sec: 234.193
INFO:tensorflow:step = 14636, loss = 18.570837 (0.420 sec)
INFO:tensorflow:Saving checkpoints for 14664 into ./census_model\model.ckpt.
INFO:tensorflow:Loss for final step: 0.120578974.
Parsing ./adult.test
INFO:tensorflow:Calling model_fn.
INFO:tensorflow:Done calling model_fn.
INFO:tensorflow:Starting evaluation at 2018-03-02-06:14:37
INFO:tensorflow:Graph was finalized.
INFO:tensorflow:Restoring parameters from ./census_model\model.ckpt-14664
INFO:tensorflow:Running local_init_op.
INFO:tensorflow:Done running local_init_op.
INFO:tensorflow:Finished evaluation at 2018-03-02-06:14:41
INFO:tensorflow:Saving dict for global step 14664: accuracy = 0.85154474, accuracy_baseline = 0.76377374, auc = 0.90049016, auc_precision_recall = 0.7653094, average_loss = 0.32678962, global_step = 14664, label/mean = 0.23622628, loss = 13.040348, prediction/mean = 0.24300149
Results at epoch 4
------------------------------
accuracy: 0.85154474
accuracy_baseline: 0.76377374
auc: 0.90049016
auc_precision_recall: 0.7653094
average_loss: 0.32678962
global_step: 14664
label/mean: 0.23622628
loss: 13.040348
prediction/mean: 0.24300149
Parsing ./adult.data
INFO:tensorflow:Calling model_fn.
INFO:tensorflow:Done calling model_fn.
INFO:tensorflow:Create CheckpointSaverHook.
INFO:tensorflow:Graph was finalized.
INFO:tensorflow:Restoring parameters from ./census_model\model.ckpt-14664
INFO:tensorflow:Running local_init_op.
INFO:tensorflow:Done running local_init_op.
INFO:tensorflow:Saving checkpoints for 14665 into ./census_model\model.ckpt.
INFO:tensorflow:step = 14665, loss = 15.40373
INFO:tensorflow:global_step/sec: 98.1437
INFO:tensorflow:step = 14765, loss = 11.418042 (1.022 sec)
INFO:tensorflow:global_step/sec: 282.602
INFO:tensorflow:step = 14865, loss = 15.207082 (0.361 sec)
INFO:tensorflow:global_step/sec: 275.514
INFO:tensorflow:step = 14965, loss = 12.024197 (0.355 sec)
INFO:tensorflow:global_step/sec: 264.282
INFO:tensorflow:step = 15065, loss = 15.655438 (0.377 sec)
INFO:tensorflow:global_step/sec: 295.552
INFO:tensorflow:step = 15165, loss = 12.81352 (0.352 sec)
INFO:tensorflow:global_step/sec: 290.166
INFO:tensorflow:step = 15265, loss = 10.014444 (0.349 sec)
INFO:tensorflow:global_step/sec: 249.749
INFO:tensorflow:step = 15365, loss = 8.5027485 (0.387 sec)
INFO:tensorflow:global_step/sec: 279.38
INFO:tensorflow:step = 15465, loss = 17.934742 (0.366 sec)
INFO:tensorflow:global_step/sec: 277.124
INFO:tensorflow:step = 15565, loss = 11.892006 (0.349 sec)
INFO:tensorflow:global_step/sec: 304.295
INFO:tensorflow:step = 15665, loss = 13.873718 (0.326 sec)
INFO:tensorflow:global_step/sec: 271.26
INFO:tensorflow:step = 15765, loss = 16.072622 (0.378 sec)
INFO:tensorflow:global_step/sec: 280.273
INFO:tensorflow:step = 15865, loss = 11.016516 (0.354 sec)
INFO:tensorflow:global_step/sec: 277.113
INFO:tensorflow:step = 15965, loss = 17.48768 (0.359 sec)
INFO:tensorflow:global_step/sec: 272.466
INFO:tensorflow:step = 16065, loss = 8.924008 (0.378 sec)
INFO:tensorflow:global_step/sec: 266.028
INFO:tensorflow:step = 16165, loss = 12.531522 (0.369 sec)
INFO:tensorflow:global_step/sec: 299.347
INFO:tensorflow:step = 16265, loss = 16.962486 (0.327 sec)
INFO:tensorflow:Saving checkpoints for 16293 into ./census_model\model.ckpt.
INFO:tensorflow:Loss for final step: 0.10433762.
Parsing ./adult.test
INFO:tensorflow:Calling model_fn.
INFO:tensorflow:Done calling model_fn.
INFO:tensorflow:Starting evaluation at 2018-03-02-06:15:14
INFO:tensorflow:Graph was finalized.
INFO:tensorflow:Restoring parameters from ./census_model\model.ckpt-16293
INFO:tensorflow:Running local_init_op.
INFO:tensorflow:Done running local_init_op.
INFO:tensorflow:Finished evaluation at 2018-03-02-06:15:18
INFO:tensorflow:Saving dict for global step 16293: accuracy = 0.8520361, accuracy_baseline = 0.76377374, auc = 0.9011748, auc_precision_recall = 0.7665468, average_loss = 0.32544422, global_step = 16293, label/mean = 0.23622628, loss = 12.98666, prediction/mean = 0.24294214
Results at epoch 6
------------------------------
accuracy: 0.8520361
accuracy_baseline: 0.76377374
auc: 0.9011748
auc_precision_recall: 0.7665468
average_loss: 0.32544422
global_step: 16293
label/mean: 0.23622628
loss: 12.98666
prediction/mean: 0.24294214
Parsing ./adult.data
INFO:tensorflow:Calling model_fn.
INFO:tensorflow:Done calling model_fn.
INFO:tensorflow:Create CheckpointSaverHook.
INFO:tensorflow:Graph was finalized.
INFO:tensorflow:Restoring parameters from ./census_model\model.ckpt-16293
INFO:tensorflow:Running local_init_op.
INFO:tensorflow:Done running local_init_op.
INFO:tensorflow:Saving checkpoints for 16294 into ./census_model\model.ckpt.
INFO:tensorflow:step = 16294, loss = 15.482916
INFO:tensorflow:global_step/sec: 100.426
INFO:tensorflow:step = 16394, loss = 9.337782 (1.008 sec)
INFO:tensorflow:global_step/sec: 219.731
INFO:tensorflow:step = 16494, loss = 15.765422 (0.445 sec)
INFO:tensorflow:global_step/sec: 237.181
INFO:tensorflow:step = 16594, loss = 11.728275 (0.411 sec)
INFO:tensorflow:global_step/sec: 251.952
INFO:tensorflow:step = 16694, loss = 16.651022 (0.404 sec)
INFO:tensorflow:global_step/sec: 258.93
INFO:tensorflow:step = 16794, loss = 12.567206 (0.393 sec)
INFO:tensorflow:global_step/sec: 248.044
INFO:tensorflow:step = 16894, loss = 13.018972 (0.391 sec)
INFO:tensorflow:global_step/sec: 253.127
INFO:tensorflow:step = 16994, loss = 6.8933625 (0.398 sec)
INFO:tensorflow:global_step/sec: 250.927
INFO:tensorflow:step = 17094, loss = 13.64033 (0.394 sec)
INFO:tensorflow:global_step/sec: 258.484
INFO:tensorflow:step = 17194, loss = 12.005413 (0.384 sec)
INFO:tensorflow:global_step/sec: 261.396
INFO:tensorflow:step = 17294, loss = 13.864912 (0.399 sec)
INFO:tensorflow:global_step/sec: 249.845
INFO:tensorflow:step = 17394, loss = 14.715479 (0.395 sec)
INFO:tensorflow:global_step/sec: 259.612
INFO:tensorflow:step = 17494, loss = 15.092016 (0.386 sec)
INFO:tensorflow:global_step/sec: 249.762
INFO:tensorflow:step = 17594, loss = 19.082401 (0.394 sec)
INFO:tensorflow:global_step/sec: 239.215
INFO:tensorflow:step = 17694, loss = 8.969763 (0.419 sec)
INFO:tensorflow:global_step/sec: 242.096
INFO:tensorflow:step = 17794, loss = 12.341221 (0.409 sec)
INFO:tensorflow:global_step/sec: 212.889
INFO:tensorflow:step = 17894, loss = 17.64303 (0.473 sec)
INFO:tensorflow:Saving checkpoints for 17922 into ./census_model\model.ckpt.
INFO:tensorflow:Loss for final step: 1.7798648.
Parsing ./adult.test
INFO:tensorflow:Calling model_fn.
INFO:tensorflow:Done calling model_fn.
INFO:tensorflow:Starting evaluation at 2018-03-02-06:15:52
INFO:tensorflow:Graph was finalized.
INFO:tensorflow:Restoring parameters from ./census_model\model.ckpt-17922
INFO:tensorflow:Running local_init_op.
INFO:tensorflow:Done running local_init_op.
INFO:tensorflow:Finished evaluation at 2018-03-02-06:15:57
INFO:tensorflow:Saving dict for global step 17922: accuracy = 0.85215896, accuracy_baseline = 0.76377374, auc = 0.90191257, auc_precision_recall = 0.7678411, average_loss = 0.32419726, global_step = 17922, label/mean = 0.23622628, loss = 12.936902, prediction/mean = 0.24293001
Results at epoch 8
------------------------------
accuracy: 0.85215896
accuracy_baseline: 0.76377374
auc: 0.90191257
auc_precision_recall: 0.7678411
average_loss: 0.32419726
global_step: 17922
label/mean: 0.23622628
loss: 12.936902
prediction/mean: 0.24293001
Parsing ./adult.data
INFO:tensorflow:Calling model_fn.
INFO:tensorflow:Done calling model_fn.
INFO:tensorflow:Create CheckpointSaverHook.
INFO:tensorflow:Graph was finalized.
INFO:tensorflow:Restoring parameters from ./census_model\model.ckpt-17922
INFO:tensorflow:Running local_init_op.
INFO:tensorflow:Done running local_init_op.
INFO:tensorflow:Saving checkpoints for 17923 into ./census_model\model.ckpt.
INFO:tensorflow:step = 17923, loss = 15.721576
INFO:tensorflow:global_step/sec: 93.4255
INFO:tensorflow:step = 18023, loss = 12.482759 (1.080 sec)
INFO:tensorflow:global_step/sec: 262.932
INFO:tensorflow:step = 18123, loss = 16.27837 (0.382 sec)
INFO:tensorflow:global_step/sec: 248.908
INFO:tensorflow:step = 18223, loss = 12.268325 (0.399 sec)
INFO:tensorflow:global_step/sec: 260.398
INFO:tensorflow:step = 18323, loss = 18.173502 (0.397 sec)
INFO:tensorflow:global_step/sec: 252.973
INFO:tensorflow:step = 18423, loss = 13.548599 (0.380 sec)
INFO:tensorflow:global_step/sec: 270.714
INFO:tensorflow:step = 18523, loss = 8.394893 (0.384 sec)
INFO:tensorflow:global_step/sec: 260.713
INFO:tensorflow:step = 18623, loss = 7.509286 (0.377 sec)
INFO:tensorflow:global_step/sec: 251.186
INFO:tensorflow:step = 18723, loss = 19.219286 (0.390 sec)
INFO:tensorflow:global_step/sec: 253.383
INFO:tensorflow:step = 18823, loss = 12.45743 (0.396 sec)
INFO:tensorflow:global_step/sec: 281.768
INFO:tensorflow:step = 18923, loss = 14.257551 (0.364 sec)
INFO:tensorflow:global_step/sec: 260.09
INFO:tensorflow:step = 19023, loss = 14.476135 (0.378 sec)
INFO:tensorflow:global_step/sec: 265.899
INFO:tensorflow:step = 19123, loss = 11.815197 (0.383 sec)
INFO:tensorflow:global_step/sec: 254.624
INFO:tensorflow:step = 19223, loss = 19.739424 (0.388 sec)
INFO:tensorflow:global_step/sec: 261.413
INFO:tensorflow:step = 19323, loss = 7.7695174 (0.383 sec)
INFO:tensorflow:global_step/sec: 252.797
INFO:tensorflow:step = 19423, loss = 12.168207 (0.392 sec)
INFO:tensorflow:global_step/sec: 269.642
INFO:tensorflow:step = 19523, loss = 14.755896 (0.375 sec)
INFO:tensorflow:Saving checkpoints for 19551 into ./census_model\model.ckpt.
INFO:tensorflow:Loss for final step: 0.10342722.
Parsing ./adult.test
INFO:tensorflow:Calling model_fn.
INFO:tensorflow:Done calling model_fn.
INFO:tensorflow:Starting evaluation at 2018-03-02-06:16:30
INFO:tensorflow:Graph was finalized.
INFO:tensorflow:Restoring parameters from ./census_model\model.ckpt-19551
INFO:tensorflow:Running local_init_op.
INFO:tensorflow:Done running local_init_op.
INFO:tensorflow:Finished evaluation at 2018-03-02-06:16:35
INFO:tensorflow:Saving dict for global step 19551: accuracy = 0.8522818, accuracy_baseline = 0.76377374, auc = 0.9025822, auc_precision_recall = 0.76875126, average_loss = 0.3231509, global_step = 19551, label/mean = 0.23622628, loss = 12.895146, prediction/mean = 0.24295291
Results at epoch 10
------------------------------
accuracy: 0.8522818
accuracy_baseline: 0.76377374
auc: 0.9025822
auc_precision_recall: 0.76875126
average_loss: 0.3231509
global_step: 19551
label/mean: 0.23622628
loss: 12.895146
prediction/mean: 0.24295291
In [ ]:
 
In [ ]: