|
9 | 9 | },
|
10 | 10 | {
|
11 | 11 | "cell_type": "code",
|
12 |
| - "execution_count": null, |
| 12 | + "execution_count": 14, |
13 | 13 | "metadata": {},
|
14 | 14 | "outputs": [],
|
15 | 15 | "source": [
|
|
36 | 36 | },
|
37 | 37 | {
|
38 | 38 | "cell_type": "code",
|
39 |
| - "execution_count": null, |
| 39 | + "execution_count": 15, |
40 | 40 | "metadata": {},
|
41 |
| - "outputs": [], |
| 41 | + "outputs": [ |
| 42 | + { |
| 43 | + "name": "stdout", |
| 44 | + "output_type": "stream", |
| 45 | + "text": [ |
| 46 | + "(25000,)\n", |
| 47 | + "(25000,)\n" |
| 48 | + ] |
| 49 | + } |
| 50 | + ], |
42 | 51 | "source": [
|
43 | 52 | "# Loading the data (it's preloaded in Keras)\n",
|
44 | 53 | "(x_train, y_train), (x_test, y_test) = imdb.load_data(num_words=1000)\n",
|
|
59 | 68 | },
|
60 | 69 | {
|
61 | 70 | "cell_type": "code",
|
62 |
| - "execution_count": null, |
| 71 | + "execution_count": 17, |
63 | 72 | "metadata": {},
|
64 |
| - "outputs": [], |
| 73 | + "outputs": [ |
| 74 | + { |
| 75 | + "name": "stdout", |
| 76 | + "output_type": "stream", |
| 77 | + "text": [ |
| 78 | + "[1, 14, 22, 16, 43, 530, 973, 2, 2, 65, 458, 2, 66, 2, 4, 173, 36, 256, 5, 25, 100, 43, 838, 112, 50, 670, 2, 9, 35, 480, 284, 5, 150, 4, 172, 112, 167, 2, 336, 385, 39, 4, 172, 2, 2, 17, 546, 38, 13, 447, 4, 192, 50, 16, 6, 147, 2, 19, 14, 22, 4, 2, 2, 469, 4, 22, 71, 87, 12, 16, 43, 530, 38, 76, 15, 13, 2, 4, 22, 17, 515, 17, 12, 16, 626, 18, 2, 5, 62, 386, 12, 8, 316, 8, 106, 5, 4, 2, 2, 16, 480, 66, 2, 33, 4, 130, 12, 16, 38, 619, 5, 25, 124, 51, 36, 135, 48, 25, 2, 33, 6, 22, 12, 215, 28, 77, 52, 5, 14, 407, 16, 82, 2, 8, 4, 107, 117, 2, 15, 256, 4, 2, 7, 2, 5, 723, 36, 71, 43, 530, 476, 26, 400, 317, 46, 7, 4, 2, 2, 13, 104, 88, 4, 381, 15, 297, 98, 32, 2, 56, 26, 141, 6, 194, 2, 18, 4, 226, 22, 21, 134, 476, 26, 480, 5, 144, 30, 2, 18, 51, 36, 28, 224, 92, 25, 104, 4, 226, 65, 16, 38, 2, 88, 12, 16, 283, 5, 16, 2, 113, 103, 32, 15, 16, 2, 19, 178, 32]\n", |
| 79 | + "1\n" |
| 80 | + ] |
| 81 | + } |
| 82 | + ], |
65 | 83 | "source": [
|
66 | 84 | "print(x_train[0])\n",
|
67 | 85 | "print(y_train[0])"
|
|
80 | 98 | "execution_count": null,
|
81 | 99 | "metadata": {},
|
82 | 100 | "outputs": [],
|
| 101 | + "source": [] |
| 102 | + }, |
| 103 | + { |
| 104 | + "cell_type": "code", |
| 105 | + "execution_count": 18, |
| 106 | + "metadata": {}, |
| 107 | + "outputs": [ |
| 108 | + { |
| 109 | + "name": "stdout", |
| 110 | + "output_type": "stream", |
| 111 | + "text": [ |
| 112 | + "[0. 1. 1. 0. 1. 1. 1. 1. 1. 1. 0. 0. 1. 1. 1. 1. 1. 1. 1. 1. 0. 1. 1. 0.\n", |
| 113 | + " 0. 1. 1. 0. 1. 0. 1. 0. 1. 1. 0. 1. 1. 0. 1. 1. 0. 0. 0. 1. 0. 0. 1. 0.\n", |
| 114 | + " 1. 0. 1. 1. 1. 0. 0. 0. 1. 0. 0. 0. 0. 0. 1. 0. 0. 1. 1. 0. 0. 0. 0. 1.\n", |
| 115 | + " 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 1. 0. 0. 0. 0. 1. 1. 0. 0. 0. 1. 0. 0. 0.\n", |
| 116 | + " 0. 0. 1. 0. 1. 0. 0. 1. 1. 0. 1. 1. 0. 0. 0. 0. 1. 1. 0. 0. 0. 1. 0. 0.\n", |
| 117 | + " 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 1. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. 1. 0. 0.\n", |
| 118 | + " 1. 0. 0. 1. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1.\n", |
| 119 | + " 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", |
| 120 | + " 1. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1.\n", |
| 121 | + " 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", |
| 122 | + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0.\n", |
| 123 | + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. 0.\n", |
| 124 | + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", |
| 125 | + " 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", |
| 126 | + " 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", |
| 127 | + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0.\n", |
| 128 | + " 0. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 1.\n", |
| 129 | + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", |
| 130 | + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0.\n", |
| 131 | + " 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0.\n", |
| 132 | + " 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", |
| 133 | + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", |
| 134 | + " 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0.\n", |
| 135 | + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", |
| 136 | + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", |
| 137 | + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0.\n", |
| 138 | + " 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", |
| 139 | + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0.\n", |
| 140 | + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", |
| 141 | + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", |
| 142 | + " 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", |
| 143 | + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", |
| 144 | + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", |
| 145 | + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", |
| 146 | + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0.\n", |
| 147 | + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", |
| 148 | + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", |
| 149 | + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", |
| 150 | + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", |
| 151 | + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", |
| 152 | + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", |
| 153 | + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n" |
| 154 | + ] |
| 155 | + } |
| 156 | + ], |
83 | 157 | "source": [
|
84 | 158 | "# One-hot encoding the output into vector mode, each of length 1000\n",
|
85 | 159 | "tokenizer = Tokenizer(num_words=1000)\n",
|
|
97 | 171 | },
|
98 | 172 | {
|
99 | 173 | "cell_type": "code",
|
100 |
| - "execution_count": null, |
101 |
| - "metadata": {}, |
102 |
| - "outputs": [], |
| 174 | + "execution_count": 19, |
| 175 | + "metadata": { |
| 176 | + "scrolled": true |
| 177 | + }, |
| 178 | + "outputs": [ |
| 179 | + { |
| 180 | + "name": "stdout", |
| 181 | + "output_type": "stream", |
| 182 | + "text": [ |
| 183 | + "(25000, 2)\n", |
| 184 | + "(25000, 2)\n" |
| 185 | + ] |
| 186 | + } |
| 187 | + ], |
103 | 188 | "source": [
|
104 | 189 | "# One-hot encoding the output\n",
|
105 | 190 | "num_classes = 2\n",
|
|
119 | 204 | },
|
120 | 205 | {
|
121 | 206 | "cell_type": "code",
|
122 |
| - "execution_count": null, |
| 207 | + "execution_count": 21, |
123 | 208 | "metadata": {},
|
124 |
| - "outputs": [], |
| 209 | + "outputs": [ |
| 210 | + { |
| 211 | + "name": "stdout", |
| 212 | + "output_type": "stream", |
| 213 | + "text": [ |
| 214 | + "1000\n" |
| 215 | + ] |
| 216 | + } |
| 217 | + ], |
| 218 | + "source": [ |
| 219 | + "print (x_train.shape[1])" |
| 220 | + ] |
| 221 | + }, |
| 222 | + { |
| 223 | + "cell_type": "code", |
| 224 | + "execution_count": 29, |
| 225 | + "metadata": {}, |
| 226 | + "outputs": [ |
| 227 | + { |
| 228 | + "name": "stdout", |
| 229 | + "output_type": "stream", |
| 230 | + "text": [ |
| 231 | + "_________________________________________________________________\n", |
| 232 | + "Layer (type) Output Shape Param # \n", |
| 233 | + "=================================================================\n", |
| 234 | + "dense_9 (Dense) (None, 512) 512512 \n", |
| 235 | + "_________________________________________________________________\n", |
| 236 | + "dropout_2 (Dropout) (None, 512) 0 \n", |
| 237 | + "_________________________________________________________________\n", |
| 238 | + "dense_10 (Dense) (None, 2) 1026 \n", |
| 239 | + "=================================================================\n", |
| 240 | + "Total params: 513,538\n", |
| 241 | + "Trainable params: 513,538\n", |
| 242 | + "Non-trainable params: 0\n", |
| 243 | + "_________________________________________________________________\n" |
| 244 | + ] |
| 245 | + } |
| 246 | + ], |
125 | 247 | "source": [
|
126 | 248 | "# TODO: Build the model architecture\n",
|
127 | 249 | "\n",
|
128 |
| - "# TODO: Compile the model using a loss function and an optimizer.\n" |
| 250 | + "model = Sequential()\n", |
| 251 | + "model.add(Dense(512, activation='relu', input_dim=1000))\n", |
| 252 | + "model.add(Dropout(0.5))\n", |
| 253 | + "model.add(Dense(num_classes, activation='softmax'))\n", |
| 254 | + "model.summary()\n", |
| 255 | + "\n", |
| 256 | + "# Compiling the model using categorical_crossentropy loss, and rmsprop optimizer.\n", |
| 257 | + "model.compile(loss='categorical_crossentropy',\n", |
| 258 | + " optimizer='rmsprop',\n", |
| 259 | + " metrics=['accuracy'])\n" |
129 | 260 | ]
|
130 | 261 | },
|
131 | 262 | {
|
|
138 | 269 | },
|
139 | 270 | {
|
140 | 271 | "cell_type": "code",
|
141 |
| - "execution_count": null, |
| 272 | + "execution_count": 31, |
142 | 273 | "metadata": {},
|
143 |
| - "outputs": [], |
| 274 | + "outputs": [ |
| 275 | + { |
| 276 | + "name": "stdout", |
| 277 | + "output_type": "stream", |
| 278 | + "text": [ |
| 279 | + "Train on 25000 samples, validate on 25000 samples\n", |
| 280 | + "Epoch 1/10\n", |
| 281 | + " - 5s - loss: 0.4017 - acc: 0.8248 - val_loss: 0.3512 - val_acc: 0.8527\n", |
| 282 | + "Epoch 2/10\n", |
| 283 | + " - 5s - loss: 0.3429 - acc: 0.8610 - val_loss: 0.3430 - val_acc: 0.8600\n", |
| 284 | + "Epoch 3/10\n", |
| 285 | + " - 5s - loss: 0.3235 - acc: 0.8730 - val_loss: 0.3494 - val_acc: 0.8586\n", |
| 286 | + "Epoch 4/10\n", |
| 287 | + " - 5s - loss: 0.3204 - acc: 0.8779 - val_loss: 0.4351 - val_acc: 0.8349\n", |
| 288 | + "Epoch 5/10\n", |
| 289 | + " - 5s - loss: 0.3131 - acc: 0.8816 - val_loss: 0.3816 - val_acc: 0.8612\n", |
| 290 | + "Epoch 6/10\n", |
| 291 | + " - 5s - loss: 0.3031 - acc: 0.8895 - val_loss: 0.4305 - val_acc: 0.8450\n", |
| 292 | + "Epoch 7/10\n", |
| 293 | + " - 5s - loss: 0.2942 - acc: 0.8944 - val_loss: 0.4123 - val_acc: 0.8509\n", |
| 294 | + "Epoch 8/10\n", |
| 295 | + " - 5s - loss: 0.2842 - acc: 0.9013 - val_loss: 0.4251 - val_acc: 0.8597\n", |
| 296 | + "Epoch 9/10\n", |
| 297 | + " - 5s - loss: 0.2718 - acc: 0.9058 - val_loss: 0.4589 - val_acc: 0.8558\n", |
| 298 | + "Epoch 10/10\n", |
| 299 | + " - 5s - loss: 0.2639 - acc: 0.9130 - val_loss: 0.4578 - val_acc: 0.8548\n" |
| 300 | + ] |
| 301 | + } |
| 302 | + ], |
144 | 303 | "source": [
|
145 |
| - "# TODO: Run the model. Feel free to experiment with different batch sizes and number of epochs." |
| 304 | + "# TODO: Run the model. Feel free to experiment with different batch sizes and number of epochs.\n", |
| 305 | + "hist = model.fit(x_train, y_train,\n", |
| 306 | + " batch_size=32,\n", |
| 307 | + " epochs=10,\n", |
| 308 | + " validation_data=(x_test, y_test), \n", |
| 309 | + " verbose=2)" |
146 | 310 | ]
|
147 | 311 | },
|
148 | 312 | {
|
|
155 | 319 | },
|
156 | 320 | {
|
157 | 321 | "cell_type": "code",
|
158 |
| - "execution_count": null, |
| 322 | + "execution_count": 32, |
159 | 323 | "metadata": {},
|
160 |
| - "outputs": [], |
| 324 | + "outputs": [ |
| 325 | + { |
| 326 | + "name": "stdout", |
| 327 | + "output_type": "stream", |
| 328 | + "text": [ |
| 329 | + "Accuracy: 0.8548\n" |
| 330 | + ] |
| 331 | + } |
| 332 | + ], |
161 | 333 | "source": [
|
162 | 334 | "score = model.evaluate(x_test, y_test, verbose=0)\n",
|
163 | 335 | "print(\"Accuracy: \", score[1])"
|
164 | 336 | ]
|
| 337 | + }, |
| 338 | + { |
| 339 | + "cell_type": "code", |
| 340 | + "execution_count": null, |
| 341 | + "metadata": {}, |
| 342 | + "outputs": [], |
| 343 | + "source": [] |
165 | 344 | }
|
166 | 345 | ],
|
167 | 346 | "metadata": {
|
|
0 commit comments