Kaggle Titanic Project


In [1]:
import pandas as pd
import numpy as np
import tensorflow as tf
from sklearn.svm import SVC
from sklearn.ensemble import RandomForestClassifier
from sklearn.ensemble import ExtraTreesClassifier
from sklearn.ensemble import VotingClassifier
#from sklearn.ensemble import GradientBoostingClassifier
from xgboost import XGBClassifier
from sklearn import preprocessing
from sklearn.preprocessing import Imputer
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import StratifiedShuffleSplit
from sklearn.model_selection import GridSearchCV
from sklearn.model_selection import train_test_split


/Users/Bei/anaconda/lib/python3.6/site-packages/sklearn/cross_validation.py:44: DeprecationWarning: This module was deprecated in version 0.18 in favor of the model_selection module into which all the refactored classes and functions are moved. Also note that the interface of the new CV iterators are different from that of this module. This module will be removed in 0.20.
  "This module will be removed in 0.20.", DeprecationWarning)

In [2]:
train_raw = pd.read_csv('train.csv')
test_raw = pd.read_csv('test.csv')

In [3]:
train_raw.columns


Out[3]:
Index(['PassengerId', 'Survived', 'Pclass', 'Name', 'Sex', 'Age', 'SibSp',
       'Parch', 'Ticket', 'Fare', 'Cabin', 'Embarked'],
      dtype='object')

In [4]:
train_raw.info()


<class 'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (total 12 columns):
PassengerId    891 non-null int64
Survived       891 non-null int64
Pclass         891 non-null int64
Name           891 non-null object
Sex            891 non-null object
Age            714 non-null float64
SibSp          891 non-null int64
Parch          891 non-null int64
Ticket         891 non-null object
Fare           891 non-null float64
Cabin          204 non-null object
Embarked       889 non-null object
dtypes: float64(2), int64(5), object(5)
memory usage: 83.6+ KB

Keep only predetermined relevant columns:


In [5]:
train = train_raw[['Survived', 'Pclass', 'Sex', 'Age', 'SibSp', 'Parch', 'Fare']]

In [6]:
train.info()


<class 'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (total 7 columns):
Survived    891 non-null int64
Pclass      891 non-null int64
Sex         891 non-null object
Age         714 non-null float64
SibSp       891 non-null int64
Parch       891 non-null int64
Fare        891 non-null float64
dtypes: float64(2), int64(4), object(1)
memory usage: 48.8+ KB

In [7]:
test = test_raw[['Pclass', 'Sex', 'Age', 'SibSp', 'Parch', 'Fare']]

In [8]:
test.info()


<class 'pandas.core.frame.DataFrame'>
RangeIndex: 418 entries, 0 to 417
Data columns (total 6 columns):
Pclass    418 non-null int64
Sex       418 non-null object
Age       332 non-null float64
SibSp     418 non-null int64
Parch     418 non-null int64
Fare      417 non-null float64
dtypes: float64(2), int64(3), object(1)
memory usage: 19.7+ KB

Transform categorial sex data to numerical:


In [9]:
le = preprocessing.LabelEncoder()
le.fit(["female", "male"])
print(le.transform(["female", "male"]))
train['Sex'] = le.transform(train['Sex'])


[0 1]
/Users/Bei/anaconda/lib/python3.6/site-packages/ipykernel_launcher.py:4: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  after removing the cwd from sys.path.

In [10]:
test['Sex'] = le.transform(test['Sex'])


