Created
October 19, 2016 18:52
-
-
Save codekitchen/ee4ab59e1dbd8024ea88275cb31e3363 to your computer and use it in GitHub Desktop.
trying out keras on the pima-indians-diabetes dataset
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "cells": [ | |
| { | |
| "cell_type": "code", | |
| "execution_count": 11, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "# http://machinelearningmastery.com/tutorial-first-neural-network-python-keras/\n", | |
| "\n", | |
| "from keras.models import Sequential\n", | |
| "from keras.layers import Dense\n", | |
| "import numpy as np\n", | |
| "import urllib.request\n", | |
| "\n", | |
| "seed = 7\n", | |
| "np.random.seed(seed)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 28, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "768" | |
| ] | |
| }, | |
| "execution_count": 28, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "dataset = np.loadtxt(urllib.request.urlopen(\"http://archive.ics.uci.edu/ml/machine-learning-databases/pima-indians-diabetes/pima-indians-diabetes.data\"), delimiter=\",\")\n", | |
| "X = dataset[:, 0:8]\n", | |
| "Y = dataset[:, 8]\n", | |
| "len(dataset)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 27, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "array([ 6. , 148. , 72. , 35. , 0. , 33.6 ,\n", | |
| " 0.627, 50. , 1. ])" | |
| ] | |
| }, | |
| "execution_count": 27, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "dataset[0]" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 30, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "68" | |
| ] | |
| }, | |
| "execution_count": 30, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "trainX = X[0:700]\n", | |
| "trainY = Y[0:700]\n", | |
| "testX = X[700:]\n", | |
| "testY = Y[700:]\n", | |
| "len(testX)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 21, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "____________________________________________________________________________________________________\n", | |
| "Layer (type) Output Shape Param # Connected to \n", | |
| "====================================================================================================\n", | |
| "dense_4 (Dense) (None, 12) 108 dense_input_2[0][0] \n", | |
| "____________________________________________________________________________________________________\n", | |
| "dense_5 (Dense) (None, 8) 104 dense_4[0][0] \n", | |
| "____________________________________________________________________________________________________\n", | |
| "dense_6 (Dense) (None, 1) 9 dense_5[0][0] \n", | |
| "====================================================================================================\n", | |
| "Total params: 221\n", | |
| "____________________________________________________________________________________________________\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "model = Sequential()\n", | |
| "model.add(Dense(12, input_dim=8, init='uniform', activation='relu'))\n", | |
| "model.add(Dense(8, init='uniform', activation='relu'))\n", | |
| "model.add(Dense(1, init='uniform', activation='sigmoid'))\n", | |
| "model.summary()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 26, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 50, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "<keras.callbacks.History at 0x7fc3a2262be0>" | |
| ] | |
| }, | |
| "execution_count": 50, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "model.fit(trainX, trainY, nb_epoch=150, batch_size=10, verbose=0)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 51, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "\r", | |
| "32/68 [=============>................] - ETA: 0s" | |
| ] | |
| }, | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "'acc: 82.35%'" | |
| ] | |
| }, | |
| "execution_count": 51, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "scores = model.evaluate(testX, testY)\n", | |
| "\"%s: %.2f%%\" % (model.metrics_names[1], scores[1]*100)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 52, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "[(0.0, 0.0),\n", | |
| " (1.0, 1.0),\n", | |
| " (1.0, 1.0),\n", | |
| " (0.0, 1.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (1.0, 0.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (1.0, 1.0),\n", | |
| " (1.0, 0.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (1.0, 1.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (1.0, 1.0),\n", | |
| " (1.0, 1.0),\n", | |
| " (0.0, 1.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (1.0, 0.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (1.0, 1.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (1.0, 0.0),\n", | |
| " (1.0, 0.0),\n", | |
| " (1.0, 1.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (1.0, 0.0),\n", | |
| " (1.0, 1.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (1.0, 1.0),\n", | |
| " (0.0, 1.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (1.0, 1.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (1.0, 1.0),\n", | |
| " (1.0, 1.0),\n", | |
| " (1.0, 1.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (1.0, 0.0),\n", | |
| " (1.0, 1.0),\n", | |
| " (1.0, 1.0),\n", | |
| " (0.0, 1.0),\n", | |
| " (1.0, 0.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (1.0, 1.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (1.0, 1.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (0.0, 0.0),\n", | |
| " (1.0, 1.0),\n", | |
| " (0.0, 0.0)]" | |
| ] | |
| }, | |
| "execution_count": 52, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "predictions = model.predict(testX)\n", | |
| "predictions = [round(x[0]) for x in predictions]\n", | |
| "list(zip(testY, predictions))" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [] | |
| } | |
| ], | |
| "metadata": { | |
| "kernelspec": { | |
| "display_name": "Python 3", | |
| "language": "python", | |
| "name": "python3" | |
| }, | |
| "language_info": { | |
| "codemirror_mode": { | |
| "name": "ipython", | |
| "version": 3 | |
| }, | |
| "file_extension": ".py", | |
| "mimetype": "text/x-python", | |
| "name": "python", | |
| "nbconvert_exporter": "python", | |
| "pygments_lexer": "ipython3", | |
| "version": "3.5.2+" | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 1 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment