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: