Format: application/octet-stream
1 {
2 "cells": [
3 {
4 "cell_type": "code",
5 "execution_count": 1,
6 "id": "4cdc08f7",
7 "metadata": {},
8 "outputs": [
9 {
10 "name": "stderr",
11 "output_type": "stream",
12 "text": [
13 "UsageError: Line magic function `%tensorflow_version` not found.\n"
14 ]
15 }
16 ],
17 "source": [
18 "from __future__ import absolute_import, division, print_function, unicode_literals\n",
19 "\n",
20 "import numpy as np\n",
21 "import pandas as pd\n",
22 "import matplotlib.pyplot as plt\n",
23 "from IPython.display import clear_output\n",
24 "from six.moves import urllib\n",
25 "\n",
26 "import tensorflow.compat.v2.feature_column as fc\n",
27 "\n",
28 "import tensorflow as tf\n",
29 "%tensorflow_version x.x # this line is not required unless you are in a notebook"
30 ]
31 },
32 {
33 "cell_type": "code",
34 "execution_count": 2,
35 "id": "d184869a",
36 "metadata": {},
37 "outputs": [],
38 "source": [
39 "dftrain = pd.read_csv('https://storage.googleapis.com/tf-datasets/titanic/train.csv') # training data\n",
40 "dfeval = pd.read_csv('https://storage.googleapis.com/tf-datasets/titanic/eval.csv') # testing data\n",
41 "y_train = dftrain.pop('survived')\n",
42 "y_eval = dfeval.pop('survived')"
43 ]
44 },
45 {
46 "cell_type": "code",
47 "execution_count": 3,
48 "id": "ae3f17fc",
49 "metadata": {},
50 "outputs": [
51 {
52 "data": {
53 "text/html": [
54 "<div>\n",
55 "<style scoped>\n",
56 " .dataframe tbody tr th:only-of-type {\n",
57 " vertical-align: middle;\n",
58 " }\n",
59 "\n",
60 " .dataframe tbody tr th {\n",
61 " vertical-align: top;\n",
62 " }\n",
63 "\n",
64 " .dataframe thead th {\n",
65 " text-align: right;\n",
66 " }\n",
67 "</style>\n",
68 "<table border=\"1\" class=\"dataframe\">\n",
69 " <thead>\n",
70 " <tr style=\"text-align: right;\">\n",
71 " <th></th>\n",
72 " <th>sex</th>\n",
73 " <th>age</th>\n",
74 " <th>n_siblings_spouses</th>\n",
75 " <th>parch</th>\n",
76 " <th>fare</th>\n",
77 " <th>class</th>\n",
78 " <th>deck</th>\n",
79 " <th>embark_town</th>\n",
80 " <th>alone</th>\n",
81 " </tr>\n",
82 " </thead>\n",
83 " <tbody>\n",
84 " <tr>\n",
85 " <th>0</th>\n",
86 " <td>male</td>\n",
87 " <td>22.0</td>\n",
88 " <td>1</td>\n",
89 " <td>0</td>\n",
90 " <td>7.2500</td>\n",
91 " <td>Third</td>\n",
92 " <td>unknown</td>\n",
93 " <td>Southampton</td>\n",
94 " <td>n</td>\n",
95 " </tr>\n",
96 " <tr>\n",
97 " <th>1</th>\n",
98 " <td>female</td>\n",
99 " <td>38.0</td>\n",
100 " <td>1</td>\n",
101 " <td>0</td>\n",
102 " <td>71.2833</td>\n",
103 " <td>First</td>\n",
104 " <td>C</td>\n",
105 " <td>Cherbourg</td>\n",
106 " <td>n</td>\n",
107 " </tr>\n",
108 " <tr>\n",
109 " <th>2</th>\n",
110 " <td>female</td>\n",
111 " <td>26.0</td>\n",
112 " <td>0</td>\n",
113 " <td>0</td>\n",
114 " <td>7.9250</td>\n",
115 " <td>Third</td>\n",
116 " <td>unknown</td>\n",
117 " <td>Southampton</td>\n",
118 " <td>y</td>\n",
119 " </tr>\n",
120 " <tr>\n",
121 " <th>3</th>\n",
122 " <td>female</td>\n",
123 " <td>35.0</td>\n",
124 " <td>1</td>\n",
125 " <td>0</td>\n",
126 " <td>53.1000</td>\n",
127 " <td>First</td>\n",
128 " <td>C</td>\n",
129 " <td>Southampton</td>\n",
130 " <td>n</td>\n",
131 " </tr>\n",
132 " <tr>\n",
133 " <th>4</th>\n",
134 " <td>male</td>\n",
135 " <td>28.0</td>\n",
136 " <td>0</td>\n",
137 " <td>0</td>\n",
138 " <td>8.4583</td>\n",
139 " <td>Third</td>\n",
140 " <td>unknown</td>\n",
141 " <td>Queenstown</td>\n",
142 " <td>y</td>\n",
143 " </tr>\n",
144 " </tbody>\n",
145 "</table>\n",
146 "</div>"
147 ],
148 "text/plain": [
149 " sex age n_siblings_spouses parch fare class deck \\\n",
150 "0 male 22.0 1 0 7.2500 Third unknown \n",
151 "1 female 38.0 1 0 71.2833 First C \n",
152 "2 female 26.0 0 0 7.9250 Third unknown \n",
153 "3 female 35.0 1 0 53.1000 First C \n",
154 "4 male 28.0 0 0 8.4583 Third unknown \n",
155 "\n",
156 " embark_town alone \n",
157 "0 Southampton n \n",
158 "1 Cherbourg n \n",
159 "2 Southampton y \n",
160 "3 Southampton n \n",
161 "4 Queenstown y "
162 ]
163 },
164 "execution_count": 3,
165 "metadata": {},
166 "output_type": "execute_result"
167 }
168 ],
169 "source": [
170 "dftrain.head()"
171 ]
172 },
173 {
174 "cell_type": "code",
175 "execution_count": 4,
176 "id": "969206ef",
177 "metadata": {},
178 "outputs": [
179 {
180 "data": {
181 "text/html": [
182 "<div>\n",
183 "<style scoped>\n",
184 " .dataframe tbody tr th:only-of-type {\n",
185 " vertical-align: middle;\n",
186 " }\n",
187 "\n",
188 " .dataframe tbody tr th {\n",
189 " vertical-align: top;\n",
190 " }\n",
191 "\n",
192 " .dataframe thead th {\n",
193 " text-align: right;\n",
194 " }\n",
195 "</style>\n",
196 "<table border=\"1\" class=\"dataframe\">\n",
197 " <thead>\n",
198 " <tr style=\"text-align: right;\">\n",
199 " <th></th>\n",
200 " <th>age</th>\n",
201 " <th>n_siblings_spouses</th>\n",
202 " <th>parch</th>\n",
203 " <th>fare</th>\n",
204 " </tr>\n",
205 " </thead>\n",
206 " <tbody>\n",
207 " <tr>\n",
208 " <th>count</th>\n",
209 " <td>627.000000</td>\n",
210 " <td>627.000000</td>\n",
211 " <td>627.000000</td>\n",
212 " <td>627.000000</td>\n",
213 " </tr>\n",
214 " <tr>\n",
215 " <th>mean</th>\n",
216 " <td>29.631308</td>\n",
217 " <td>0.545455</td>\n",
218 " <td>0.379585</td>\n",
219 " <td>34.385399</td>\n",
220 " </tr>\n",
221 " <tr>\n",
222 " <th>std</th>\n",
223 " <td>12.511818</td>\n",
224 " <td>1.151090</td>\n",
225 " <td>0.792999</td>\n",
226 " <td>54.597730</td>\n",
227 " </tr>\n",
228 " <tr>\n",
229 " <th>min</th>\n",
230 " <td>0.750000</td>\n",
231 " <td>0.000000</td>\n",
232 " <td>0.000000</td>\n",
233 " <td>0.000000</td>\n",
234 " </tr>\n",
235 " <tr>\n",
236 " <th>25%</th>\n",
237 " <td>23.000000</td>\n",
238 " <td>0.000000</td>\n",
239 " <td>0.000000</td>\n",
240 " <td>7.895800</td>\n",
241 " </tr>\n",
242 " <tr>\n",
243 " <th>50%</th>\n",
244 " <td>28.000000</td>\n",
245 " <td>0.000000</td>\n",
246 " <td>0.000000</td>\n",
247 " <td>15.045800</td>\n",
248 " </tr>\n",
249 " <tr>\n",
250 " <th>75%</th>\n",
251 " <td>35.000000</td>\n",
252 " <td>1.000000</td>\n",
253 " <td>0.000000</td>\n",
254 " <td>31.387500</td>\n",
255 " </tr>\n",
256 " <tr>\n",
257 " <th>max</th>\n",
258 " <td>80.000000</td>\n",
259 " <td>8.000000</td>\n",
260 " <td>5.000000</td>\n",
261 " <td>512.329200</td>\n",
262 " </tr>\n",
263 " </tbody>\n",
264 "</table>\n",
265 "</div>"
266 ],
267 "text/plain": [
268 " age n_siblings_spouses parch fare\n",
269 "count 627.000000 627.000000 627.000000 627.000000\n",
270 "mean 29.631308 0.545455 0.379585 34.385399\n",
271 "std 12.511818 1.151090 0.792999 54.597730\n",
272 "min 0.750000 0.000000 0.000000 0.000000\n",
273 "25% 23.000000 0.000000 0.000000 7.895800\n",
274 "50% 28.000000 0.000000 0.000000 15.045800\n",
275 "75% 35.000000 1.000000 0.000000 31.387500\n",
276 "max 80.000000 8.000000 5.000000 512.329200"
277 ]
278 },
279 "execution_count": 4,
280 "metadata": {},
281 "output_type": "execute_result"
282 }
283 ],
284 "source": [
285 "dftrain.describe()"
286 ]
287 },
288 {
289 "cell_type": "code",
290 "execution_count": 5,
291 "id": "6518dc41",
292 "metadata": {},
293 "outputs": [
294 {
295 "data": {
296 "text/plain": [
297 "(627, 9)"
298 ]
299 },
300 "execution_count": 5,
301 "metadata": {},
302 "output_type": "execute_result"
303 }
304 ],
305 "source": [
306 "dftrain.shape"
307 ]
308 },
309 {
310 "cell_type": "code",
311 "execution_count": 6,
312 "id": "46a3d5fd",
313 "metadata": {},
314 "outputs": [
315 {
316 "data": {
317 "text/plain": [
318 "(627,)"
319 ]
320 },
321 "execution_count": 6,
322 "metadata": {},
323 "output_type": "execute_result"
324 }
325 ],
326 "source": [
327 "y_train.shape"
328 ]
329 },
330 {
331 "cell_type": "code",
332 "execution_count": 7,
333 "id": "c9db13d1",
334 "metadata": {},
335 "outputs": [
336 {
337 "data": {
338 "text/plain": [
339 "<AxesSubplot:>"
340 ]
341 },
342 "execution_count": 7,
343 "metadata": {},
344 "output_type": "execute_result"
345 },
346 {
347 "data": {
348 "image/png": "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\n",
349 "text/plain": [
350 "<Figure size 432x288 with 1 Axes>"
351 ]
352 },
353 "metadata": {
354 "needs_background": "light"
355 },
356 "output_type": "display_data"
357 }
358 ],
359 "source": [
360 "dftrain.age.hist(bins=25)"
361 ]
362 },
363 {
364 "cell_type": "code",
365 "execution_count": 8,
366 "id": "995c3f20",
367 "metadata": {},
368 "outputs": [
369 {
370 "data": {
371 "text/plain": [
372 "<AxesSubplot:>"
373 ]
374 },
375 "execution_count": 8,
376 "metadata": {},
377 "output_type": "execute_result"
378 },
379 {
380 "data": {
381 "image/png": "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\n",
382 "text/plain": [
383 "<Figure size 432x288 with 1 Axes>"
384 ]
385 },
386 "metadata": {
387 "needs_background": "light"
388 },
389 "output_type": "display_data"
390 }
391 ],
392 "source": [
393 "dftrain.sex.value_counts().plot(kind='barh') # bar for simple horizontal bar"
394 ]
395 },
396 {
397 "cell_type": "code",
398 "execution_count": 9,
399 "id": "8c0ea7cd",
400 "metadata": {
401 "scrolled": true
402 },
403 "outputs": [
404 {
405 "data": {
406 "text/plain": [
407 "<AxesSubplot:>"
408 ]
409 },
410 "execution_count": 9,
411 "metadata": {},
412 "output_type": "execute_result"
413 },
414 {
415 "data": {
416 "image/png": "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\n",
417 "text/plain": [
418 "<Figure size 432x288 with 1 Axes>"
419 ]
420 },
421 "metadata": {
422 "needs_background": "light"
423 },
424 "output_type": "display_data"
425 }
426 ],
427 "source": [
428 "dftrain['class'].value_counts().plot(kind= 'bar')"
429 ]
430 },
431 {
432 "cell_type": "code",
433 "execution_count": null,
434 "id": "2ed6208d",
435 "metadata": {},
436 "outputs": [],
437 "source": []
438 },
439 {
440 "cell_type": "code",
441 "execution_count": 23,
442 "id": "6af2acc9",
443 "metadata": {},
444 "outputs": [
445 {
446 "data": {
447 "text/plain": [
448 "Text(0.5, 0, 'survived%')"
449 ]
450 },
451 "execution_count": 23,
452 "metadata": {},
453 "output_type": "execute_result"
454 },
455 {
456 "data": {
457 "image/png": "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\n",
458 "text/plain": [
459 "<Figure size 432x288 with 1 Axes>"
460 ]
461 },
462 "metadata": {
463 "needs_background": "light"
464 },
465 "output_type": "display_data"
466 }
467 ],
468 "source": [
469 "pd.concat([dftrain, y_train], axis=1).groupby('sex').survived.mean().\\\n",
470 "plot(kind='barh').set_xlabel('survived%')"
471 ]
472 },
473 {
474 "cell_type": "code",
475 "execution_count": null,
476 "id": "388de869",
477 "metadata": {},
478 "outputs": [],
479 "source": []
480 },
481 {
482 "cell_type": "code",
483 "execution_count": 14,
484 "id": "334f4367",
485 "metadata": {},
486 "outputs": [],
487 "source": [
488 "CATEGORICAL_COLUMNS = ['sex', 'n_siblings_spouses', 'parch', 'class', 'deck',\n",
489 " 'embark_town', 'alone']\n",
490 "NUMERIC_COLUMNS = ['age', 'fare']\n",
491 "\n",
492 "feature_columns = []\n",
493 "for feature_name in CATEGORICAL_COLUMNS:\n",
494 " vocabulary = dftrain[feature_name].unique() # gets a list of all unique values from given feature column\n",
495 " feature_columns.\\\n",
496 " append(tf.feature_column.\\\n",
497 " categorical_column_with_vocabulary_list(feature_name, vocabulary))\n",
498 "\n",
499 "for feature_name in NUMERIC_COLUMNS:\n",
500 " feature_columns.append(tf.feature_column.numeric_column(feature_name, dtype=tf.float32))\n"
501 ]
502 },
503 {
504 "cell_type": "code",
505 "execution_count": 20,
506 "id": "6f2b6447",
507 "metadata": {},
508 "outputs": [
509 {
510 "name": "stdout",
511 "output_type": "stream",
512 "text": [
513 "\n",
514 " VocabularyListCategoricalColumn(key='sex', vocabulary_list=('male', 'female'), dtype=tf.string, default_value=-1, num_oov_buckets=0)\n",
515 "\n",
516 " VocabularyListCategoricalColumn(key='n_siblings_spouses', vocabulary_list=(1, 0, 3, 4, 2, 5, 8), dtype=tf.int64, default_value=-1, num_oov_buckets=0)\n",
517 "\n",
518 " VocabularyListCategoricalColumn(key='parch', vocabulary_list=(0, 1, 2, 5, 3, 4), dtype=tf.int64, default_value=-1, num_oov_buckets=0)\n",
519 "\n",
520 " VocabularyListCategoricalColumn(key='class', vocabulary_list=('Third', 'First', 'Second'), dtype=tf.string, default_value=-1, num_oov_buckets=0)\n",
521 "\n",
522 " VocabularyListCategoricalColumn(key='deck', vocabulary_list=('unknown', 'C', 'G', 'A', 'B', 'D', 'F', 'E'), dtype=tf.string, default_value=-1, num_oov_buckets=0)\n",
523 "\n",
524 " VocabularyListCategoricalColumn(key='embark_town', vocabulary_list=('Southampton', 'Cherbourg', 'Queenstown', 'unknown'), dtype=tf.string, default_value=-1, num_oov_buckets=0)\n",
525 "\n",
526 " VocabularyListCategoricalColumn(key='alone', vocabulary_list=('n', 'y'), dtype=tf.string, default_value=-1, num_oov_buckets=0)\n",
527 "\n",
528 " NumericColumn(key='age', shape=(1,), default_value=None, dtype=tf.float32, normalizer_fn=None)\n",
529 "\n",
530 " NumericColumn(key='fare', shape=(1,), default_value=None, dtype=tf.float32, normalizer_fn=None)\n"
531 ]
532 }
533 ],
534 "source": [
535 "for i in feature_columns:\n",
536 " print('\\n',i)"
537 ]
538 },
539 {
540 "cell_type": "code",
541 "execution_count": null,
542 "id": "79e7395c",
543 "metadata": {},
544 "outputs": [],
545 "source": []
546 },
547 {
548 "cell_type": "code",
549 "execution_count": null,
550 "id": "29be228c",
551 "metadata": {},
552 "outputs": [],
553 "source": []
554 },
555 {
556 "cell_type": "code",
557 "execution_count": 43,
558 "id": "d96f7f50",
559 "metadata": {},
560 "outputs": [],
561 "source": [
562 "def make_input_fn(data_df, label_df, num_epochs=10, shuffle=True, batch_size=30):\n",
563 " def input_function(): # inner function, this will be returned\n",
564 " ds = tf.data.Dataset.from_tensor_slices((dict(data_df), label_df)) # create tf.data.Dataset object with data and its label\n",
565 " if shuffle:\n",
566 " ds = ds.shuffle(1000) # randomize order of data\n",
567 " ds = ds.batch(batch_size).repeat(num_epochs) # split dataset into batches of 32 and repeat process for number of epochs\n",
568 " return ds # return a batch of the dataset\n",
569 " return input_function # return a function object for use\n",
570 "\n",
571 "train_input_fn = make_input_fn(dftrain, y_train) # here we will call the input_function that was returned to us to get a dataset object we can feed to the model\n",
572 "eval_input_fn = make_input_fn(dfeval, y_eval, num_epochs=1, shuffle=False)\n"
573 ]
574 },
575 {
576 "cell_type": "code",
577 "execution_count": 44,
578 "id": "3e71a7df",
579 "metadata": {},
580 "outputs": [
581 {
582 "name": "stdout",
583 "output_type": "stream",
584 "text": [
585 "INFO:tensorflow:Using default config.\n",
586 "WARNING:tensorflow:Using temporary folder as model directory: C:\\Users\\PC\\AppData\\Local\\Temp\\tmpnkh_gdr8\n",
587 "INFO:tensorflow:Using config: {'_model_dir': 'C:\\\\Users\\\\PC\\\\AppData\\\\Local\\\\Temp\\\\tmpnkh_gdr8', '_tf_random_seed': None, '_save_summary_steps': 100, '_save_checkpoints_steps': None, '_save_checkpoints_secs': 600, '_session_config': allow_soft_placement: true\n",
588 "graph_options {\n",
589 " rewrite_options {\n",
590 " meta_optimizer_iterations: ONE\n",
591 " }\n",
592 "}\n",
593 ", '_keep_checkpoint_max': 5, '_keep_checkpoint_every_n_hours': 10000, '_log_step_count_steps': 100, '_train_distribute': None, '_device_fn': None, '_protocol': None, '_eval_distribute': None, '_experimental_distribute': None, '_experimental_max_worker_delay_secs': None, '_session_creation_timeout_secs': 7200, '_checkpoint_save_graph_def': True, '_service': None, '_cluster_spec': ClusterSpec({}), '_task_type': 'worker', '_task_id': 0, '_global_id_in_cluster': 0, '_master': '', '_evaluation_master': '', '_is_chief': True, '_num_ps_replicas': 0, '_num_worker_replicas': 1}\n"
594 ]
595 }
596 ],
597 "source": [
598 "linear_est = tf.estimator.LinearClassifier(feature_columns=feature_columns)\n",
599 "# We create a linear estimtor by passing the feature columns we created earlier"
600 ]
601 },
602 {
603 "cell_type": "code",
604 "execution_count": 45,
605 "id": "94430458",
606 "metadata": {},
607 "outputs": [
608 {
609 "name": "stdout",
610 "output_type": "stream",
611 "text": [
612 "0.7462121\n"
613 ]
614 }
615 ],
616 "source": [
617 "linear_est.train(train_input_fn) # train\n",
618 "result = linear_est.evaluate(eval_input_fn) # get model metrics/stats by testing on tetsing data\n",
619 "\n",
620 "clear_output() # clears consoke output\n",
621 "print(result['accuracy']) # the result variable is simply a dict of stats about our model"
622 ]
623 },
624 {
625 "cell_type": "code",
626 "execution_count": 48,
627 "id": "931ea121",
628 "metadata": {},
629 "outputs": [
630 {
631 "name": "stdout",
632 "output_type": "stream",
633 "text": [
634 "INFO:tensorflow:Calling model_fn.\n"
635 ]
636 },
637 {
638 "name": "stderr",
639 "output_type": "stream",
640 "text": [
641 "C:\\Users\\PC\\anaconda3\\lib\\site-packages\\tensorflow\\python\\keras\\engine\\base_layer_v1.py:1700: UserWarning: `layer.add_variable` is deprecated and will be removed in a future version. Please use `layer.add_weight` method instead.\n",
642 " warnings.warn('`layer.add_variable` is deprecated and '\n"
643 ]
644 },
645 {
646 "name": "stdout",
647 "output_type": "stream",
648 "text": [
649 "INFO:tensorflow:Done calling model_fn.\n",
650 "INFO:tensorflow:Graph was finalized.\n",
651 "INFO:tensorflow:Restoring parameters from C:\\Users\\PC\\AppData\\Local\\Temp\\tmpnkh_gdr8\\model.ckpt-210\n",
652 "INFO:tensorflow:Running local_init_op.\n",
653 "INFO:tensorflow:Done running local_init_op.\n",
654 "{'logits': array([-2.2115405], dtype=float32), 'logistic': array([0.09871891], dtype=float32), 'probabilities': array([0.9012811 , 0.09871893], dtype=float32), 'class_ids': array([0], dtype=int64), 'classes': array([b'0'], dtype=object), 'all_class_ids': array([0, 1]), 'all_classes': array([b'0', b'1'], dtype=object)}\n"
655 ]
656 }
657 ],
658 "source": [
659 "res=list(linear_est.predict(eval_input_fn))\n"
660 ]
661 },
662 {
663 "cell_type": "code",
664 "execution_count": 50,
665 "id": "97d6c402",
666 "metadata": {},
667 "outputs": [
668 {
669 "name": "stdout",
670 "output_type": "stream",
671 "text": [
672 "[0.9012811 0.09871893]\n"
673 ]
674 }
675 ],
676 "source": [
677 "print(res[0]['probabilities'])"
678 ]
679 },
680 {
681 "cell_type": "code",
682 "execution_count": null,
683 "id": "5bdb63be",
684 "metadata": {},
685 "outputs": [],
686 "source": []
687 }
688 ],
689 "metadata": {
690 "kernelspec": {
691 "display_name": "Python 3",
692 "language": "python",
693 "name": "python3"
694 },
695 "language_info": {
696 "codemirror_mode": {
697 "name": "ipython",
698 "version": 3
699 },
700 "file_extension": ".py",
701 "mimetype": "text/x-python",
702 "name": "python",
703 "nbconvert_exporter": "python",
704 "pygments_lexer": "ipython3",
705 "version": "3.8.8"
706 }
707 },
708 "nbformat": 4,
709 "nbformat_minor": 5
710 }
711