tensorflow_training_1

The very first attempt of tensorflow session is on linear regression model.

Linear regression, the math concept is intuitive, so we just need to jump into codeing right away.
plt.plot(x, y,, ‘ro’)
plt.axis([0,6,0,20])
pt.plot(np.unique(x), np.poy1d(np.polyfit(x,y,1))(np.unique(x)))
plt.show()

!pip install -q sklearn
from future import absolute_import, division, print_function, unicode_literals
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from IPython.display import clear_output
from six.moves import urllib

import tensorflow.compat.v2.feature_columns as fc

import tensorflow as tf
using the titanic data as example,
dftrain = pd.read_csv(‘https://storage.googleapis.com/tf-datasets/titanic/train.csv’)
dfeval = pd.read_csv(‘https://storage.googleapis.com/tf-datasets/titanic/eval.csv’)
y_train = dftrain.pop(‘survived’)
y_eval = dfeval.pop([‘survived’)
then use head, .describe(), histogram plotting to view the data.
next, onto the coding of regression in ml.
CATEGORICAL_COLUMNS = [‘sex’,’n_siblings_spouses’,’parch’,’class’,’deck’,’embark_town’,’alone’]
NUMERIC_COLUMNS = [‘age’,’fare’]

feature_columns = []
for feature_name in CATEGORICAL_COLUMNS:
vocabulary = dftrain[feature_name].unique() # gets a list of all unique values from given feature column
feature_columns.append(tf.feature_columns.categorical_column_with_vocabulary_list(feature_name, vocabulary))

for feature_name in NUMERICAL_COLUMNs:
feature_columns.append(tf.feature_column.numeric_column(feature_name, dtype=tf.float32))

print(feature_columns)

The training process
load data in batches, give 32 entires at a time, epochs, how many times the model see the same data to pick up patterns.
def make_input_fn(data_df, num_epochs=10, shuffle=True, batch_size=32):
def input_function():
ds = tf.data.Dataset.from_tensor_slices((dict(data_df), label_df))
if shuffle:
ds = ds.shuffle(1000)
ds = ds.batch(batch_size).repeat(num_epochs)
return ds
return input_function

train_input_fn = make_input_fn(dftrain, y_train)
eval_input_fn = make_input_fn(dfeval, y_eval, num_epochs=1, shuffle=False)

linear_est = tf.estimator.LinearClassifier(feature_columns=feature_columns)

linear_est.train(train_input_fn)
result = linear_est.evaluate(eval_input_fn)

clear_output()
print(resut[‘accuracy’])
result = list(linear_est.predict(eval_input_fn))
print(dfeval.loc[0])
print(y_eval.loc[0])
print(result[0][‘probabilities’][0])

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.