/Users/Bei/anaconda/lib/python3.6/site-packages/ipykernel_launcher.py:1: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  """Entry point for launching an IPython kernel.

Set up training set:


In [11]:
Y_train = train['Survived']
del train['Survived']
# Use sklearn imputer to fill in missing data (in Age) using mean value of Age column:
imp_mean = Imputer(missing_values='NaN', strategy='mean', axis=0)
imp_median = Imputer(missing_values='NaN', strategy='median', axis=0)
imp_mean.fit(train.values)
imp_median.fit(train.values)
X_train = [imp_mean.transform(train.values), imp_median.transform(train.values)]
X_train[0]


Out[11]:
array([[  3.        ,   1.        ,  22.        ,   1.        ,
          0.        ,   7.25      ],
       [  1.        ,   0.        ,  38.        ,   1.        ,
          0.        ,  71.2833    ],
       [  3.        ,   0.        ,  26.        ,   0.        ,
          0.        ,   7.925     ],
       ..., 
       [  3.        ,   0.        ,  29.69911765,   1.        ,
          2.        ,  23.45      ],
       [  1.        ,   1.        ,  26.        ,   0.        ,
          0.        ,  30.        ],
       [  3.        ,   1.        ,  32.        ,   0.        ,
          0.        ,   7.75      ]])

Center and normalize training data:


In [12]:
scaler = []
for i in range(len(X_train)):
    current_scalar = preprocessing.StandardScaler().fit(X_train[i])
    X_train[i] = current_scalar.transform(X_train[i])
    scaler.append(current_scalar)
X_train[0]


Out[12]:
array([[ 0.82737724,  0.73769513, -0.5924806 ,  0.43279337, -0.47367361,
        -0.50244517],
       [-1.56610693, -1.35557354,  0.63878901,  0.43279337, -0.47367361,
         0.78684529],
       [ 0.82737724, -1.35557354, -0.2846632 , -0.4745452 , -0.47367361,
        -0.48885426],
       ..., 
       [ 0.82737724, -1.35557354,  0.        ,  0.43279337,  2.00893337,
        -0.17626324],
       [-1.56610693,  0.73769513, -0.2846632 , -0.4745452 , -0.47367361,
        -0.04438104],
       [ 0.82737724,  0.73769513,  0.17706291, -0.4745452 , -0.47367361,
        -0.49237783]])

Implement SVM with cross-validation for a test run:


In [13]:
svm = []
svm_scores = []
C_range = np.linspace(1e-2, 10, 1e2)
gamma_range = np.linspace(1e-1, 10, 10)
param_grid = dict(gamma=gamma_range, C=C_range)
for i in range(len(X_train)):
    cv = StratifiedShuffleSplit(n_splits=5, test_size=0.2, random_state=0)
    grid = GridSearchCV(SVC(probability=True), param_grid=param_grid, cv=cv)
    grid.fit(X_train[i], Y_train)
    current_svm = grid.best_estimator_
    svm.append(current_svm)
    current_score = grid.best_score_
    svm_scores.append(current_score)
print('Best CV accuracy: ', np.amax(svm_scores))
best_svm_index = np.argmax(svm_scores)
best_svm = svm[best_svm_index]
best_scaler_index = best_svm_index
print('Best model index: ', best_scaler_index)
X_train = X_train[best_scaler_index]
print('Best training accuracy: ', svm[best_svm_index].score(X_train, Y_train))


/home/wtg/anaconda3/lib/python3.6/site-packages/ipykernel_launcher.py:3: DeprecationWarning: object of type <class 'float'> cannot be safely interpreted as an integer.
  This is separate from the ipykernel package so we can avoid doing imports until
Best CV accuracy:  0.826815642458
Best model index:  0
Best training accuracy:  0.833894500561

Random forest with cross-validation:


In [14]:
num_trees = range(10, 100)
num_features = range(1, 7)
rf_param_grid = dict(n_estimators=num_trees, max_features=num_features)
cv = StratifiedShuffleSplit(n_splits=5, test_size=0.2, random_state=13)
rf_grid = GridSearchCV(RandomForestClassifier(n_jobs=-1), param_grid=rf_param_grid, cv=cv)
rf_grid.fit(X_train, Y_train)
best_rf = rf_grid.best_estimator_
best_rf_cv_score = rf_grid.best_score_
best_rf_score = best_rf.score(X_train, Y_train)
print('Best CV accuracy: ', best_rf_cv_score)
print('Best training accuracy: ', best_rf_score)
print('Feature importance: ', best_rf.feature_importances_)


Best CV accuracy:  0.842458100559
Best training accuracy:  0.978675645342
Feature importance:  [ 0.09435327  0.30578913  0.25340932  0.05081035  0.03483353  0.26080441]

In [15]:
erf_grid = GridSearchCV(ExtraTreesClassifier(n_jobs=-1), param_grid=rf_param_grid, cv=cv)
erf_grid.fit(X_train, Y_train)
best_erf = erf_grid.best_estimator_
best_erf_cv_score = erf_grid.best_score_
best_erf_score = best_erf.score(X_train, Y_train)
print('Best CV accuracy: ', best_erf_cv_score)
print('Best training accuracy: ', best_erf_score)
print('Feature importance: ', best_erf.feature_importances_)


Best CV accuracy:  0.817877094972
Best training accuracy:  0.982042648709
Feature importance:  [ 0.11166329  0.30130012  0.25386875  0.04482933  0.03959836  0.24874015]

Gradient Tree Boosting:


In [16]:
num_trees_range = range(10, 100, 5)
max_depth_range = range(1, 10)
learning_rate_range = np.linspace(1e-2, 2e-1, 15)
gtb_param_grid = dict(n_estimators=num_trees_range, max_depth=max_depth_range, learning_rate=learning_rate_range)
cv = StratifiedShuffleSplit(n_splits=5, test_size=0.2, random_state=22)
gtb_grid = GridSearchCV(XGBClassifier(), param_grid=gtb_param_grid, cv=cv)
gtb_grid.fit(X_train, Y_train)
best_gtb = gtb_grid.best_estimator_
best_gtb_cv_score = gtb_grid.best_score_
best_gtb_score = best_gtb.score(X_train, Y_train)
print('Best CV accuracy: ', best_gtb_cv_score)
print('Best training accuracy: ', best_gtb_score)
print('Feature importance: ', best_gtb.feature_importances_)


Best CV accuracy:  0.839106145251
Best training accuracy:  0.897867564534
Feature importance:  [ 0.05061867  0.05061867  0.38132733  0.06974128  0.02699663  0.42069742]

Create an voting ensemble using above sklearn models:


In [17]:
ensemble = []
cv_score = []
weights_range = range(1, 5)
for i in weights_range:
    for j in weights_range:
        for k in weights_range:
            for l in weights_range:
                current_ensemble = VotingClassifier(estimators=[('SVM', best_svm), ('RF', best_rf), ('ERF', best_erf), 
                                                                ('GTB', best_gtb)], voting='soft', weights=[i, j, k, l])
                ensemble.append(current_ensemble)
                current_score = np.mean(cross_val_score(current_ensemble, X_train, Y_train, cv=5))
                cv_score.append(current_score)
ensembel_score = np.amax(cv_score)
print('Ensemble CV accuracy: ', ensembel_score)
best_ensemble = ensemble[np.argmax(cv_score)]
best_ensemble.fit(X_train, Y_train)
print('Ensemble training accuracy: ', best_ensemble.score(X_train, Y_train))


Ensemble CV accuracy:  0.844012969774
Ensemble training accuracy:  0.912457912458

Deep neural network using TensorFlow:


In [20]:
dnn = []
def get_train_inputs():
    x = tf.constant(X_train[:720, :], shape = [720, 6])
    y = tf.constant(Y_train.values[:720])
    return x, y
feature_columns = [tf.contrib.layers.real_valued_column("", dimension=6)]
for n in [1e3, 2e3, 5e3, 1e4]:
    current_dnn = tf.contrib.learn.DNNClassifier(feature_columns=feature_columns, hidden_units=[10, 20, 10], 
                                                 n_classes=2, dropout=0.1, 
                                                 optimizer=tf.train.ProximalAdagradOptimizer(learning_rate=0.1,
                                                                                            l1_regularization_strength=0.001))
    current_dnn.fit(input_fn=get_train_inputs, steps=n)
    dnn.append(current_dnn)
def get_validation_inputs():
    x = tf.constant(X_train[720:, :], shape = [171, 6])
    y = tf.constant(Y_train.values[720:])
    return x, y
validation_scores = []
for i in range(4):
    score = dnn[i].evaluate(input_fn=get_validation_inputs, steps=1)["accuracy"]
    validation_scores.append(score)
best_valid_accuracy = np.amax(validation_scores)
best_dnn_index = np.argmax(validation_scores)
best_dnn = dnn[best_dnn_index]
best_dnn_training_score = dnn[best_dnn_index].evaluate(input_fn=get_train_inputs, steps=1)["accuracy"]
print('Best validation accuracy: ', best_valid_accuracy)
print('Best DNN index: ', best_dnn_index)
print('Best DNN training accuracy: ', best_dnn_training_score)


INFO:tensorflow:Using default config.
INFO:tensorflow:Using config: {'_task_type': None, '_task_id': 0, '_cluster_spec': <tensorflow.python.training.server_lib.ClusterSpec object at 0x124989780>, '_master': '', '_num_ps_replicas': 0, '_num_worker_replicas': 0, '_environment': 'local', '_is_chief': True, '_evaluation_master': '', '_tf_config': gpu_options {
  per_process_gpu_memory_fraction: 1
}
, '_tf_random_seed': None, '_save_summary_steps': 100, '_save_checkpoints_secs': 600, '_save_checkpoints_steps': None, '_keep_checkpoint_max': 5, '_keep_checkpoint_every_n_hours': 10000, '_model_dir': None}
WARNING:tensorflow:Using temporary folder as model directory: /var/folders/gn/70r505j92657bswr33v4_9z00000gn/T/tmphn879p0x
WARNING:tensorflow:From /Users/Bei/anaconda/lib/python3.6/site-packages/tensorflow/contrib/learn/python/learn/estimators/head.py:615: scalar_summary (from tensorflow.python.ops.logging_ops) is deprecated and will be removed after 2016-11-30.
Instructions for updating:
Please switch to tf.summary.scalar. Note that tf.summary.scalar uses the node name instead of the tag. This means that TensorFlow will automatically de-duplicate summary names based on the scope they are created in. Also, passing a tensor or list of tags to a scalar summary op is no longer supported.
INFO:tensorflow:Create CheckpointSaverHook.
INFO:tensorflow:Saving checkpoints for 1 into /var/folders/gn/70r505j92657bswr33v4_9z00000gn/T/tmphn879p0x/model.ckpt.
INFO:tensorflow:loss = 0.693677, step = 1
INFO:tensorflow:global_step/sec: 390.978
INFO:tensorflow:loss = 0.47426, step = 101 (0.256 sec)
INFO:tensorflow:global_step/sec: 439.338
INFO:tensorflow:loss = 0.456949, step = 201 (0.228 sec)
INFO:tensorflow:global_step/sec: 455.159
INFO:tensorflow:loss = 0.445361, step = 301 (0.221 sec)
INFO:tensorflow:global_step/sec: 507.562
INFO:tensorflow:loss = 0.434925, step = 401 (0.196 sec)
INFO:tensorflow:global_step/sec: 449.997
INFO:tensorflow:loss = 0.435503, step = 501 (0.226 sec)
INFO:tensorflow:global_step/sec: 481.016
INFO:tensorflow:loss = 0.443474, step = 601 (0.205 sec)
INFO:tensorflow:global_step/sec: 348.459
INFO:tensorflow:loss = 0.442437, step = 701 (0.298 sec)
INFO:tensorflow:global_step/sec: 245.621
INFO:tensorflow:loss = 0.433982, step = 801 (0.398 sec)
INFO:tensorflow:global_step/sec: 216.081
INFO:tensorflow:loss = 0.43289, step = 901 (0.461 sec)
INFO:tensorflow:Saving checkpoints for 1000 into /var/folders/gn/70r505j92657bswr33v4_9z00000gn/T/tmphn879p0x/model.ckpt.
INFO:tensorflow:Loss for final step: 0.431968.
INFO:tensorflow:Using default config.
INFO:tensorflow:Using config: {'_task_type': None, '_task_id': 0, '_cluster_spec': <tensorflow.python.training.server_lib.ClusterSpec object at 0x12683c400>, '_master': '', '_num_ps_replicas': 0, '_num_worker_replicas': 0, '_environment': 'local', '_is_chief': True, '_evaluation_master': '', '_tf_config': gpu_options {
  per_process_gpu_memory_fraction: 1
}
, '_tf_random_seed': None, '_save_summary_steps': 100, '_save_checkpoints_secs': 600, '_save_checkpoints_steps': None, '_keep_checkpoint_max': 5, '_keep_checkpoint_every_n_hours': 10000, '_model_dir': None}
WARNING:tensorflow:Using temporary folder as model directory: /var/folders/gn/70r505j92657bswr33v4_9z00000gn/T/tmpdo4iuucs
WARNING:tensorflow:From /Users/Bei/anaconda/lib/python3.6/site-packages/tensorflow/contrib/learn/python/learn/estimators/head.py:615: scalar_summary (from tensorflow.python.ops.logging_ops) is deprecated and will be removed after 2016-11-30.
Instructions for updating:
Please switch to tf.summary.scalar. Note that tf.summary.scalar uses the node name instead of the tag. This means that TensorFlow will automatically de-duplicate summary names based on the scope they are created in. Also, passing a tensor or list of tags to a scalar summary op is no longer supported.
INFO:tensorflow:Create CheckpointSaverHook.
INFO:tensorflow:Saving checkpoints for 1 into /var/folders/gn/70r505j92657bswr33v4_9z00000gn/T/tmpdo4iuucs/model.ckpt.
INFO:tensorflow:loss = 0.68412, step = 1
INFO:tensorflow:global_step/sec: 436.817
INFO:tensorflow:loss = 0.468273, step = 101 (0.232 sec)
INFO:tensorflow:global_step/sec: 421.491
INFO:tensorflow:loss = 0.456555, step = 201 (0.235 sec)
INFO:tensorflow:global_step/sec: 520.256
INFO:tensorflow:loss = 0.435765, step = 301 (0.192 sec)
INFO:tensorflow:global_step/sec: 505.16
INFO:tensorflow:loss = 0.444856, step = 401 (0.198 sec)
INFO:tensorflow:global_step/sec: 497.572
INFO:tensorflow:loss = 0.432272, step = 501 (0.201 sec)
INFO:tensorflow:global_step/sec: 490.435
INFO:tensorflow:loss = 0.424219, step = 601 (0.204 sec)
INFO:tensorflow:global_step/sec: 482.118
INFO:tensorflow:loss = 0.425312, step = 701 (0.207 sec)
INFO:tensorflow:global_step/sec: 502.444
INFO:tensorflow:loss = 0.421716, step = 801 (0.199 sec)
INFO:tensorflow:global_step/sec: 501.002
INFO:tensorflow:loss = 0.430959, step = 901 (0.200 sec)
INFO:tensorflow:global_step/sec: 504.951
INFO:tensorflow:loss = 0.436463, step = 1001 (0.198 sec)
INFO:tensorflow:global_step/sec: 468.143
INFO:tensorflow:loss = 0.420034, step = 1101 (0.216 sec)
INFO:tensorflow:global_step/sec: 468.187
INFO:tensorflow:loss = 0.424567, step = 1201 (0.211 sec)
INFO:tensorflow:global_step/sec: 513.753
INFO:tensorflow:loss = 0.436045, step = 1301 (0.194 sec)
INFO:tensorflow:global_step/sec: 504.419
INFO:tensorflow:loss = 0.4209, step = 1401 (0.198 sec)
INFO:tensorflow:global_step/sec: 497.015
INFO:tensorflow:loss = 0.425563, step = 1501 (0.202 sec)
INFO:tensorflow:global_step/sec: 483.592
INFO:tensorflow:loss = 0.42412, step = 1601 (0.207 sec)
INFO:tensorflow:global_step/sec: 479.422
INFO:tensorflow:loss = 0.425845, step = 1701 (0.208 sec)
INFO:tensorflow:global_step/sec: 499.526
INFO:tensorflow:loss = 0.423928, step = 1801 (0.201 sec)
INFO:tensorflow:global_step/sec: 492.145
INFO:tensorflow:loss = 0.428803, step = 1901 (0.202 sec)
INFO:tensorflow:Saving checkpoints for 2000 into /var/folders/gn/70r505j92657bswr33v4_9z00000gn/T/tmpdo4iuucs/model.ckpt.
INFO:tensorflow:Loss for final step: 0.422532.
INFO:tensorflow:Using default config.
INFO:tensorflow:Using config: {'_task_type': None, '_task_id': 0, '_cluster_spec': <tensorflow.python.training.server_lib.ClusterSpec object at 0x126b52470>, '_master': '', '_num_ps_replicas': 0, '_num_worker_replicas': 0, '_environment': 'local', '_is_chief': True, '_evaluation_master': '', '_tf_config': gpu_options {
  per_process_gpu_memory_fraction: 1
}
, '_tf_random_seed': None, '_save_summary_steps': 100, '_save_checkpoints_secs': 600, '_save_checkpoints_steps': None, '_keep_checkpoint_max': 5, '_keep_checkpoint_every_n_hours': 10000, '_model_dir': None}
WARNING:tensorflow:Using temporary folder as model directory: /var/folders/gn/70r505j92657bswr33v4_9z00000gn/T/tmppqu5lxlj
WARNING:tensorflow:From /Users/Bei/anaconda/lib/python3.6/site-packages/tensorflow/contrib/learn/python/learn/estimators/head.py:615: scalar_summary (from tensorflow.python.ops.logging_ops) is deprecated and will be removed after 2016-11-30.
Instructions for updating:
Please switch to tf.summary.scalar. Note that tf.summary.scalar uses the node name instead of the tag. This means that TensorFlow will automatically de-duplicate summary names based on the scope they are created in. Also, passing a tensor or list of tags to a scalar summary op is no longer supported.
INFO:tensorflow:Create CheckpointSaverHook.
INFO:tensorflow:Saving checkpoints for 1 into /var/folders/gn/70r505j92657bswr33v4_9z00000gn/T/tmppqu5lxlj/model.ckpt.
INFO:tensorflow:loss = 0.700548, step = 1
INFO:tensorflow:global_step/sec: 484.256
INFO:tensorflow:loss = 0.445406, step = 101 (0.208 sec)
INFO:tensorflow:global_step/sec: 468.811
INFO:tensorflow:loss = 0.434641, step = 201 (0.213 sec)
INFO:tensorflow:global_step/sec: 491.99
INFO:tensorflow:loss = 0.443241, step = 301 (0.203 sec)
INFO:tensorflow:global_step/sec: 491.14
INFO:tensorflow:loss = 0.441917, step = 401 (0.204 sec)
INFO:tensorflow:global_step/sec: 487.339
INFO:tensorflow:loss = 0.429036, step = 501 (0.206 sec)
INFO:tensorflow:global_step/sec: 464.168
INFO:tensorflow:loss = 0.424129, step = 601 (0.215 sec)
INFO:tensorflow:global_step/sec: 494.03
INFO:tensorflow:loss = 0.429858, step = 701 (0.203 sec)
INFO:tensorflow:global_step/sec: 492.985
INFO:tensorflow:loss = 0.427251, step = 801 (0.204 sec)
INFO:tensorflow:global_step/sec: 512.156
INFO:tensorflow:loss = 0.428933, step = 901 (0.194 sec)
INFO:tensorflow:global_step/sec: 520.375
INFO:tensorflow:loss = 0.433986, step = 1001 (0.192 sec)
INFO:tensorflow:global_step/sec: 503.464
INFO:tensorflow:loss = 0.417606, step = 1101 (0.199 sec)
INFO:tensorflow:global_step/sec: 505.643
INFO:tensorflow:loss = 0.425713, step = 1201 (0.198 sec)
INFO:tensorflow:global_step/sec: 514.62
INFO:tensorflow:loss = 0.419828, step = 1301 (0.195 sec)
INFO:tensorflow:global_step/sec: 506.835
INFO:tensorflow:loss = 0.413324, step = 1401 (0.197 sec)
INFO:tensorflow:global_step/sec: 509.448
INFO:tensorflow:loss = 0.417674, step = 1501 (0.196 sec)
INFO:tensorflow:global_step/sec: 499.707
INFO:tensorflow:loss = 0.407464, step = 1601 (0.201 sec)
INFO:tensorflow:global_step/sec: 504.065
INFO:tensorflow:loss = 0.424521, step = 1701 (0.198 sec)
INFO:tensorflow:global_step/sec: 501.626
INFO:tensorflow:loss = 0.405122, step = 1801 (0.199 sec)
INFO:tensorflow:global_step/sec: 502.315
INFO:tensorflow:loss = 0.418972, step = 1901 (0.199 sec)
INFO:tensorflow:global_step/sec: 517.007
INFO:tensorflow:loss = 0.408089, step = 2001 (0.194 sec)
INFO:tensorflow:global_step/sec: 511.47
INFO:tensorflow:loss = 0.402757, step = 2101 (0.196 sec)
INFO:tensorflow:global_step/sec: 505.489
INFO:tensorflow:loss = 0.407443, step = 2201 (0.198 sec)
INFO:tensorflow:global_step/sec: 500.03
INFO:tensorflow:loss = 0.418562, step = 2301 (0.201 sec)
INFO:tensorflow:global_step/sec: 503.132
INFO:tensorflow:loss = 0.415107, step = 2401 (0.198 sec)
INFO:tensorflow:global_step/sec: 510.815
INFO:tensorflow:loss = 0.413117, step = 2501 (0.196 sec)
INFO:tensorflow:global_step/sec: 521.466
INFO:tensorflow:loss = 0.409784, step = 2601 (0.191 sec)
INFO:tensorflow:global_step/sec: 503.733
INFO:tensorflow:loss = 0.411736, step = 2701 (0.199 sec)
INFO:tensorflow:global_step/sec: 503.949
INFO:tensorflow:loss = 0.405592, step = 2801 (0.199 sec)
INFO:tensorflow:global_step/sec: 505.758
INFO:tensorflow:loss = 0.418364, step = 2901 (0.198 sec)
INFO:tensorflow:global_step/sec: 494.765
INFO:tensorflow:loss = 0.407792, step = 3001 (0.205 sec)
INFO:tensorflow:global_step/sec: 498.743
INFO:tensorflow:loss = 0.406028, step = 3101 (0.198 sec)
INFO:tensorflow:global_step/sec: 501.706
INFO:tensorflow:loss = 0.419895, step = 3201 (0.200 sec)
INFO:tensorflow:global_step/sec: 497.927
INFO:tensorflow:loss = 0.395644, step = 3301 (0.200 sec)
INFO:tensorflow:global_step/sec: 500.719
INFO:tensorflow:loss = 0.40863, step = 3401 (0.200 sec)
INFO:tensorflow:global_step/sec: 505.357
INFO:tensorflow:loss = 0.417083, step = 3501 (0.198 sec)
INFO:tensorflow:global_step/sec: 503.16
INFO:tensorflow:loss = 0.407973, step = 3601 (0.199 sec)
INFO:tensorflow:global_step/sec: 503.91
INFO:tensorflow:loss = 0.400691, step = 3701 (0.198 sec)
INFO:tensorflow:global_step/sec: 522.728
INFO:tensorflow:loss = 0.405996, step = 3801 (0.191 sec)
INFO:tensorflow:global_step/sec: 500.088
INFO:tensorflow:loss = 0.404755, step = 3901 (0.200 sec)
INFO:tensorflow:global_step/sec: 493.925
INFO:tensorflow:loss = 0.410423, step = 4001 (0.202 sec)
INFO:tensorflow:global_step/sec: 505.343
INFO:tensorflow:loss = 0.420988, step = 4101 (0.198 sec)
INFO:tensorflow:global_step/sec: 503.825
INFO:tensorflow:loss = 0.41115, step = 4201 (0.198 sec)
INFO:tensorflow:global_step/sec: 506.296
INFO:tensorflow:loss = 0.40994, step = 4301 (0.199 sec)
INFO:tensorflow:global_step/sec: 427.698
INFO:tensorflow:loss = 0.400161, step = 4401 (0.233 sec)
INFO:tensorflow:global_step/sec: 463.045
INFO:tensorflow:loss = 0.407899, step = 4501 (0.218 sec)
INFO:tensorflow:global_step/sec: 458.761
INFO:tensorflow:loss = 0.406036, step = 4601 (0.216 sec)
INFO:tensorflow:global_step/sec: 488.833
INFO:tensorflow:loss = 0.410748, step = 4701 (0.204 sec)
INFO:tensorflow:global_step/sec: 205.702
INFO:tensorflow:loss = 0.410735, step = 4801 (0.502 sec)
INFO:tensorflow:global_step/sec: 298.318
INFO:tensorflow:loss = 0.419628, step = 4901 (0.322 sec)
INFO:tensorflow:Saving checkpoints for 5000 into /var/folders/gn/70r505j92657bswr33v4_9z00000gn/T/tmppqu5lxlj/model.ckpt.
INFO:tensorflow:Loss for final step: 0.414064.
INFO:tensorflow:Using default config.
INFO:tensorflow:Using config: {'_task_type': None, '_task_id': 0, '_cluster_spec': <tensorflow.python.training.server_lib.ClusterSpec object at 0x12760b5c0>, '_master': '', '_num_ps_replicas': 0, '_num_worker_replicas': 0, '_environment': 'local', '_is_chief': True, '_evaluation_master': '', '_tf_config': gpu_options {
  per_process_gpu_memory_fraction: 1
}
, '_tf_random_seed': None, '_save_summary_steps': 100, '_save_checkpoints_secs': 600, '_save_checkpoints_steps': None, '_keep_checkpoint_max': 5, '_keep_checkpoint_every_n_hours': 10000, '_model_dir': None}
WARNING:tensorflow:Using temporary folder as model directory: /var/folders/gn/70r505j92657bswr33v4_9z00000gn/T/tmppyo8bk4c
WARNING:tensorflow:From /Users/Bei/anaconda/lib/python3.6/site-packages/tensorflow/contrib/learn/python/learn/estimators/head.py:615: scalar_summary (from tensorflow.python.ops.logging_ops) is deprecated and will be removed after 2016-11-30.
Instructions for updating:
Please switch to tf.summary.scalar. Note that tf.summary.scalar uses the node name instead of the tag. This means that TensorFlow will automatically de-duplicate summary names based on the scope they are created in. Also, passing a tensor or list of tags to a scalar summary op is no longer supported.
INFO:tensorflow:Create CheckpointSaverHook.
INFO:tensorflow:Saving checkpoints for 1 into /var/folders/gn/70r505j92657bswr33v4_9z00000gn/T/tmppyo8bk4c/model.ckpt.
INFO:tensorflow:loss = 0.69464, step = 1
INFO:tensorflow:global_step/sec: 490.162
INFO:tensorflow:loss = 0.460685, step = 101 (0.206 sec)
INFO:tensorflow:global_step/sec: 490.718
INFO:tensorflow:loss = 0.455469, step = 201 (0.203 sec)
INFO:tensorflow:global_step/sec: 496.934
INFO:tensorflow:loss = 0.441037, step = 301 (0.201 sec)
INFO:tensorflow:global_step/sec: 428.278
INFO:tensorflow:loss = 0.440135, step = 401 (0.237 sec)
INFO:tensorflow:global_step/sec: 434.628
INFO:tensorflow:loss = 0.436584, step = 501 (0.227 sec)
INFO:tensorflow:global_step/sec: 510.402
INFO:tensorflow:loss = 0.440734, step = 601 (0.196 sec)
INFO:tensorflow:global_step/sec: 500.518
INFO:tensorflow:loss = 0.435651, step = 701 (0.200 sec)
INFO:tensorflow:global_step/sec: 504.246
INFO:tensorflow:loss = 0.443852, step = 801 (0.198 sec)
INFO:tensorflow:global_step/sec: 508.934
INFO:tensorflow:loss = 0.427535, step = 901 (0.196 sec)
INFO:tensorflow:global_step/sec: 514.851
INFO:tensorflow:loss = 0.432147, step = 1001 (0.194 sec)
INFO:tensorflow:global_step/sec: 516.529
INFO:tensorflow:loss = 0.419581, step = 1101 (0.194 sec)
INFO:tensorflow:global_step/sec: 496.002
INFO:tensorflow:loss = 0.436885, step = 1201 (0.202 sec)
INFO:tensorflow:global_step/sec: 495.811
INFO:tensorflow:loss = 0.422738, step = 1301 (0.202 sec)
INFO:tensorflow:global_step/sec: 498.179
INFO:tensorflow:loss = 0.433916, step = 1401 (0.200 sec)
INFO:tensorflow:global_step/sec: 511.613
INFO:tensorflow:loss = 0.424131, step = 1501 (0.195 sec)
INFO:tensorflow:global_step/sec: 505.222
INFO:tensorflow:loss = 0.430998, step = 1601 (0.198 sec)
INFO:tensorflow:global_step/sec: 501.354
INFO:tensorflow:loss = 0.425366, step = 1701 (0.199 sec)
INFO:tensorflow:global_step/sec: 484.369
INFO:tensorflow:loss = 0.441351, step = 1801 (0.209 sec)
INFO:tensorflow:global_step/sec: 513.965
INFO:tensorflow:loss = 0.422906, step = 1901 (0.194 sec)
INFO:tensorflow:global_step/sec: 494.713
INFO:tensorflow:loss = 0.419797, step = 2001 (0.201 sec)
INFO:tensorflow:global_step/sec: 460.195
INFO:tensorflow:loss = 0.4224, step = 2101 (0.216 sec)
INFO:tensorflow:global_step/sec: 484.95
INFO:tensorflow:loss = 0.428865, step = 2201 (0.206 sec)
INFO:tensorflow:global_step/sec: 482.45
INFO:tensorflow:loss = 0.430973, step = 2301 (0.207 sec)
INFO:tensorflow:global_step/sec: 493.925
INFO:tensorflow:loss = 0.427545, step = 2401 (0.204 sec)
INFO:tensorflow:global_step/sec: 459.08
INFO:tensorflow:loss = 0.417983, step = 2501 (0.216 sec)
INFO:tensorflow:global_step/sec: 472.831
INFO:tensorflow:loss = 0.41995, step = 2601 (0.212 sec)
INFO:tensorflow:global_step/sec: 480.406
INFO:tensorflow:loss = 0.413793, step = 2701 (0.208 sec)
INFO:tensorflow:global_step/sec: 469.762
INFO:tensorflow:loss = 0.425618, step = 2801 (0.212 sec)
INFO:tensorflow:global_step/sec: 484.508
INFO:tensorflow:loss = 0.414453, step = 2901 (0.206 sec)
INFO:tensorflow:global_step/sec: 301.373
INFO:tensorflow:loss = 0.428042, step = 3001 (0.337 sec)
INFO:tensorflow:global_step/sec: 275.603
INFO:tensorflow:loss = 0.426678, step = 3101 (0.363 sec)
INFO:tensorflow:global_step/sec: 241.957
INFO:tensorflow:loss = 0.422321, step = 3201 (0.412 sec)
INFO:tensorflow:global_step/sec: 257.973
INFO:tensorflow:loss = 0.422564, step = 3301 (0.394 sec)
INFO:tensorflow:global_step/sec: 209.918
INFO:tensorflow:loss = 0.416353, step = 3401 (0.479 sec)
INFO:tensorflow:global_step/sec: 340.625
INFO:tensorflow:loss = 0.42782, step = 3501 (0.282 sec)
INFO:tensorflow:global_step/sec: 513.969
INFO:tensorflow:loss = 0.427127, step = 3601 (0.193 sec)
INFO:tensorflow:global_step/sec: 248.412
INFO:tensorflow:loss = 0.419701, step = 3701 (0.415 sec)
INFO:tensorflow:global_step/sec: 254.372
INFO:tensorflow:loss = 0.418589, step = 3801 (0.381 sec)
INFO:tensorflow:global_step/sec: 239.819
INFO:tensorflow:loss = 0.425842, step = 3901 (0.417 sec)
INFO:tensorflow:global_step/sec: 498.142
INFO:tensorflow:loss = 0.425894, step = 4001 (0.201 sec)
INFO:tensorflow:global_step/sec: 505.538
INFO:tensorflow:loss = 0.415237, step = 4101 (0.198 sec)
INFO:tensorflow:global_step/sec: 430.219
INFO:tensorflow:loss = 0.423194, step = 4201 (0.235 sec)
INFO:tensorflow:global_step/sec: 412.798
INFO:tensorflow:loss = 0.424058, step = 4301 (0.240 sec)
INFO:tensorflow:global_step/sec: 493.447
INFO:tensorflow:loss = 0.437336, step = 4401 (0.203 sec)
INFO:tensorflow:global_step/sec: 493.618
INFO:tensorflow:loss = 0.425969, step = 4501 (0.203 sec)
INFO:tensorflow:global_step/sec: 491.958
INFO:tensorflow:loss = 0.412785, step = 4601 (0.203 sec)
INFO:tensorflow:global_step/sec: 504.024
INFO:tensorflow:loss = 0.425525, step = 4701 (0.199 sec)
INFO:tensorflow:global_step/sec: 500.774
INFO:tensorflow:loss = 0.433301, step = 4801 (0.199 sec)
INFO:tensorflow:global_step/sec: 494.291
INFO:tensorflow:loss = 0.42499, step = 4901 (0.203 sec)
INFO:tensorflow:global_step/sec: 463.502
INFO:tensorflow:loss = 0.404012, step = 5001 (0.215 sec)
INFO:tensorflow:global_step/sec: 495.091
INFO:tensorflow:loss = 0.422824, step = 5101 (0.202 sec)
INFO:tensorflow:global_step/sec: 510.295
INFO:tensorflow:loss = 0.42101, step = 5201 (0.196 sec)
INFO:tensorflow:global_step/sec: 490.923
INFO:tensorflow:loss = 0.412687, step = 5301 (0.204 sec)
INFO:tensorflow:global_step/sec: 507.246
INFO:tensorflow:loss = 0.414144, step = 5401 (0.197 sec)
INFO:tensorflow:global_step/sec: 493.503
INFO:tensorflow:loss = 0.427839, step = 5501 (0.203 sec)
INFO:tensorflow:global_step/sec: 438.635
INFO:tensorflow:loss = 0.430804, step = 5601 (0.228 sec)
INFO:tensorflow:global_step/sec: 441.847
INFO:tensorflow:loss = 0.42793, step = 5701 (0.226 sec)
INFO:tensorflow:global_step/sec: 444.206
INFO:tensorflow:loss = 0.410265, step = 5801 (0.227 sec)
INFO:tensorflow:global_step/sec: 426.483
INFO:tensorflow:loss = 0.417055, step = 5901 (0.233 sec)
INFO:tensorflow:global_step/sec: 484.968
INFO:tensorflow:loss = 0.423555, step = 6001 (0.206 sec)
INFO:tensorflow:global_step/sec: 487.529
INFO:tensorflow:loss = 0.403448, step = 6101 (0.205 sec)
INFO:tensorflow:global_step/sec: 130.075
INFO:tensorflow:loss = 0.423404, step = 6201 (0.775 sec)
INFO:tensorflow:global_step/sec: 193.577
INFO:tensorflow:loss = 0.4229, step = 6301 (0.522 sec)
INFO:tensorflow:global_step/sec: 154.826
INFO:tensorflow:loss = 0.410612, step = 6401 (0.646 sec)
INFO:tensorflow:global_step/sec: 196.708
INFO:tensorflow:loss = 0.427875, step = 6501 (0.497 sec)
INFO:tensorflow:global_step/sec: 477.809
INFO:tensorflow:loss = 0.420897, step = 6601 (0.209 sec)
INFO:tensorflow:global_step/sec: 348.345
INFO:tensorflow:loss = 0.410329, step = 6701 (0.296 sec)
INFO:tensorflow:global_step/sec: 172.05
INFO:tensorflow:loss = 0.421219, step = 6801 (0.572 sec)
INFO:tensorflow:global_step/sec: 309.818
INFO:tensorflow:loss = 0.419708, step = 6901 (0.322 sec)
INFO:tensorflow:global_step/sec: 328.372
INFO:tensorflow:loss = 0.417056, step = 7001 (0.305 sec)
INFO:tensorflow:global_step/sec: 482.786
INFO:tensorflow:loss = 0.419392, step = 7101 (0.207 sec)
INFO:tensorflow:global_step/sec: 483.491
INFO:tensorflow:loss = 0.424735, step = 7201 (0.208 sec)
INFO:tensorflow:global_step/sec: 357.657
INFO:tensorflow:loss = 0.42084, step = 7301 (0.278 sec)
INFO:tensorflow:global_step/sec: 434.999
INFO:tensorflow:loss = 0.420719, step = 7401 (0.232 sec)
INFO:tensorflow:global_step/sec: 462.646
INFO:tensorflow:loss = 0.415226, step = 7501 (0.215 sec)
INFO:tensorflow:global_step/sec: 466.921
INFO:tensorflow:loss = 0.424809, step = 7601 (0.215 sec)
INFO:tensorflow:global_step/sec: 458.678
INFO:tensorflow:loss = 0.416799, step = 7701 (0.218 sec)
INFO:tensorflow:global_step/sec: 361.686
INFO:tensorflow:loss = 0.424403, step = 7801 (0.280 sec)
INFO:tensorflow:global_step/sec: 394.266
INFO:tensorflow:loss = 0.424831, step = 7901 (0.251 sec)
INFO:tensorflow:global_step/sec: 475.236
INFO:tensorflow:loss = 0.416897, step = 8001 (0.212 sec)
INFO:tensorflow:global_step/sec: 323.179
INFO:tensorflow:loss = 0.425252, step = 8101 (0.309 sec)
INFO:tensorflow:global_step/sec: 392.402
INFO:tensorflow:loss = 0.425396, step = 8201 (0.256 sec)
INFO:tensorflow:global_step/sec: 398.268
INFO:tensorflow:loss = 0.423743, step = 8301 (0.250 sec)
INFO:tensorflow:global_step/sec: 449.123
INFO:tensorflow:loss = 0.427822, step = 8401 (0.221 sec)
INFO:tensorflow:global_step/sec: 436.572
INFO:tensorflow:loss = 0.422295, step = 8501 (0.230 sec)
INFO:tensorflow:global_step/sec: 450.108
INFO:tensorflow:loss = 0.41934, step = 8601 (0.221 sec)
INFO:tensorflow:global_step/sec: 434.664
INFO:tensorflow:loss = 0.419724, step = 8701 (0.232 sec)
INFO:tensorflow:global_step/sec: 416.816
INFO:tensorflow:loss = 0.415585, step = 8801 (0.238 sec)
INFO:tensorflow:global_step/sec: 428.656
INFO:tensorflow:loss = 0.422054, step = 8901 (0.234 sec)
INFO:tensorflow:global_step/sec: 464.425
INFO:tensorflow:loss = 0.418278, step = 9001 (0.215 sec)
INFO:tensorflow:global_step/sec: 496.983
INFO:tensorflow:loss = 0.426928, step = 9101 (0.201 sec)
INFO:tensorflow:global_step/sec: 490.863
INFO:tensorflow:loss = 0.420305, step = 9201 (0.204 sec)
INFO:tensorflow:global_step/sec: 483.647
INFO:tensorflow:loss = 0.4206, step = 9301 (0.207 sec)
INFO:tensorflow:global_step/sec: 480.638
INFO:tensorflow:loss = 0.419673, step = 9401 (0.208 sec)
INFO:tensorflow:global_step/sec: 479.602
INFO:tensorflow:loss = 0.421225, step = 9501 (0.209 sec)
INFO:tensorflow:global_step/sec: 442.274
INFO:tensorflow:loss = 0.413009, step = 9601 (0.226 sec)
INFO:tensorflow:global_step/sec: 451.845
INFO:tensorflow:loss = 0.431859, step = 9701 (0.221 sec)
INFO:tensorflow:global_step/sec: 490.379
INFO:tensorflow:loss = 0.415401, step = 9801 (0.205 sec)
INFO:tensorflow:global_step/sec: 469.113
INFO:tensorflow:loss = 0.421628, step = 9901 (0.213 sec)
INFO:tensorflow:Saving checkpoints for 10000 into /var/folders/gn/70r505j92657bswr33v4_9z00000gn/T/tmppyo8bk4c/model.ckpt.
INFO:tensorflow:Loss for final step: 0.424225.
WARNING:tensorflow:From /Users/Bei/anaconda/lib/python3.6/site-packages/tensorflow/contrib/learn/python/learn/estimators/head.py:615: scalar_summary (from tensorflow.python.ops.logging_ops) is deprecated and will be removed after 2016-11-30.
Instructions for updating:
Please switch to tf.summary.scalar. Note that tf.summary.scalar uses the node name instead of the tag. This means that TensorFlow will automatically de-duplicate summary names based on the scope they are created in. Also, passing a tensor or list of tags to a scalar summary op is no longer supported.
INFO:tensorflow:Starting evaluation at 2017-07-01-01:25:03
INFO:tensorflow:Restoring parameters from /var/folders/gn/70r505j92657bswr33v4_9z00000gn/T/tmphn879p0x/model.ckpt-1000
INFO:tensorflow:Evaluation [1/1]
INFO:tensorflow:Finished evaluation at 2017-07-01-01:25:04
INFO:tensorflow:Saving dict for global step 1000: accuracy = 0.853801, accuracy/baseline_label_mean = 0.356725, accuracy/threshold_0.500000_mean = 0.853801, auc = 0.904844, global_step = 1000, labels/actual_label_mean = 0.356725, labels/prediction_mean = 0.386464, loss = 0.357857, precision/positive_threshold_0.500000_mean = 0.821429, recall/positive_threshold_0.500000_mean = 0.754098
WARNING:tensorflow:Skipping summary for global_step, must be a float or np.float32.
WARNING:tensorflow:From /Users/Bei/anaconda/lib/python3.6/site-packages/tensorflow/contrib/learn/python/learn/estimators/head.py:615: scalar_summary (from tensorflow.python.ops.logging_ops) is deprecated and will be removed after 2016-11-30.
Instructions for updating:
Please switch to tf.summary.scalar. Note that tf.summary.scalar uses the node name instead of the tag. This means that TensorFlow will automatically de-duplicate summary names based on the scope they are created in. Also, passing a tensor or list of tags to a scalar summary op is no longer supported.
INFO:tensorflow:Starting evaluation at 2017-07-01-01:25:05
INFO:tensorflow:Restoring parameters from /var/folders/gn/70r505j92657bswr33v4_9z00000gn/T/tmpdo4iuucs/model.ckpt-2000
INFO:tensorflow:Evaluation [1/1]
INFO:tensorflow:Finished evaluation at 2017-07-01-01:25:06
INFO:tensorflow:Saving dict for global step 2000: accuracy = 0.883041, accuracy/baseline_label_mean = 0.356725, accuracy/threshold_0.500000_mean = 0.883041, auc = 0.921535, global_step = 2000, labels/actual_label_mean = 0.356725, labels/prediction_mean = 0.392289, loss = 0.332652, precision/positive_threshold_0.500000_mean = 0.859649, recall/positive_threshold_0.500000_mean = 0.803279
WARNING:tensorflow:Skipping summary for global_step, must be a float or np.float32.
WARNING:tensorflow:From /Users/Bei/anaconda/lib/python3.6/site-packages/tensorflow/contrib/learn/python/learn/estimators/head.py:615: scalar_summary (from tensorflow.python.ops.logging_ops) is deprecated and will be removed after 2016-11-30.
Instructions for updating:
Please switch to tf.summary.scalar. Note that tf.summary.scalar uses the node name instead of the tag. This means that TensorFlow will automatically de-duplicate summary names based on the scope they are created in. Also, passing a tensor or list of tags to a scalar summary op is no longer supported.
INFO:tensorflow:Starting evaluation at 2017-07-01-01:25:08
INFO:tensorflow:Restoring parameters from /var/folders/gn/70r505j92657bswr33v4_9z00000gn/T/tmppqu5lxlj/model.ckpt-5000
INFO:tensorflow:Evaluation [1/1]
INFO:tensorflow:Finished evaluation at 2017-07-01-01:25:08
INFO:tensorflow:Saving dict for global step 5000: accuracy = 0.871345, accuracy/baseline_label_mean = 0.356725, accuracy/threshold_0.500000_mean = 0.871345, auc = 0.924888, global_step = 5000, labels/actual_label_mean = 0.356725, labels/prediction_mean = 0.407251, loss = 0.324281, precision/positive_threshold_0.500000_mean = 0.830508, recall/positive_threshold_0.500000_mean = 0.803279
WARNING:tensorflow:Skipping summary for global_step, must be a float or np.float32.
WARNING:tensorflow:From /Users/Bei/anaconda/lib/python3.6/site-packages/tensorflow/contrib/learn/python/learn/estimators/head.py:615: scalar_summary (from tensorflow.python.ops.logging_ops) is deprecated and will be removed after 2016-11-30.
Instructions for updating:
Please switch to tf.summary.scalar. Note that tf.summary.scalar uses the node name instead of the tag. This means that TensorFlow will automatically de-duplicate summary names based on the scope they are created in. Also, passing a tensor or list of tags to a scalar summary op is no longer supported.
INFO:tensorflow:Starting evaluation at 2017-07-01-01:25:10
INFO:tensorflow:Restoring parameters from /var/folders/gn/70r505j92657bswr33v4_9z00000gn/T/tmppyo8bk4c/model.ckpt-10000
INFO:tensorflow:Evaluation [1/1]
INFO:tensorflow:Finished evaluation at 2017-07-01-01:25:10
INFO:tensorflow:Saving dict for global step 10000: accuracy = 0.871345, accuracy/baseline_label_mean = 0.356725, accuracy/threshold_0.500000_mean = 0.871345, auc = 0.922131, global_step = 10000, labels/actual_label_mean = 0.356725, labels/prediction_mean = 0.389027, loss = 0.333555, precision/positive_threshold_0.500000_mean = 0.854545, recall/positive_threshold_0.500000_mean = 0.770492
WARNING:tensorflow:Skipping summary for global_step, must be a float or np.float32.
WARNING:tensorflow:From /Users/Bei/anaconda/lib/python3.6/site-packages/tensorflow/contrib/learn/python/learn/estimators/head.py:615: scalar_summary (from tensorflow.python.ops.logging_ops) is deprecated and will be removed after 2016-11-30.
Instructions for updating:
Please switch to tf.summary.scalar. Note that tf.summary.scalar uses the node name instead of the tag. This means that TensorFlow will automatically de-duplicate summary names based on the scope they are created in. Also, passing a tensor or list of tags to a scalar summary op is no longer supported.
INFO:tensorflow:Starting evaluation at 2017-07-01-01:25:12
INFO:tensorflow:Restoring parameters from /var/folders/gn/70r505j92657bswr33v4_9z00000gn/T/tmpdo4iuucs/model.ckpt-2000
INFO:tensorflow:Evaluation [1/1]
INFO:tensorflow:Finished evaluation at 2017-07-01-01:25:12
INFO:tensorflow:Saving dict for global step 2000: accuracy = 0.827778, accuracy/baseline_label_mean = 0.390278, accuracy/threshold_0.500000_mean = 0.827778, auc = 0.878079, global_step = 2000, labels/actual_label_mean = 0.390278, labels/prediction_mean = 0.387741, loss = 0.40357, precision/positive_threshold_0.500000_mean = 0.842795, recall/positive_threshold_0.500000_mean = 0.686833
WARNING:tensorflow:Skipping summary for global_step, must be a float or np.float32.
Best validation accuracy:  0.883041
Best DNN index:  1
Best DNN training accuracy:  0.827778

Prepare test data:


In [15]:
imp_test = Imputer(missing_values='NaN', strategy='mean', axis=0)
imp_test.fit(test.values)
test = imp_test.transform(test.values)
test = scaler[0].transform(test)

Time to make predictions!


In [21]:
def test_input():
    return np.array(test)
Y_pred = list(best_dnn.predict(input_fn=test_input))
#Y_pred = best_ensemble.predict(test)
predictions = pd.DataFrame(test_raw['PassengerId'])
predictions['Survived'] = pd.Series(Y_pred)


WARNING:tensorflow:From /Users/Bei/anaconda/lib/python3.6/site-packages/tensorflow/python/util/deprecation.py:335: calling DNNClassifier.predict (from tensorflow.contrib.learn.python.learn.estimators.dnn) with outputs=None is deprecated and will be removed after 2017-03-01.
Instructions for updating:
Please switch to predict_classes, or set `outputs` argument.
INFO:tensorflow:Restoring parameters from /var/folders/gn/70r505j92657bswr33v4_9z00000gn/T/tmpdo4iuucs/model.ckpt-2000

In [22]:
predictions.to_csv('predictions.csv', index = False)

In [ ]: