From 40aff36f0ded97fbd0102d4144239273393eac3f Mon Sep 17 00:00:00 2001 From: joanitamateus Date: Sun, 1 Aug 2021 23:17:36 +0100 Subject: [PATCH] joanita --- your-code/bonus.ipynb | 2 +- your-code/challenge-1.ipynb | 320 +++++++++++++++++++++++++++++++++++- 2 files changed, 314 insertions(+), 8 deletions(-) diff --git a/your-code/bonus.ipynb b/your-code/bonus.ipynb index 92e4a72..72adc5b 100644 --- a/your-code/bonus.ipynb +++ b/your-code/bonus.ipynb @@ -144,7 +144,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.9.6" } }, "nbformat": 4, diff --git a/your-code/challenge-1.ipynb b/your-code/challenge-1.ipynb index 2487c5f..9ba93f6 100644 --- a/your-code/challenge-1.ipynb +++ b/your-code/challenge-1.ipynb @@ -34,11 +34,253 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ - "# your code here" + "import numpy as np\n", + "import pandas as pd \n", + "from sklearn.model_selection import train_test_split\n", + "from tensorflow.keras.models import Sequential\n", + "from tensorflow.keras.layers import Dense\n", + "from tensorflow.keras.utils import to_categorical" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# your code here\n", + "tic = pd.read_csv('tic-tac-toe.csv')\n", + "tic.replace('x', 1, inplace=True)\n", + "tic.replace('0', -1, inplace=True)\n", + "tic.replace('b', 0, inplace=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TLTMTRMLMMMRBLBMBRclass
01111oo1ooTrue
11111ooo1oTrue
21111oooo1True
31111ooo00True
41111oo0o0True
.................................
953o111ooo11False
954o1o11o1o1False
955o1o1o11o1False
956o1oo111o1False
957oo111oo11False
\n", + "

958 rows × 10 columns

\n", + "
" + ], + "text/plain": [ + " TL TM TR ML MM MR BL BM BR class\n", + "0 1 1 1 1 o o 1 o o True\n", + "1 1 1 1 1 o o o 1 o True\n", + "2 1 1 1 1 o o o o 1 True\n", + "3 1 1 1 1 o o o 0 0 True\n", + "4 1 1 1 1 o o 0 o 0 True\n", + ".. .. .. .. .. .. .. .. .. .. ...\n", + "953 o 1 1 1 o o o 1 1 False\n", + "954 o 1 o 1 1 o 1 o 1 False\n", + "955 o 1 o 1 o 1 1 o 1 False\n", + "956 o 1 o o 1 1 1 o 1 False\n", + "957 o o 1 1 1 o o 1 1 False\n", + "\n", + "[958 rows x 10 columns]" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tic" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "# your code here\n", + "y = np.array(tic['class'])\n", + "x = np.array(tic.drop(labels='class', axis=1))" ] }, { @@ -60,11 +302,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0., 1.],\n", + " [0., 1.],\n", + " [1., 0.],\n", + " ...,\n", + " [0., 1.],\n", + " [0., 1.],\n", + " [0., 1.]], dtype=float32)" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# your code here" + "x_train, x_test, y_train, y_test = train_test_split(x, y,test_size = 0.2, random_state=29)\n", + "to_categorical(y_train)" ] }, { @@ -82,7 +342,53 @@ "metadata": {}, "outputs": [], "source": [ - "# your code here" + "# your code here\n", + "#Create a Sequential model.\n", + "model = Sequential([\n", + " Dense(18, activation='relu'),\n", + " Dense(18, activation='relu'),\n", + " Dense(2, activation='softmax'),\n", + "])" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "# Compile the model using adam as the optimizer\n", + "\n", + "model.compile(\n", + " optimizer='adam',\n", + " loss='saparse_categorical_crossentropy',\n", + " metrics=['accuracy'],\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#Fit the training data\n", + "history = model.fit(X_train, y_train, epochs=50, batch_size=40)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "\n", + "#Evaluate your neural network model with the test data.\n", + "model.evaluate(\n", + " x_test,\n", + " y_test\n", + ")" ] }, { @@ -144,7 +450,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.9.6" } }, "nbformat": 4,