Tensoflow and Keras Model for Wisconsin Cancer Data Set

TBD

Jupyter Notebook

You can find a copy of this notebook here on Google Colab wisconsin_data_github.ipynb

TBD describe:

1 test_uri = "https://raw.githubusercontent.com/mark-watson/cancer-deep-learning-model\
2 /master/test.csv"
3 train_uri = "https://raw.githubusercontent.com/mark-watson/cancer-deep-learning-mode\
4 l/master/train.csv"
5 
6 %load_ext tensorboard
7 
8 !pip install skimpy # might require restarting the runtime

TBD

 1 from keras.models import Sequential # Keras by default imports and uses Tensorflow
 2 from keras.layers import Dense, Dropout
 3 from keras import optimizers
 4 from keras.callbacks import TensorBoard
 5 import tensorflow as tf
 6 import pandas
 7 import os
 8 import datetime
 9 from skimpy import skim
10 
11 train_df = pandas.read_csv(train_uri, header=None)
12 
13 skim(train_df)
14 
15 train = train_df.values
16 X_train = train[:,0:9].astype(float) # 9 inputs
17 print("Number training examples:", len(X_train))
18 Y_train = train[:,-1].astype(float)  # one target output (0 for no cancer, 1 for mal\
19 ignant)
20 test = pandas.read_csv(test_uri, header=None).values
21 X_test = test[:,0:9].astype(float)
22 Y_test = test[:,-1].astype(float)
23 
24 model = Sequential()
25 model.add(Dense(tf.constant(15), input_dim=tf.constant(9), activation='relu'))
26 model.add(Dense(tf.constant(15), input_dim=tf.constant(15), activation='relu'))
27 model.add(Dropout(0.2)),
28 model.add(Dense(tf.constant(1), activation='sigmoid'))
29 model.summary()
30 
31 model.compile(optimizer='sgd',
32               loss='mse',
33               metrics=['accuracy'])
34 
35 logdir = os.path.join("logs", datetime.datetime.now().strftime("%Y%m%d-%H%M%S"))
36 callbacks = [TensorBoard(log_dir=logdir,histogram_freq=1,write_graph=True, write_ima\
37 ges=True)]
38 
39 
40 model.fit(X_train, Y_train, batch_size=100, epochs=60, callbacks=callbacks)
41 
42 # no cancer and malignant test samples:
43 y_predict = model.predict([[4,1,1,3,2,1,3,1,1], [3,7,7,4,4,9,4,8,1]])
44 
45 print("* y_predict (should be close to [[0], [1]]):", y_predict)

TBD describe:

1 # !pip install -U tensorboard-plugin-profile
2 
3 %tensorboard --logdir logs

Skimpy output for trainign data:

Skimpy analysis of training data
Skimpy analysis of training data
Example TensorBoard output
Example TensorBoard output