{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "
به نام خدا
\n", "\n", "

تمرین عملی 1: طبقه بندی با شبکه های تمام متصل روی مجموعه داده IRIS

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##
صورت مساله
\n", "\n", "\n", "
\n", "در اولین جلسه کارگاه طبقه بندی با شبکه های تمام متصل را دیدیم.\n", "
\n", "توصیه می‌شود حتما نوت بوک‌های زیر را قبل از این تمرین مرور کنید:\n", "
\n", "\n", "[04_a Gentle Introduction to Keras - Simple neural network(mlp).ipynb](https://nbviewer.jupyter.org/github/alireza-akhavan/SRU-deeplearning-workshop/blob/master/04_a%20Gentle%20Introduction%20to%20Keras%20-%20Simple%20neural%20network%28mlp%29.ipynb)\n", "\n", "[05_Dropout.ipynb](https://nbviewer.jupyter.org/github/alireza-akhavan/SRU-deeplearning-workshop/blob/master/05_Dropout.ipynb)\n", "\n", "
\n", "در این جلسه با داده های تصویری آشنا شدیم. اما در این تمرین برای اینکه بدانیم کاربرد این مباحث در مسائل غیر تصویری نیز هست از مجموعه داده ی ساختار یافتهiris شامل 4 ویژگی برای طول و عرض کاسبرگ و گلبرگ استفاده خواهیم کرد که بتوانیم بر اساس این ویژگی ها نوع گل را از 3 کلاس متفاوت تشخیص دهیم.\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##
لود کتابخانه های مورد نیاز
\n", "
\n", "کتابخانه های مورد نیاز این تمرین لود شده اند\n", "
\n", "در صورت نیاز میتوانید کتابخانه های بیشتری لود کنید:\n", "
" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Using TensorFlow backend.\n" ] } ], "source": [ "import numpy as np\n", "from tensorflow import keras\n", "from sklearn.datasets import load_iris\n", "from sklearn.model_selection import train_test_split\n", "from keras.models import Sequential\n", "from keras.layers import Dense, Dropout\n", "from tensorflow.keras.optimizers import Adam" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "در این تمرین میخواهیم از مجموعه داده iris استفاده کنیم.\n", "
\n", "توضیحات این مجموعه داده در سایت آن موجود است:\n", "
\n", "\n", "https://archive.ics.uci.edu/ml/datasets/iris\n", "\n", "\n", "
\n", "ویژگی ها و کلاس های این مجموعه داده به شرح زیر است:\n", "
\n", "\n", "Attribute Information:\n", "\n", "1. sepal length in cm\n", "2. sepal width in cm\n", "3. petal length in cm\n", "4. petal width in cm\n", "\n", "class:\n", "\n", " Iris Setosa\n", " Iris Versicolour\n", " Iris Virginica\n", "\n", "
\n", "این دیتاست در کتابخانه sklearn موجود است\n", "
\n", "در قطعه کد زیر ویژگی ها را در x و برچسب یا labelهای متناظر را در y لود شده است.\n", "
" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "iris_data = load_iris() # load the iris dataset\n", "x = iris_data.data\n", "y = iris_data.target.reshape(-1, 1) # Convert data to a single column" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#
سوال 1:
\n", "
\n", "برچسب یا label های ما در حال حاضر عددی است.\n", "
\n", "این اعداد 0 تا 2 هستند و به عبارتی 3 حالت مختلف دارند.\n", "
\n", "این برچسب ها را به فرمت one-hot تبدیل کنید و خروجی را مجدد در y بریزید.\n", "\n", "
\n", "راهنمایی: \n", "از تابع keras.utils.to_categorical استفاده کنید.\n", "
" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "y = " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "در زیر داده ها به داده های test و train تقسیم شده است:\n", "
" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# Split the data for training and testing\n", "train_x, test_x, train_y, test_y = train_test_split(x, y, test_size=0.20)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#
سوال 2:
\n", "
\n", "یک شبکه با دو hidden-layer در هر لایه 10 نوران و تابع فعالیت relu بسازید. یک لایه Dropout با نرخ 0.5 در لایه آخر ماقبل softmax نیز اضافه کنید.\n", "
" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# Build the model\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "_________________________________________________________________\n", "Layer (type) Output Shape Param # \n", "=================================================================\n", "dense_1 (Dense) (None, 10) 50 \n", "_________________________________________________________________\n", "dense_2 (Dense) (None, 10) 110 \n", "_________________________________________________________________\n", "dropout_1 (Dropout) (None, 10) 0 \n", "_________________________________________________________________\n", "dense_3 (Dense) (None, 3) 33 \n", "=================================================================\n", "Total params: 193\n", "Trainable params: 193\n", "Non-trainable params: 0\n", "_________________________________________________________________\n" ] } ], "source": [ "model.summary()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
در زیر مدل کامپایل شده است.
" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "# Adam optimizer with learning rate of 0.001\n", "optimizer = Adam(lr=0.001)\n", "model.compile(optimizer, loss='categorical_crossentropy', metrics=['accuracy'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#
سوال 3:
\n", "
\n", "مدل را با batch_size=5 و تعداد 200 ایپاک آموزش دهید.\n", "
\n", "راهنمایی: \n", "از تابع model.fit استفاده کنید.\n", "
" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/200\n", " - 3s - loss: 2.0045 - acc: 0.4333\n", "Epoch 2/200\n", " - 0s - loss: 1.5714 - acc: 0.4167\n", "Epoch 3/200\n", " - 0s - loss: 1.5014 - acc: 0.3250\n", "Epoch 4/200\n", " - 0s - loss: 1.3361 - acc: 0.3000\n", "Epoch 5/200\n", " - 0s - loss: 1.1968 - acc: 0.3250\n", "Epoch 6/200\n", " - 0s - loss: 1.0811 - acc: 0.4000\n", "Epoch 7/200\n", " - 0s - loss: 1.0982 - acc: 0.4000\n", "Epoch 8/200\n", " - 0s - loss: 0.9471 - acc: 0.6167\n", "Epoch 9/200\n", " - 0s - loss: 0.8981 - acc: 0.6500\n", "Epoch 10/200\n", " - 0s - loss: 0.9414 - acc: 0.5167\n", "Epoch 11/200\n", " - 0s - loss: 0.9232 - acc: 0.4583\n", "Epoch 12/200\n", " - 0s - loss: 0.8913 - acc: 0.5167\n", "Epoch 13/200\n", " - 0s - loss: 0.8562 - acc: 0.5000\n", "Epoch 14/200\n", " - 0s - loss: 0.8648 - acc: 0.5500\n", "Epoch 15/200\n", " - 0s - loss: 0.8327 - acc: 0.5250\n", "Epoch 16/200\n", " - 0s - loss: 0.7939 - acc: 0.6250\n", "Epoch 17/200\n", " - 0s - loss: 0.7874 - acc: 0.6000\n", "Epoch 18/200\n", " - 0s - loss: 0.7900 - acc: 0.6083\n", "Epoch 19/200\n", " - 0s - loss: 0.7769 - acc: 0.6000\n", "Epoch 20/200\n", " - 0s - loss: 0.7954 - acc: 0.5833\n", "Epoch 21/200\n", " - 0s - loss: 0.7657 - acc: 0.5833\n", "Epoch 22/200\n", " - 0s - loss: 0.7477 - acc: 0.5917\n", "Epoch 23/200\n", " - 0s - loss: 0.7309 - acc: 0.6250\n", "Epoch 24/200\n", " - 0s - loss: 0.7432 - acc: 0.6167\n", "Epoch 25/200\n", " - 0s - loss: 0.7311 - acc: 0.6333\n", "Epoch 26/200\n", " - 0s - loss: 0.7539 - acc: 0.5583\n", "Epoch 27/200\n", " - 0s - loss: 0.7399 - acc: 0.5833\n", "Epoch 28/200\n", " - 0s - loss: 0.7139 - acc: 0.5667\n", "Epoch 29/200\n", " - 0s - loss: 0.6785 - acc: 0.7000\n", "Epoch 30/200\n", " - 0s - loss: 0.6954 - acc: 0.7500\n", "Epoch 31/200\n", " - 0s - loss: 0.7436 - acc: 0.7167\n", "Epoch 32/200\n", " - 0s - loss: 0.7036 - acc: 0.7667\n", "Epoch 33/200\n", " - 0s - loss: 0.6533 - acc: 0.7417\n", "Epoch 34/200\n", " - 0s - loss: 0.6829 - acc: 0.7417\n", "Epoch 35/200\n", " - 0s - loss: 0.6689 - acc: 0.7000\n", "Epoch 36/200\n", " - 0s - loss: 0.6955 - acc: 0.7667\n", "Epoch 37/200\n", " - 0s - loss: 0.6159 - acc: 0.7167\n", "Epoch 38/200\n", " - 0s - loss: 0.7267 - acc: 0.7083\n", "Epoch 39/200\n", " - 0s - loss: 0.6675 - acc: 0.7083\n", "Epoch 40/200\n", " - 0s - loss: 0.6226 - acc: 0.8000\n", "Epoch 41/200\n", " - 0s - loss: 0.6601 - acc: 0.7917\n", "Epoch 42/200\n", " - 0s - loss: 0.6203 - acc: 0.8000\n", "Epoch 43/200\n", " - 0s - loss: 0.6188 - acc: 0.7833\n", "Epoch 44/200\n", " - 0s - loss: 0.5869 - acc: 0.8250\n", "Epoch 45/200\n", " - 0s - loss: 0.6272 - acc: 0.7250\n", "Epoch 46/200\n", " - 0s - loss: 0.5770 - acc: 0.8083\n", "Epoch 47/200\n", " - 0s - loss: 0.5503 - acc: 0.8417\n", "Epoch 48/200\n", " - 0s - loss: 0.5849 - acc: 0.8167\n", "Epoch 49/200\n", " - 0s - loss: 0.6534 - acc: 0.7500\n", "Epoch 50/200\n", " - 0s - loss: 0.5793 - acc: 0.8083\n", "Epoch 51/200\n", " - 0s - loss: 0.5877 - acc: 0.8083\n", "Epoch 52/200\n", " - 0s - loss: 0.5309 - acc: 0.8000\n", "Epoch 53/200\n", " - 0s - loss: 0.5703 - acc: 0.8417\n", "Epoch 54/200\n", " - 0s - loss: 0.5586 - acc: 0.7917\n", "Epoch 55/200\n", " - 0s - loss: 0.5718 - acc: 0.8083\n", "Epoch 56/200\n", " - 0s - loss: 0.5435 - acc: 0.8583\n", "Epoch 57/200\n", " - 0s - loss: 0.5451 - acc: 0.8083\n", "Epoch 58/200\n", " - 0s - loss: 0.5508 - acc: 0.7750\n", "Epoch 59/200\n", " - 0s - loss: 0.5631 - acc: 0.8167\n", "Epoch 60/200\n", " - 0s - loss: 0.5593 - acc: 0.8000\n", "Epoch 61/200\n", " - 0s - loss: 0.5572 - acc: 0.7917\n", "Epoch 62/200\n", " - 0s - loss: 0.4763 - acc: 0.8333\n", "Epoch 63/200\n", " - 0s - loss: 0.5809 - acc: 0.7750\n", "Epoch 64/200\n", " - 0s - loss: 0.5441 - acc: 0.8500\n", "Epoch 65/200\n", " - 0s - loss: 0.5590 - acc: 0.8250\n", "Epoch 66/200\n", " - 0s - loss: 0.6090 - acc: 0.7667\n", "Epoch 67/200\n", " - 0s - loss: 0.4742 - acc: 0.8583\n", "Epoch 68/200\n", " - 0s - loss: 0.5401 - acc: 0.8250\n", "Epoch 69/200\n", " - 0s - loss: 0.5127 - acc: 0.8417\n", "Epoch 70/200\n", " - 0s - loss: 0.5533 - acc: 0.7917\n", "Epoch 71/200\n", " - 0s - loss: 0.4702 - acc: 0.8500\n", "Epoch 72/200\n", " - 0s - loss: 0.5168 - acc: 0.8333\n", "Epoch 73/200\n", " - 0s - loss: 0.4613 - acc: 0.8917\n", "Epoch 74/200\n", " - 0s - loss: 0.4579 - acc: 0.9250\n", "Epoch 75/200\n", " - 0s - loss: 0.4944 - acc: 0.8333\n", "Epoch 76/200\n", " - 0s - loss: 0.5239 - acc: 0.7917\n", "Epoch 77/200\n", " - 0s - loss: 0.4926 - acc: 0.8167\n", "Epoch 78/200\n", " - 0s - loss: 0.5196 - acc: 0.8250\n", "Epoch 79/200\n", " - 0s - loss: 0.5318 - acc: 0.8167\n", "Epoch 80/200\n", " - 0s - loss: 0.5148 - acc: 0.8083\n", "Epoch 81/200\n", " - 0s - loss: 0.5011 - acc: 0.8250\n", "Epoch 82/200\n", " - 0s - loss: 0.4435 - acc: 0.8333\n", "Epoch 83/200\n", " - 0s - loss: 0.5057 - acc: 0.8167\n", "Epoch 84/200\n", " - 0s - loss: 0.4395 - acc: 0.8583\n", "Epoch 85/200\n", " - 0s - loss: 0.4901 - acc: 0.7917\n", "Epoch 86/200\n", " - 0s - loss: 0.4870 - acc: 0.8583\n", "Epoch 87/200\n", " - 0s - loss: 0.4945 - acc: 0.8333\n", "Epoch 88/200\n", " - 0s - loss: 0.4622 - acc: 0.8667\n", "Epoch 89/200\n", " - 0s - loss: 0.4370 - acc: 0.8500\n", "Epoch 90/200\n", " - 0s - loss: 0.4483 - acc: 0.8417\n", "Epoch 91/200\n", " - 0s - loss: 0.4978 - acc: 0.8417\n", "Epoch 92/200\n", " - 0s - loss: 0.4989 - acc: 0.8250\n", "Epoch 93/200\n", " - 0s - loss: 0.4359 - acc: 0.8667\n", "Epoch 94/200\n", " - 0s - loss: 0.4359 - acc: 0.8917\n", "Epoch 95/200\n", " - 0s - loss: 0.4337 - acc: 0.8917\n", "Epoch 96/200\n", " - 0s - loss: 0.4613 - acc: 0.8500\n", "Epoch 97/200\n", " - 0s - loss: 0.4463 - acc: 0.8750\n", "Epoch 98/200\n", " - 0s - loss: 0.4455 - acc: 0.8750\n", "Epoch 99/200\n", " - 0s - loss: 0.4267 - acc: 0.8333\n", "Epoch 100/200\n", " - 0s - loss: 0.4495 - acc: 0.8667\n", "Epoch 101/200\n", " - 0s - loss: 0.4648 - acc: 0.8750\n", "Epoch 102/200\n", " - 0s - loss: 0.4427 - acc: 0.8583\n", "Epoch 103/200\n", " - 0s - loss: 0.4352 - acc: 0.8583\n", "Epoch 104/200\n", " - 0s - loss: 0.5087 - acc: 0.8250\n", "Epoch 105/200\n", " - 0s - loss: 0.4342 - acc: 0.8667\n", "Epoch 106/200\n", " - 0s - loss: 0.4546 - acc: 0.8583\n", "Epoch 107/200\n", " - 0s - loss: 0.3864 - acc: 0.8917\n", "Epoch 108/200\n", " - 0s - loss: 0.4458 - acc: 0.8500\n", "Epoch 109/200\n", " - 0s - loss: 0.4564 - acc: 0.8167\n", "Epoch 110/200\n", " - 0s - loss: 0.4129 - acc: 0.8833\n", "Epoch 111/200\n", " - 0s - loss: 0.4641 - acc: 0.8333\n", "Epoch 112/200\n", " - 0s - loss: 0.4221 - acc: 0.8833\n", "Epoch 113/200\n", " - 0s - loss: 0.4229 - acc: 0.8667\n", "Epoch 114/200\n", " - 0s - loss: 0.4429 - acc: 0.8417\n", "Epoch 115/200\n", " - 0s - loss: 0.4266 - acc: 0.8583\n", "Epoch 116/200\n", " - 0s - loss: 0.4213 - acc: 0.8583\n", "Epoch 117/200\n", " - 0s - loss: 0.4472 - acc: 0.8583\n", "Epoch 118/200\n", " - 0s - loss: 0.4268 - acc: 0.8750\n", "Epoch 119/200\n", " - 0s - loss: 0.4736 - acc: 0.8167\n", "Epoch 120/200\n", " - 0s - loss: 0.4782 - acc: 0.8250\n", "Epoch 121/200\n", " - 0s - loss: 0.4819 - acc: 0.8500\n", "Epoch 122/200\n", " - 0s - loss: 0.3892 - acc: 0.8750\n", "Epoch 123/200\n", " - 0s - loss: 0.4835 - acc: 0.8250\n", "Epoch 124/200\n", " - 0s - loss: 0.4524 - acc: 0.8500\n", "Epoch 125/200\n", " - 0s - loss: 0.4032 - acc: 0.8833\n", "Epoch 126/200\n", " - 0s - loss: 0.4005 - acc: 0.8667\n", "Epoch 127/200\n", " - 0s - loss: 0.4052 - acc: 0.8500\n", "Epoch 128/200\n", " - 0s - loss: 0.4205 - acc: 0.8750\n", "Epoch 129/200\n", " - 0s - loss: 0.3842 - acc: 0.8917\n", "Epoch 130/200\n", " - 0s - loss: 0.5378 - acc: 0.8083\n", "Epoch 131/200\n", " - 0s - loss: 0.4194 - acc: 0.8583\n", "Epoch 132/200\n", " - 0s - loss: 0.3729 - acc: 0.8917\n", "Epoch 133/200\n", " - 0s - loss: 0.3878 - acc: 0.8583\n", "Epoch 134/200\n", " - 0s - loss: 0.4458 - acc: 0.8667\n", "Epoch 135/200\n", " - 0s - loss: 0.3684 - acc: 0.8500\n", "Epoch 136/200\n", " - 0s - loss: 0.4178 - acc: 0.8583\n", "Epoch 137/200\n", " - 0s - loss: 0.4331 - acc: 0.8583\n", "Epoch 138/200\n", " - 0s - loss: 0.4115 - acc: 0.8500\n", "Epoch 139/200\n", " - 0s - loss: 0.4356 - acc: 0.8417\n", "Epoch 140/200\n", " - 0s - loss: 0.4231 - acc: 0.8583\n", "Epoch 141/200\n", " - 0s - loss: 0.4416 - acc: 0.8583\n", "Epoch 142/200\n", " - 0s - loss: 0.4678 - acc: 0.8333\n", "Epoch 143/200\n", " - 0s - loss: 0.4221 - acc: 0.8250\n", "Epoch 144/200\n", " - 0s - loss: 0.4261 - acc: 0.8583\n", "Epoch 145/200\n", " - 0s - loss: 0.4098 - acc: 0.8667\n", "Epoch 146/200\n", " - 0s - loss: 0.3533 - acc: 0.8833\n", "Epoch 147/200\n", " - 0s - loss: 0.4322 - acc: 0.8167\n", "Epoch 148/200\n", " - 0s - loss: 0.3751 - acc: 0.8917\n", "Epoch 149/200\n", " - 0s - loss: 0.3298 - acc: 0.9167\n", "Epoch 150/200\n", " - 0s - loss: 0.3649 - acc: 0.8917\n", "Epoch 151/200\n", " - 0s - loss: 0.4046 - acc: 0.8917\n", "Epoch 152/200\n", " - 0s - loss: 0.3729 - acc: 0.8917\n", "Epoch 153/200\n", " - 0s - loss: 0.3758 - acc: 0.8750\n", "Epoch 154/200\n", " - 0s - loss: 0.3539 - acc: 0.8833\n", "Epoch 155/200\n", " - 0s - loss: 0.4478 - acc: 0.8750\n", "Epoch 156/200\n", " - 0s - loss: 0.4120 - acc: 0.8667\n", "Epoch 157/200\n", " - 0s - loss: 0.3739 - acc: 0.8583\n", "Epoch 158/200\n", " - 0s - loss: 0.3729 - acc: 0.8917\n", "Epoch 159/200\n", " - 0s - loss: 0.3847 - acc: 0.8750\n", "Epoch 160/200\n", " - 0s - loss: 0.3863 - acc: 0.8667\n", "Epoch 161/200\n", " - 0s - loss: 0.4010 - acc: 0.8750\n", "Epoch 162/200\n", " - 0s - loss: 0.3997 - acc: 0.8583\n", "Epoch 163/200\n", " - 0s - loss: 0.3947 - acc: 0.8583\n", "Epoch 164/200\n", " - 0s - loss: 0.3865 - acc: 0.8917\n", "Epoch 165/200\n", " - 0s - loss: 0.3765 - acc: 0.8583\n", "Epoch 166/200\n", " - 0s - loss: 0.3452 - acc: 0.9083\n", "Epoch 167/200\n", " - 0s - loss: 0.3571 - acc: 0.8583\n", "Epoch 168/200\n", " - 0s - loss: 0.4701 - acc: 0.8250\n", "Epoch 169/200\n", " - 0s - loss: 0.4322 - acc: 0.8583\n", "Epoch 170/200\n", " - 0s - loss: 0.4075 - acc: 0.8500\n", "Epoch 171/200\n", " - 0s - loss: 0.4693 - acc: 0.8417\n", "Epoch 172/200\n", " - 0s - loss: 0.3888 - acc: 0.9000\n", "Epoch 173/200\n", " - 0s - loss: 0.3834 - acc: 0.8750\n", "Epoch 174/200\n", " - 0s - loss: 0.3906 - acc: 0.8750\n", "Epoch 175/200\n", " - 0s - loss: 0.4041 - acc: 0.8750\n", "Epoch 176/200\n", " - 0s - loss: 0.3974 - acc: 0.8667\n", "Epoch 177/200\n", " - 0s - loss: 0.3812 - acc: 0.8917\n", "Epoch 178/200\n", " - 0s - loss: 0.4019 - acc: 0.8583\n", "Epoch 179/200\n", " - 0s - loss: 0.4021 - acc: 0.8333\n", "Epoch 180/200\n", " - 0s - loss: 0.5003 - acc: 0.8250\n", "Epoch 181/200\n", " - 0s - loss: 0.3797 - acc: 0.8833\n", "Epoch 182/200\n", " - 0s - loss: 0.3941 - acc: 0.8917\n", "Epoch 183/200\n", " - 0s - loss: 0.3297 - acc: 0.9167\n", "Epoch 184/200\n", " - 0s - loss: 0.4415 - acc: 0.8667\n", "Epoch 185/200\n", " - 0s - loss: 0.3285 - acc: 0.9000\n", "Epoch 186/200\n", " - 0s - loss: 0.3934 - acc: 0.8833\n", "Epoch 187/200\n", " - 0s - loss: 0.3066 - acc: 0.9000\n", "Epoch 188/200\n", " - 0s - loss: 0.3618 - acc: 0.8583\n", "Epoch 189/200\n", " - 0s - loss: 0.3192 - acc: 0.9000\n", "Epoch 190/200\n", " - 0s - loss: 0.3908 - acc: 0.8833\n", "Epoch 191/200\n", " - 0s - loss: 0.4528 - acc: 0.8333\n", "Epoch 192/200\n", " - 0s - loss: 0.3941 - acc: 0.8417\n", "Epoch 193/200\n", " - 0s - loss: 0.4478 - acc: 0.8333\n", "Epoch 194/200\n", " - 0s - loss: 0.4239 - acc: 0.8750\n", "Epoch 195/200\n", " - 0s - loss: 0.3614 - acc: 0.8833\n", "Epoch 196/200\n", " - 0s - loss: 0.4071 - acc: 0.8583\n", "Epoch 197/200\n", " - 0s - loss: 0.3946 - acc: 0.8417\n", "Epoch 198/200\n", " - 0s - loss: 0.3654 - acc: 0.8917\n", "Epoch 199/200\n", " - 0s - loss: 0.3634 - acc: 0.8833\n", "Epoch 200/200\n", " - 0s - loss: 0.3496 - acc: 0.8833\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Train the model\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#
سوال 4:
\n", "
\n", "مدل را روی داده های test ارزیابی کنید.\n", "
\n", "راهنمایی: \n", "از تابع model.evaluate استفاده کنید.\n", "
" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "30/30 [==============================] - 0s 2ms/step\n", "Final test set loss: 0.155448\n", "Final test set accuracy: 1.000000\n" ] } ], "source": [ "# Test on unseen data\n", "results = model.evaluate(test_x, test_y)\n", "\n", "print('Final test set loss: {:4f}'.format(results[0]))\n", "print('Final test set accuracy: {:4f}'.format(results[1]))" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.8.10" } }, "nbformat": 4, "nbformat_minor": 4 }