import numpy as np
import tflearn
from tflearn.datasets import titanic
# titanic.download_dataset('titanic_dataset.csv')
from tflearn.data_utils import load_csv
data,labels = load_csv('titanic_dataset.csv',target_column=0,categorical_labels=True,n_classes=2)
def preprocess(passengers,columns_to_delete):
for column_to_delete in sorted(columns_to_delete,reverse=True):
[passenger.pop(column_to_delete) for passenger in passengers]
for i in range(len(passengers)):
passengers[i][1] = 1. if passengers[i][1] == 'female' else 0.
return np.array(passengers,dtype=np.float32)
to_ignore = [1,6]
data = preprocess(data,to_ignore)
net = tflearn.input_data(shape=[None,6])
net = tflearn.fully_connected(net,32)
net = tflearn.fully_connected(net,32)
net = tflearn.fully_connected(net,2,activation='softmax')
net = tflearn.regression(net)
model = tflearn.DNN(net)
# model.fit(data,labels,n_epoch=10,batch_size=16,show_metric=True)
model_file = './model_titanic.tfl'
# model.save(model_file=model_file)
model.load(model_file=model_file)
dicaprio = [3, 'Jack Dawson', 'male', 19, 0, 0, 'N/A', 5.0000]
winslet = [1, 'Rose DeWitt Bukater', 'female', 17, 1, 2, 'N/A', 100.0000]
# Preprocess data
dicaprio, winslet = preprocess([dicaprio, winslet], to_ignore)
print([dicaprio, winslet])
print(dicaprio)
print(winslet)
# Predict surviving chances (class 1 results)
pred = model.predict([dicaprio, winslet])
print(pred)
print(pred.shape)
print("DiCaprio Surviving Rate:", pred[0][1])
print("Winslet Surviving Rate:", pred[1][1])