├── .gitignore
└── Logistic regression.ipynb
/.gitignore:
--------------------------------------------------------------------------------
1 | .ipynb_checkpoints
2 |
--------------------------------------------------------------------------------
/Logistic regression.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "# Логистическая регрессия"
8 | ]
9 | },
10 | {
11 | "cell_type": "code",
12 | "execution_count": 1,
13 | "metadata": {},
14 | "outputs": [],
15 | "source": [
16 | "# Логистическая регрессия - метод, который позволяет исследовать взаимосвязи между\n",
17 | "# номинативной зависимой переменной (ЗП) и различными предикторами.\n",
18 | "\n",
19 | "# Уравнение логистической регрессии:"
20 | ]
21 | },
22 | {
23 | "cell_type": "markdown",
24 | "metadata": {},
25 | "source": [
26 | "\\begin{equation}\n",
27 | "log(odds) = B_0 + B_1 x_1 + B_2 x_2 + ... + B_k x_k\n",
28 | "\\end{equation}"
29 | ]
30 | },
31 | {
32 | "cell_type": "code",
33 | "execution_count": 2,
34 | "metadata": {},
35 | "outputs": [],
36 | "source": [
37 | "# log - натуральный логарифм.\n",
38 | "# odds - шансы положительного исхода (далее просто \"шансы\")."
39 | ]
40 | },
41 | {
42 | "cell_type": "markdown",
43 | "metadata": {},
44 | "source": [
45 | "\\begin{equation}\n",
46 | "p = \\frac{e^{log(odds)}}{1 + e^{log(odds)}} = \\frac{exp(log(odds))}{1 + exp(log(odds))}\n",
47 | "\\end{equation}"
48 | ]
49 | },
50 | {
51 | "cell_type": "code",
52 | "execution_count": 3,
53 | "metadata": {},
54 | "outputs": [],
55 | "source": [
56 | "# p - вероятность положительного исхода (далее просто \"вероятность\")."
57 | ]
58 | },
59 | {
60 | "cell_type": "markdown",
61 | "metadata": {},
62 | "source": [
63 | "## Шансы и вероятность"
64 | ]
65 | },
66 | {
67 | "cell_type": "code",
68 | "execution_count": 4,
69 | "metadata": {},
70 | "outputs": [],
71 | "source": [
72 | "import pandas as pd\n",
73 | "import numpy as np\n",
74 | "import matplotlib.pyplot as plt\n",
75 | "import seaborn as sns\n",
76 | "import statsmodels.api as sm\n",
77 | "import statsmodels.formula.api as smf"
78 | ]
79 | },
80 | {
81 | "cell_type": "code",
82 | "execution_count": 5,
83 | "metadata": {},
84 | "outputs": [
85 | {
86 | "data": {
87 | "text/html": [
88 | "
\n",
89 | "\n",
102 | "
\n",
103 | " \n",
104 | " \n",
105 | " | \n",
106 | " coin_state | \n",
107 | "
\n",
108 | " \n",
109 | " \n",
110 | " \n",
111 | " | 0 | \n",
112 | " 0 | \n",
113 | "
\n",
114 | " \n",
115 | " | 1 | \n",
116 | " 0 | \n",
117 | "
\n",
118 | " \n",
119 | " | 2 | \n",
120 | " 1 | \n",
121 | "
\n",
122 | " \n",
123 | " | 3 | \n",
124 | " 0 | \n",
125 | "
\n",
126 | " \n",
127 | " | 4 | \n",
128 | " 0 | \n",
129 | "
\n",
130 | " \n",
131 | " | 5 | \n",
132 | " 0 | \n",
133 | "
\n",
134 | " \n",
135 | " | 6 | \n",
136 | " 1 | \n",
137 | "
\n",
138 | " \n",
139 | " | 7 | \n",
140 | " 0 | \n",
141 | "
\n",
142 | " \n",
143 | " | 8 | \n",
144 | " 0 | \n",
145 | "
\n",
146 | " \n",
147 | " | 9 | \n",
148 | " 0 | \n",
149 | "
\n",
150 | " \n",
151 | "
\n",
152 | "
"
153 | ],
154 | "text/plain": [
155 | " coin_state\n",
156 | "0 0\n",
157 | "1 0\n",
158 | "2 1\n",
159 | "3 0\n",
160 | "4 0\n",
161 | "5 0\n",
162 | "6 1\n",
163 | "7 0\n",
164 | "8 0\n",
165 | "9 0"
166 | ]
167 | },
168 | "execution_count": 5,
169 | "metadata": {},
170 | "output_type": "execute_result"
171 | }
172 | ],
173 | "source": [
174 | "# Разберем на примере подбрасывания монетки. Пусть у нас было 10 бросков и мы получили следующие результаты:\n",
175 | "# 1 - орел (в примере мы хотим, чтобы выпадали орлы, это будет положительный исход)\n",
176 | "# 0 - решка (отрицательный исход)\n",
177 | "\n",
178 | "df = pd.DataFrame({'coin_state': [0, 0, 1, 0, 0, 0, 1, 0, 0, 0]})\n",
179 | "df"
180 | ]
181 | },
182 | {
183 | "cell_type": "code",
184 | "execution_count": 6,
185 | "metadata": {},
186 | "outputs": [
187 | {
188 | "data": {
189 | "text/plain": [
190 | "0 8\n",
191 | "1 2\n",
192 | "Name: coin_state, dtype: int64"
193 | ]
194 | },
195 | "execution_count": 6,
196 | "metadata": {},
197 | "output_type": "execute_result"
198 | }
199 | ],
200 | "source": [
201 | "# 2 орла, 8 решек\n",
202 | "df.coin_state.value_counts()"
203 | ]
204 | },
205 | {
206 | "cell_type": "code",
207 | "execution_count": 7,
208 | "metadata": {},
209 | "outputs": [],
210 | "source": [
211 | "# Рассчитаем вероятность:"
212 | ]
213 | },
214 | {
215 | "cell_type": "markdown",
216 | "metadata": {},
217 | "source": [
218 | "\\begin{equation}\n",
219 | "p = \\frac{pos}{pos + neg}\n",
220 | "\\end{equation} "
221 | ]
222 | },
223 | {
224 | "cell_type": "code",
225 | "execution_count": 8,
226 | "metadata": {},
227 | "outputs": [
228 | {
229 | "data": {
230 | "text/plain": [
231 | "0.2"
232 | ]
233 | },
234 | "execution_count": 8,
235 | "metadata": {},
236 | "output_type": "execute_result"
237 | }
238 | ],
239 | "source": [
240 | "pos = df.coin_state.value_counts()[1] # количество положительных исходов\n",
241 | "neg = df.coin_state.value_counts()[0] # количество отрицательных исходов\n",
242 | "\n",
243 | "p = pos / (pos + neg)\n",
244 | "p"
245 | ]
246 | },
247 | {
248 | "cell_type": "code",
249 | "execution_count": 9,
250 | "metadata": {},
251 | "outputs": [],
252 | "source": [
253 | "# Рассчитаем шансы:"
254 | ]
255 | },
256 | {
257 | "cell_type": "markdown",
258 | "metadata": {},
259 | "source": [
260 | "\\begin{equation}\n",
261 | "odds = \\frac{pos}{neg}\n",
262 | "\\end{equation}"
263 | ]
264 | },
265 | {
266 | "cell_type": "code",
267 | "execution_count": 10,
268 | "metadata": {},
269 | "outputs": [
270 | {
271 | "data": {
272 | "text/plain": [
273 | "0.25"
274 | ]
275 | },
276 | "execution_count": 10,
277 | "metadata": {},
278 | "output_type": "execute_result"
279 | }
280 | ],
281 | "source": [
282 | "odds = pos / neg\n",
283 | "odds"
284 | ]
285 | },
286 | {
287 | "cell_type": "code",
288 | "execution_count": 11,
289 | "metadata": {},
290 | "outputs": [],
291 | "source": [
292 | "# Шансы можно посчитать, зная вероятность:"
293 | ]
294 | },
295 | {
296 | "cell_type": "markdown",
297 | "metadata": {},
298 | "source": [
299 | "\\begin{equation}\n",
300 | "odds = \\frac{p}{1 - p}\n",
301 | "\\end{equation}"
302 | ]
303 | },
304 | {
305 | "cell_type": "code",
306 | "execution_count": 12,
307 | "metadata": {},
308 | "outputs": [
309 | {
310 | "data": {
311 | "text/plain": [
312 | "0.25"
313 | ]
314 | },
315 | "execution_count": 12,
316 | "metadata": {},
317 | "output_type": "execute_result"
318 | }
319 | ],
320 | "source": [
321 | "p / (1 - p)"
322 | ]
323 | },
324 | {
325 | "cell_type": "code",
326 | "execution_count": 13,
327 | "metadata": {},
328 | "outputs": [],
329 | "source": [
330 | "# Вероятность можно посчитать, зная шансы:"
331 | ]
332 | },
333 | {
334 | "cell_type": "markdown",
335 | "metadata": {},
336 | "source": [
337 | "\\begin{equation}\n",
338 | "p = \\frac{odds}{1 + odds}\n",
339 | "\\end{equation}"
340 | ]
341 | },
342 | {
343 | "cell_type": "code",
344 | "execution_count": 14,
345 | "metadata": {},
346 | "outputs": [
347 | {
348 | "data": {
349 | "text/plain": [
350 | "0.2"
351 | ]
352 | },
353 | "execution_count": 14,
354 | "metadata": {},
355 | "output_type": "execute_result"
356 | }
357 | ],
358 | "source": [
359 | "odds / (1 + odds)"
360 | ]
361 | },
362 | {
363 | "cell_type": "markdown",
364 | "metadata": {},
365 | "source": [
366 | "## При чем тут натуральный логарифм?"
367 | ]
368 | },
369 | {
370 | "cell_type": "code",
371 | "execution_count": 15,
372 | "metadata": {},
373 | "outputs": [],
374 | "source": [
375 | "# Проследим за различным соотношением положительных и отрицательных исходов\n",
376 | "# и рассчитанными на их основе вероятностью, шансами и натуральным логарифмом шансов (далее просто \"логарифм шансов\").\n",
377 | "\n",
378 | "# Вероятность - число от нуля до единицы\n",
379 | "# Шансы - число от нуля до плюс бесконечности\n",
380 | "# Логарифм шансов - число от минус бесконечности до плюс бесконечности"
381 | ]
382 | },
383 | {
384 | "cell_type": "code",
385 | "execution_count": 16,
386 | "metadata": {},
387 | "outputs": [
388 | {
389 | "data": {
390 | "text/html": [
391 | "\n",
392 | "\n",
405 | "
\n",
406 | " \n",
407 | " \n",
408 | " | \n",
409 | " pos | \n",
410 | " neg | \n",
411 | " p | \n",
412 | " odds | \n",
413 | " log(odds) | \n",
414 | "
\n",
415 | " \n",
416 | " \n",
417 | " \n",
418 | " | 0 | \n",
419 | " 0 | \n",
420 | " 10 | \n",
421 | " 0.0 | \n",
422 | " 0.00 | \n",
423 | " NaN | \n",
424 | "
\n",
425 | " \n",
426 | " | 1 | \n",
427 | " 1 | \n",
428 | " 0 | \n",
429 | " 0.1 | \n",
430 | " 0.11 | \n",
431 | " -2.20 | \n",
432 | "
\n",
433 | " \n",
434 | " | 2 | \n",
435 | " 2 | \n",
436 | " 8 | \n",
437 | " 0.2 | \n",
438 | " 0.25 | \n",
439 | " -1.39 | \n",
440 | "
\n",
441 | " \n",
442 | " | 3 | \n",
443 | " 3 | \n",
444 | " 7 | \n",
445 | " 0.3 | \n",
446 | " 0.43 | \n",
447 | " -0.85 | \n",
448 | "
\n",
449 | " \n",
450 | " | 4 | \n",
451 | " 4 | \n",
452 | " 6 | \n",
453 | " 0.4 | \n",
454 | " 0.66 | \n",
455 | " -0.41 | \n",
456 | "
\n",
457 | " \n",
458 | " | 5 | \n",
459 | " 5 | \n",
460 | " 5 | \n",
461 | " 0.5 | \n",
462 | " 1.00 | \n",
463 | " 0.00 | \n",
464 | "
\n",
465 | " \n",
466 | " | 6 | \n",
467 | " 6 | \n",
468 | " 4 | \n",
469 | " 0.6 | \n",
470 | " 1.50 | \n",
471 | " 0.41 | \n",
472 | "
\n",
473 | " \n",
474 | " | 7 | \n",
475 | " 7 | \n",
476 | " 3 | \n",
477 | " 0.7 | \n",
478 | " 2.33 | \n",
479 | " 0.85 | \n",
480 | "
\n",
481 | " \n",
482 | " | 8 | \n",
483 | " 8 | \n",
484 | " 2 | \n",
485 | " 0.8 | \n",
486 | " 4.00 | \n",
487 | " 1.39 | \n",
488 | "
\n",
489 | " \n",
490 | " | 9 | \n",
491 | " 9 | \n",
492 | " 1 | \n",
493 | " 0.9 | \n",
494 | " 9.00 | \n",
495 | " 2.20 | \n",
496 | "
\n",
497 | " \n",
498 | " | 10 | \n",
499 | " 10 | \n",
500 | " 0 | \n",
501 | " 1.0 | \n",
502 | " NaN | \n",
503 | " NaN | \n",
504 | "
\n",
505 | " \n",
506 | "
\n",
507 | "
"
508 | ],
509 | "text/plain": [
510 | " pos neg p odds log(odds)\n",
511 | "0 0 10 0.0 0.00 NaN\n",
512 | "1 1 0 0.1 0.11 -2.20\n",
513 | "2 2 8 0.2 0.25 -1.39\n",
514 | "3 3 7 0.3 0.43 -0.85\n",
515 | "4 4 6 0.4 0.66 -0.41\n",
516 | "5 5 5 0.5 1.00 0.00\n",
517 | "6 6 4 0.6 1.50 0.41\n",
518 | "7 7 3 0.7 2.33 0.85\n",
519 | "8 8 2 0.8 4.00 1.39\n",
520 | "9 9 1 0.9 9.00 2.20\n",
521 | "10 10 0 1.0 NaN NaN"
522 | ]
523 | },
524 | "execution_count": 16,
525 | "metadata": {},
526 | "output_type": "execute_result"
527 | }
528 | ],
529 | "source": [
530 | "pd.DataFrame({\n",
531 | " 'pos': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],\n",
532 | " 'neg': [10, 0, 8, 7, 6, 5, 4, 3, 2, 1, 0],\n",
533 | " 'p': [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1],\n",
534 | " 'odds': [0, 0.11, 0.25, 0.43, 0.66, 1, 1.5, 2.33, 4, 9, np.nan],\n",
535 | " 'log(odds)': [np.nan, -2.2, -1.39, -0.85, -0.41, 0, 0.41, 0.85, 1.39, 2.2, np.nan],\n",
536 | "})"
537 | ]
538 | },
539 | {
540 | "cell_type": "code",
541 | "execution_count": 17,
542 | "metadata": {},
543 | "outputs": [
544 | {
545 | "data": {
546 | "image/png": "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\n",
547 | "text/plain": [
548 | ""
549 | ]
550 | },
551 | "metadata": {
552 | "needs_background": "light"
553 | },
554 | "output_type": "display_data"
555 | }
556 | ],
557 | "source": [
558 | "# Вспомним уравнение логистической регрессии - в правой части число от минус бесконечности до плюс бесконечности,\n",
559 | "# в левой - логарифм шансов, зная который, мы можем рассчитать вероятность.\n",
560 | "\n",
561 | "# Визуализируем зависимость вероятности от логарифма шансов:\n",
562 | "\n",
563 | "log_odds = np.arange(-6, 6, 0.1)\n",
564 | "p = np.exp(log_odds) / (1 + np.exp(log_odds))\n",
565 | "\n",
566 | "plt.plot(log_odds, p)\n",
567 | "plt.grid()\n",
568 | "plt.xlim(-6, 6)\n",
569 | "plt.ylim(-0.1, 1.1)\n",
570 | "plt.title('Зависимость вероятности от логарифма шансов', fontsize=12)\n",
571 | "plt.xlabel('log(odds)', fontsize=12)\n",
572 | "plt.ylabel('p', fontsize=12)\n",
573 | "\n",
574 | "plt.show()\n",
575 | "plt.close()"
576 | ]
577 | },
578 | {
579 | "cell_type": "markdown",
580 | "metadata": {},
581 | "source": [
582 | "## Модель без предикторов"
583 | ]
584 | },
585 | {
586 | "cell_type": "code",
587 | "execution_count": 18,
588 | "metadata": {},
589 | "outputs": [
590 | {
591 | "data": {
592 | "text/html": [
593 | "\n",
594 | "\n",
607 | "
\n",
608 | " \n",
609 | " \n",
610 | " | \n",
611 | " PassengerId | \n",
612 | " Survived | \n",
613 | " Pclass | \n",
614 | " Name | \n",
615 | " Sex | \n",
616 | " Age | \n",
617 | " SibSp | \n",
618 | " Parch | \n",
619 | " Ticket | \n",
620 | " Fare | \n",
621 | " Cabin | \n",
622 | " Embarked | \n",
623 | "
\n",
624 | " \n",
625 | " \n",
626 | " \n",
627 | " | 0 | \n",
628 | " 1 | \n",
629 | " 0 | \n",
630 | " 3 | \n",
631 | " Braund, Mr. Owen Harris | \n",
632 | " male | \n",
633 | " 22.0 | \n",
634 | " 1 | \n",
635 | " 0 | \n",
636 | " A/5 21171 | \n",
637 | " 7.2500 | \n",
638 | " NaN | \n",
639 | " S | \n",
640 | "
\n",
641 | " \n",
642 | " | 1 | \n",
643 | " 2 | \n",
644 | " 1 | \n",
645 | " 1 | \n",
646 | " Cumings, Mrs. John Bradley (Florence Briggs Th... | \n",
647 | " female | \n",
648 | " 38.0 | \n",
649 | " 1 | \n",
650 | " 0 | \n",
651 | " PC 17599 | \n",
652 | " 71.2833 | \n",
653 | " C85 | \n",
654 | " C | \n",
655 | "
\n",
656 | " \n",
657 | " | 2 | \n",
658 | " 3 | \n",
659 | " 1 | \n",
660 | " 3 | \n",
661 | " Heikkinen, Miss. Laina | \n",
662 | " female | \n",
663 | " 26.0 | \n",
664 | " 0 | \n",
665 | " 0 | \n",
666 | " STON/O2. 3101282 | \n",
667 | " 7.9250 | \n",
668 | " NaN | \n",
669 | " S | \n",
670 | "
\n",
671 | " \n",
672 | " | 3 | \n",
673 | " 4 | \n",
674 | " 1 | \n",
675 | " 1 | \n",
676 | " Futrelle, Mrs. Jacques Heath (Lily May Peel) | \n",
677 | " female | \n",
678 | " 35.0 | \n",
679 | " 1 | \n",
680 | " 0 | \n",
681 | " 113803 | \n",
682 | " 53.1000 | \n",
683 | " C123 | \n",
684 | " S | \n",
685 | "
\n",
686 | " \n",
687 | " | 4 | \n",
688 | " 5 | \n",
689 | " 0 | \n",
690 | " 3 | \n",
691 | " Allen, Mr. William Henry | \n",
692 | " male | \n",
693 | " 35.0 | \n",
694 | " 0 | \n",
695 | " 0 | \n",
696 | " 373450 | \n",
697 | " 8.0500 | \n",
698 | " NaN | \n",
699 | " S | \n",
700 | "
\n",
701 | " \n",
702 | "
\n",
703 | "
"
704 | ],
705 | "text/plain": [
706 | " PassengerId Survived Pclass \\\n",
707 | "0 1 0 3 \n",
708 | "1 2 1 1 \n",
709 | "2 3 1 3 \n",
710 | "3 4 1 1 \n",
711 | "4 5 0 3 \n",
712 | "\n",
713 | " Name Sex Age SibSp \\\n",
714 | "0 Braund, Mr. Owen Harris male 22.0 1 \n",
715 | "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 \n",
716 | "2 Heikkinen, Miss. Laina female 26.0 0 \n",
717 | "3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 \n",
718 | "4 Allen, Mr. William Henry male 35.0 0 \n",
719 | "\n",
720 | " Parch Ticket Fare Cabin Embarked \n",
721 | "0 0 A/5 21171 7.2500 NaN S \n",
722 | "1 0 PC 17599 71.2833 C85 C \n",
723 | "2 0 STON/O2. 3101282 7.9250 NaN S \n",
724 | "3 0 113803 53.1000 C123 S \n",
725 | "4 0 373450 8.0500 NaN S "
726 | ]
727 | },
728 | "execution_count": 18,
729 | "metadata": {},
730 | "output_type": "execute_result"
731 | }
732 | ],
733 | "source": [
734 | "# Датасет Титаника\n",
735 | "\n",
736 | "df = pd.read_csv('https://stepic.org/media/attachments/course/524/train.csv')\n",
737 | "df = df[df.Age.notnull()]\n",
738 | "df.head()"
739 | ]
740 | },
741 | {
742 | "cell_type": "code",
743 | "execution_count": 19,
744 | "metadata": {},
745 | "outputs": [
746 | {
747 | "data": {
748 | "text/html": [
749 | "\n",
750 | "Generalized Linear Model Regression Results\n",
751 | "\n",
752 | " | Dep. Variable: | Survived | No. Observations: | 714 | \n",
753 | "
\n",
754 | "\n",
755 | " | Model: | GLM | Df Residuals: | 713 | \n",
756 | "
\n",
757 | "\n",
758 | " | Model Family: | Binomial | Df Model: | 0 | \n",
759 | "
\n",
760 | "\n",
761 | " | Link Function: | logit | Scale: | 1.0000 | \n",
762 | "
\n",
763 | "\n",
764 | " | Method: | IRLS | Log-Likelihood: | -482.26 | \n",
765 | "
\n",
766 | "\n",
767 | " | Date: | Tue, 08 Jun 2021 | Deviance: | 964.52 | \n",
768 | "
\n",
769 | "\n",
770 | " | Time: | 20:53:33 | Pearson chi2: | 714. | \n",
771 | "
\n",
772 | "\n",
773 | " | No. Iterations: | 4 | | | \n",
774 | "
\n",
775 | "\n",
776 | " | Covariance Type: | nonrobust | | | \n",
777 | "
\n",
778 | "
\n",
779 | "\n",
780 | "\n",
781 | " | coef | std err | z | P>|z| | [0.025 | 0.975] | \n",
782 | "
\n",
783 | "\n",
784 | " | Intercept | -0.3799 | 0.076 | -4.985 | 0.000 | -0.529 | -0.230 | \n",
785 | "
\n",
786 | "
"
787 | ],
788 | "text/plain": [
789 | "\n",
790 | "\"\"\"\n",
791 | " Generalized Linear Model Regression Results \n",
792 | "==============================================================================\n",
793 | "Dep. Variable: Survived No. Observations: 714\n",
794 | "Model: GLM Df Residuals: 713\n",
795 | "Model Family: Binomial Df Model: 0\n",
796 | "Link Function: logit Scale: 1.0000\n",
797 | "Method: IRLS Log-Likelihood: -482.26\n",
798 | "Date: Tue, 08 Jun 2021 Deviance: 964.52\n",
799 | "Time: 20:53:33 Pearson chi2: 714.\n",
800 | "No. Iterations: 4 \n",
801 | "Covariance Type: nonrobust \n",
802 | "==============================================================================\n",
803 | " coef std err z P>|z| [0.025 0.975]\n",
804 | "------------------------------------------------------------------------------\n",
805 | "Intercept -0.3799 0.076 -4.985 0.000 -0.529 -0.230\n",
806 | "==============================================================================\n",
807 | "\"\"\""
808 | ]
809 | },
810 | "execution_count": 19,
811 | "metadata": {},
812 | "output_type": "execute_result"
813 | }
814 | ],
815 | "source": [
816 | "glm_binomial = smf.glm(formula='Survived ~ 1', data=df, family=sm.families.Binomial()).fit()\n",
817 | "glm_binomial.summary()\n",
818 | "\n",
819 | "# Intercept - логарифм шансов (шансов выжить)"
820 | ]
821 | },
822 | {
823 | "cell_type": "code",
824 | "execution_count": 20,
825 | "metadata": {},
826 | "outputs": [],
827 | "source": [
828 | "# Получаем модель:\n",
829 | "# log(odds) = -0.3799"
830 | ]
831 | },
832 | {
833 | "cell_type": "code",
834 | "execution_count": 21,
835 | "metadata": {},
836 | "outputs": [
837 | {
838 | "data": {
839 | "text/plain": [
840 | "0 424\n",
841 | "1 290\n",
842 | "Name: Survived, dtype: int64"
843 | ]
844 | },
845 | "execution_count": 21,
846 | "metadata": {},
847 | "output_type": "execute_result"
848 | }
849 | ],
850 | "source": [
851 | "# Распределение частот ЗП\n",
852 | "df.Survived.value_counts()"
853 | ]
854 | },
855 | {
856 | "cell_type": "code",
857 | "execution_count": 22,
858 | "metadata": {},
859 | "outputs": [
860 | {
861 | "data": {
862 | "text/plain": [
863 | ""
864 | ]
865 | },
866 | "execution_count": 22,
867 | "metadata": {},
868 | "output_type": "execute_result"
869 | },
870 | {
871 | "data": {
872 | "image/png": "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\n",
873 | "text/plain": [
874 | ""
875 | ]
876 | },
877 | "metadata": {
878 | "needs_background": "light"
879 | },
880 | "output_type": "display_data"
881 | }
882 | ],
883 | "source": [
884 | "sns.countplot(x='Survived', data=df, palette='hls')"
885 | ]
886 | },
887 | {
888 | "cell_type": "code",
889 | "execution_count": 23,
890 | "metadata": {},
891 | "outputs": [
892 | {
893 | "data": {
894 | "text/plain": [
895 | "0.6839622641509434"
896 | ]
897 | },
898 | "execution_count": 23,
899 | "metadata": {},
900 | "output_type": "execute_result"
901 | }
902 | ],
903 | "source": [
904 | "# df.Survived.value_counts()[1] - количество выживших 290\n",
905 | "# df.Survived.value_counts()[0] - количество погибших 424\n",
906 | "odds = df.Survived.value_counts()[1] / df.Survived.value_counts()[0]\n",
907 | "odds"
908 | ]
909 | },
910 | {
911 | "cell_type": "code",
912 | "execution_count": 24,
913 | "metadata": {},
914 | "outputs": [
915 | {
916 | "data": {
917 | "text/plain": [
918 | "-0.37985253225143806"
919 | ]
920 | },
921 | "execution_count": 24,
922 | "metadata": {},
923 | "output_type": "execute_result"
924 | }
925 | ],
926 | "source": [
927 | "# Логарифм шансов - это и есть Intercept.\n",
928 | "log_odds = np.log(odds)\n",
929 | "log_odds"
930 | ]
931 | },
932 | {
933 | "cell_type": "code",
934 | "execution_count": 25,
935 | "metadata": {},
936 | "outputs": [
937 | {
938 | "data": {
939 | "text/plain": [
940 | "0.6839622641509434"
941 | ]
942 | },
943 | "execution_count": 25,
944 | "metadata": {},
945 | "output_type": "execute_result"
946 | }
947 | ],
948 | "source": [
949 | "# Рассчитаем шансы:\n",
950 | "odds = np.exp(log_odds)\n",
951 | "odds"
952 | ]
953 | },
954 | {
955 | "cell_type": "code",
956 | "execution_count": 26,
957 | "metadata": {},
958 | "outputs": [
959 | {
960 | "data": {
961 | "text/plain": [
962 | "0.4061624649859944"
963 | ]
964 | },
965 | "execution_count": 26,
966 | "metadata": {},
967 | "output_type": "execute_result"
968 | }
969 | ],
970 | "source": [
971 | "# Рассчитаем вероятность:\n",
972 | "p = odds / (1 + odds)\n",
973 | "p"
974 | ]
975 | },
976 | {
977 | "cell_type": "code",
978 | "execution_count": 27,
979 | "metadata": {},
980 | "outputs": [
981 | {
982 | "data": {
983 | "text/plain": [
984 | "966.5159648555248"
985 | ]
986 | },
987 | "execution_count": 27,
988 | "metadata": {},
989 | "output_type": "execute_result"
990 | }
991 | ],
992 | "source": [
993 | "# aic - показатель остатков модели.\n",
994 | "# Чем он ниже, тем лучше модель (по аналогии с суммой квадратов остатков в линейной регрессии).\n",
995 | "glm_binomial.aic"
996 | ]
997 | },
998 | {
999 | "cell_type": "markdown",
1000 | "metadata": {},
1001 | "source": [
1002 | "## Модель с одним номинативным предиктором"
1003 | ]
1004 | },
1005 | {
1006 | "cell_type": "code",
1007 | "execution_count": 28,
1008 | "metadata": {},
1009 | "outputs": [
1010 | {
1011 | "data": {
1012 | "text/html": [
1013 | "\n",
1014 | "Generalized Linear Model Regression Results\n",
1015 | "\n",
1016 | " | Dep. Variable: | Survived | No. Observations: | 714 | \n",
1017 | "
\n",
1018 | "\n",
1019 | " | Model: | GLM | Df Residuals: | 712 | \n",
1020 | "
\n",
1021 | "\n",
1022 | " | Model Family: | Binomial | Df Model: | 1 | \n",
1023 | "
\n",
1024 | "\n",
1025 | " | Link Function: | logit | Scale: | 1.0000 | \n",
1026 | "
\n",
1027 | "\n",
1028 | " | Method: | IRLS | Log-Likelihood: | -375.35 | \n",
1029 | "
\n",
1030 | "\n",
1031 | " | Date: | Tue, 08 Jun 2021 | Deviance: | 750.70 | \n",
1032 | "
\n",
1033 | "\n",
1034 | " | Time: | 20:53:34 | Pearson chi2: | 714. | \n",
1035 | "
\n",
1036 | "\n",
1037 | " | No. Iterations: | 4 | | | \n",
1038 | "
\n",
1039 | "\n",
1040 | " | Covariance Type: | nonrobust | | | \n",
1041 | "
\n",
1042 | "
\n",
1043 | "\n",
1044 | "\n",
1045 | " | coef | std err | z | P>|z| | [0.025 | 0.975] | \n",
1046 | "
\n",
1047 | "\n",
1048 | " | Intercept | 1.1243 | 0.144 | 7.814 | 0.000 | 0.842 | 1.406 | \n",
1049 | "
\n",
1050 | "\n",
1051 | " | C(Sex)[T.male] | -2.4778 | 0.185 | -13.392 | 0.000 | -2.840 | -2.115 | \n",
1052 | "
\n",
1053 | "
"
1054 | ],
1055 | "text/plain": [
1056 | "\n",
1057 | "\"\"\"\n",
1058 | " Generalized Linear Model Regression Results \n",
1059 | "==============================================================================\n",
1060 | "Dep. Variable: Survived No. Observations: 714\n",
1061 | "Model: GLM Df Residuals: 712\n",
1062 | "Model Family: Binomial Df Model: 1\n",
1063 | "Link Function: logit Scale: 1.0000\n",
1064 | "Method: IRLS Log-Likelihood: -375.35\n",
1065 | "Date: Tue, 08 Jun 2021 Deviance: 750.70\n",
1066 | "Time: 20:53:34 Pearson chi2: 714.\n",
1067 | "No. Iterations: 4 \n",
1068 | "Covariance Type: nonrobust \n",
1069 | "==================================================================================\n",
1070 | " coef std err z P>|z| [0.025 0.975]\n",
1071 | "----------------------------------------------------------------------------------\n",
1072 | "Intercept 1.1243 0.144 7.814 0.000 0.842 1.406\n",
1073 | "C(Sex)[T.male] -2.4778 0.185 -13.392 0.000 -2.840 -2.115\n",
1074 | "==================================================================================\n",
1075 | "\"\"\""
1076 | ]
1077 | },
1078 | "execution_count": 28,
1079 | "metadata": {},
1080 | "output_type": "execute_result"
1081 | }
1082 | ],
1083 | "source": [
1084 | "glm_binomial = smf.glm(formula='Survived ~ C(Sex)', data=df, family=sm.families.Binomial()).fit()\n",
1085 | "glm_binomial.summary()\n",
1086 | "\n",
1087 | "# Intercept - логарифм шансов для женщин\n",
1088 | "# C(Sex)[T.male] - логарифм отношения шансов для мужчин к шансам для женщин"
1089 | ]
1090 | },
1091 | {
1092 | "cell_type": "code",
1093 | "execution_count": 29,
1094 | "metadata": {},
1095 | "outputs": [
1096 | {
1097 | "data": {
1098 | "text/html": [
1099 | "\n",
1100 | "\n",
1113 | "
\n",
1114 | " \n",
1115 | " \n",
1116 | " | Sex | \n",
1117 | " female | \n",
1118 | " male | \n",
1119 | "
\n",
1120 | " \n",
1121 | " | Survived | \n",
1122 | " | \n",
1123 | " | \n",
1124 | "
\n",
1125 | " \n",
1126 | " \n",
1127 | " \n",
1128 | " | 0 | \n",
1129 | " 64 | \n",
1130 | " 360 | \n",
1131 | "
\n",
1132 | " \n",
1133 | " | 1 | \n",
1134 | " 197 | \n",
1135 | " 93 | \n",
1136 | "
\n",
1137 | " \n",
1138 | "
\n",
1139 | "
"
1140 | ],
1141 | "text/plain": [
1142 | "Sex female male\n",
1143 | "Survived \n",
1144 | "0 64 360\n",
1145 | "1 197 93"
1146 | ]
1147 | },
1148 | "execution_count": 29,
1149 | "metadata": {},
1150 | "output_type": "execute_result"
1151 | }
1152 | ],
1153 | "source": [
1154 | "# Таблица сопряженности между переменными выжил/не выжил и пол\n",
1155 | "cross_table = pd.crosstab(df.Survived, df.Sex)\n",
1156 | "cross_table"
1157 | ]
1158 | },
1159 | {
1160 | "cell_type": "code",
1161 | "execution_count": 30,
1162 | "metadata": {},
1163 | "outputs": [
1164 | {
1165 | "data": {
1166 | "text/plain": [
1167 | "Text(0, 0.5, 'Количество')"
1168 | ]
1169 | },
1170 | "execution_count": 30,
1171 | "metadata": {},
1172 | "output_type": "execute_result"
1173 | },
1174 | {
1175 | "data": {
1176 | "image/png": "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zV7nnDlzuPjii7sgOujfv3+XrMdjCmZ1rOnCXxYdQlWevfiYQrf/4IMPcscdd/Doo4/St29fli9fzpo1azpeEFi7di29e1f+qp04cSITJ07sylA3m1sKZmYdWLp0KYMGDaJv374ADBo0iF133ZWmpiaWL18OwNy5cxk/fjwA06ZNY+rUqRxxxBGceuqpHHjggTzxxNt3oB0/fjzNzc1cd911nHfeeaxatYqmpibWr18PwOuvv87QoUN56623eOaZZzjqqKPYf//9OfTQQ/njH/8IwKJFizj44IMZN24cX/1qhzeBq1rNkoKkfpIekfSYpCckfSOVXydpkaR56TEmlUvS9yQtlDRf0vva34KZWfc44ogjWLx4Me95z3s455xzuO+++zpcprm5mdtuu42bbrqJKVOmMHv2bCBLMEuWLGH//ffP6w4YMIDRo0fn67399ts58sgj6dOnD1OnTuXKK6+kubmZSy+9lHPOOQeACy64gLPPPpvf/e53vPvd1d6JtmO1bCm8CRwWEaOBMcBRkg5K8z4fEWPSY14qOxoYkR5TgatqGJuZWdX69+9Pc3MzM2bMoKGhgcmTJ3Pddde1u8zEiRPZdtttAZg0aRI/+9nPAJg9ezYnnnjiRvUnT57MLbfcAsCsWbOYPHkyr776Kg888AAnnngiY8aM4ayzzmLp0qUA/M///A8nnXQSAKecckpX7WrtxhTSzclfTZN90qO9O/ocB1yflntI0kBJgyNiaa1iNDOrVq9evRg/fjzjx49nn332YebMmfTu3Tvv8ml96ue73vWu/PmQIUPYaaedmD9/PrfccgtXX331RuufOHEiF110ES+++CLNzc0cdthhvPbaawwcOJB58+ZtVB9qc5ZUTccUJPWSNA94AbgnIkrD9dNTF9HlkvqmsiHA4rLFW1KZmVmhFixYwNNPP51Pz5s3j912242mpiaam5sBuPXWW9tdx5QpU7jkkktYtWoV++yzz0bz+/fvzwEHHMAFF1zAscceS69evdh+++0ZPnx43sqICB577DEADjnkEGbNmgXAjTfe2CX7CTVOChGxLiLGAI3AAZLeC1wE/A0wDtgR+GKqXinlbdSykDRV0lxJc5ctW1ajyM3M3vbqq69y2mmnMXLkSPbdd1+efPJJpk2bxte//nUuuOACDj30UHr16tXuOk444QRmzZrFpEmT2qwz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\n",
1177 | "text/plain": [
1178 | ""
1179 | ]
1180 | },
1181 | "metadata": {
1182 | "needs_background": "light"
1183 | },
1184 | "output_type": "display_data"
1185 | }
1186 | ],
1187 | "source": [
1188 | "# Визуализировать таблицу сопряженности можно так:\n",
1189 | "pd.crosstab(df.Sex, df.Survived).plot(kind='bar')\n",
1190 | "plt.title('Количество мужчин и женщин на Титанике')\n",
1191 | "plt.xlabel('Пол')\n",
1192 | "plt.ylabel('Количество')"
1193 | ]
1194 | },
1195 | {
1196 | "cell_type": "code",
1197 | "execution_count": 31,
1198 | "metadata": {},
1199 | "outputs": [
1200 | {
1201 | "data": {
1202 | "text/plain": [
1203 | "3.078125"
1204 | ]
1205 | },
1206 | "execution_count": 31,
1207 | "metadata": {},
1208 | "output_type": "execute_result"
1209 | }
1210 | ],
1211 | "source": [
1212 | "# cross_table.female[0] - количество погибших женщин\n",
1213 | "# cross_table.female[1] - количество выживших женщин\n",
1214 | "odds_female = cross_table.female[1] / cross_table.female[0]\n",
1215 | "odds_female"
1216 | ]
1217 | },
1218 | {
1219 | "cell_type": "code",
1220 | "execution_count": 32,
1221 | "metadata": {},
1222 | "outputs": [
1223 | {
1224 | "data": {
1225 | "text/plain": [
1226 | "1.1243206453783166"
1227 | ]
1228 | },
1229 | "execution_count": 32,
1230 | "metadata": {},
1231 | "output_type": "execute_result"
1232 | }
1233 | ],
1234 | "source": [
1235 | "# Логарифм шансов для женщин - это и есть Intercept\n",
1236 | "np.log(odds_female)"
1237 | ]
1238 | },
1239 | {
1240 | "cell_type": "code",
1241 | "execution_count": 33,
1242 | "metadata": {},
1243 | "outputs": [
1244 | {
1245 | "data": {
1246 | "text/plain": [
1247 | "0.25833333333333336"
1248 | ]
1249 | },
1250 | "execution_count": 33,
1251 | "metadata": {},
1252 | "output_type": "execute_result"
1253 | }
1254 | ],
1255 | "source": [
1256 | "# cross_table.male[0] - количество погибших мужчин\n",
1257 | "# cross_table.male[1] - количество выживших мужчин\n",
1258 | "odds_male = cross_table.male[1] / cross_table.male[0]\n",
1259 | "odds_male"
1260 | ]
1261 | },
1262 | {
1263 | "cell_type": "code",
1264 | "execution_count": 34,
1265 | "metadata": {},
1266 | "outputs": [
1267 | {
1268 | "data": {
1269 | "text/plain": [
1270 | "0.08392554991539763"
1271 | ]
1272 | },
1273 | "execution_count": 34,
1274 | "metadata": {},
1275 | "output_type": "execute_result"
1276 | }
1277 | ],
1278 | "source": [
1279 | "odds_ratio = odds_male / odds_female\n",
1280 | "odds_ratio"
1281 | ]
1282 | },
1283 | {
1284 | "cell_type": "code",
1285 | "execution_count": 35,
1286 | "metadata": {},
1287 | "outputs": [
1288 | {
1289 | "data": {
1290 | "text/plain": [
1291 | "-2.4778251836752165"
1292 | ]
1293 | },
1294 | "execution_count": 35,
1295 | "metadata": {},
1296 | "output_type": "execute_result"
1297 | }
1298 | ],
1299 | "source": [
1300 | "np.log(odds_ratio)\n",
1301 | "# Логарифм отношения шансов для мужчин к шансам для женщин - это и есть значение C(Sex)[T.male]"
1302 | ]
1303 | },
1304 | {
1305 | "cell_type": "code",
1306 | "execution_count": 36,
1307 | "metadata": {},
1308 | "outputs": [
1309 | {
1310 | "data": {
1311 | "text/plain": [
1312 | "-1.3534999999999997"
1313 | ]
1314 | },
1315 | "execution_count": 36,
1316 | "metadata": {},
1317 | "output_type": "execute_result"
1318 | }
1319 | ],
1320 | "source": [
1321 | "# Получаем модель:\n",
1322 | "# log(odds) = 1.1243 - (2.4778 * Sex_male)\n",
1323 | "\n",
1324 | "# Если предсказываем логарифм шансов для женщин (Sex_male = 0):\n",
1325 | "# log(odds) = 1.1243 - (2.4778 * 0)\n",
1326 | "# log(odds) = 1.1243\n",
1327 | "\n",
1328 | "# Если предсказываем логарифм шансов для мужчин (Sex_male = 1):\n",
1329 | "# log(odds) = 1.1243 - (2.4778 * 1)\n",
1330 | "# log(odds) = 1.1243 - 2.4778\n",
1331 | "# log(odds) -1.3535\n",
1332 | "\n",
1333 | "log_odds_male = 1.1243 - 2.4778\n",
1334 | "log_odds_male"
1335 | ]
1336 | },
1337 | {
1338 | "cell_type": "code",
1339 | "execution_count": 37,
1340 | "metadata": {},
1341 | "outputs": [
1342 | {
1343 | "data": {
1344 | "text/plain": [
1345 | "754.7002061466517"
1346 | ]
1347 | },
1348 | "execution_count": 37,
1349 | "metadata": {},
1350 | "output_type": "execute_result"
1351 | }
1352 | ],
1353 | "source": [
1354 | "# aic у этой модели ниже, чем у предыдущей, значит эта модель лучше.\n",
1355 | "glm_binomial.aic"
1356 | ]
1357 | },
1358 | {
1359 | "cell_type": "markdown",
1360 | "metadata": {},
1361 | "source": [
1362 | "## Модель с двумя номинативными предикторами"
1363 | ]
1364 | },
1365 | {
1366 | "cell_type": "code",
1367 | "execution_count": 38,
1368 | "metadata": {},
1369 | "outputs": [
1370 | {
1371 | "data": {
1372 | "text/html": [
1373 | "\n",
1374 | "Generalized Linear Model Regression Results\n",
1375 | "\n",
1376 | " | Dep. Variable: | Survived | No. Observations: | 714 | \n",
1377 | "
\n",
1378 | "\n",
1379 | " | Model: | GLM | Df Residuals: | 708 | \n",
1380 | "
\n",
1381 | "\n",
1382 | " | Model Family: | Binomial | Df Model: | 5 | \n",
1383 | "
\n",
1384 | "\n",
1385 | " | Link Function: | logit | Scale: | 1.0000 | \n",
1386 | "
\n",
1387 | "\n",
1388 | " | Method: | IRLS | Log-Likelihood: | -321.14 | \n",
1389 | "
\n",
1390 | "\n",
1391 | " | Date: | Tue, 08 Jun 2021 | Deviance: | 642.28 | \n",
1392 | "
\n",
1393 | "\n",
1394 | " | Time: | 20:53:34 | Pearson chi2: | 714. | \n",
1395 | "
\n",
1396 | "\n",
1397 | " | No. Iterations: | 6 | | | \n",
1398 | "
\n",
1399 | "\n",
1400 | " | Covariance Type: | nonrobust | | | \n",
1401 | "
\n",
1402 | "
\n",
1403 | "\n",
1404 | "\n",
1405 | " | coef | std err | z | P>|z| | [0.025 | 0.975] | \n",
1406 | "
\n",
1407 | "\n",
1408 | " | Intercept | 3.3081 | 0.588 | 5.628 | 0.000 | 2.156 | 4.460 | \n",
1409 | "
\n",
1410 | "\n",
1411 | " | C(Sex)[T.male] | -3.7301 | 0.622 | -5.997 | 0.000 | -4.949 | -2.511 | \n",
1412 | "
\n",
1413 | "\n",
1414 | " | C(Pclass)[T.2] | -0.8804 | 0.726 | -1.213 | 0.225 | -2.303 | 0.542 | \n",
1415 | "
\n",
1416 | "\n",
1417 | " | C(Pclass)[T.3] | -3.4653 | 0.620 | -5.585 | 0.000 | -4.681 | -2.249 | \n",
1418 | "
\n",
1419 | "\n",
1420 | " | C(Sex)[T.male]:C(Pclass)[T.2] | -0.4204 | 0.804 | -0.523 | 0.601 | -1.997 | 1.156 | \n",
1421 | "
\n",
1422 | "\n",
1423 | " | C(Sex)[T.male]:C(Pclass)[T.3] | 2.1542 | 0.676 | 3.185 | 0.001 | 0.829 | 3.480 | \n",
1424 | "
\n",
1425 | "
"
1426 | ],
1427 | "text/plain": [
1428 | "\n",
1429 | "\"\"\"\n",
1430 | " Generalized Linear Model Regression Results \n",
1431 | "==============================================================================\n",
1432 | "Dep. Variable: Survived No. Observations: 714\n",
1433 | "Model: GLM Df Residuals: 708\n",
1434 | "Model Family: Binomial Df Model: 5\n",
1435 | "Link Function: logit Scale: 1.0000\n",
1436 | "Method: IRLS Log-Likelihood: -321.14\n",
1437 | "Date: Tue, 08 Jun 2021 Deviance: 642.28\n",
1438 | "Time: 20:53:34 Pearson chi2: 714.\n",
1439 | "No. Iterations: 6 \n",
1440 | "Covariance Type: nonrobust \n",
1441 | "=================================================================================================\n",
1442 | " coef std err z P>|z| [0.025 0.975]\n",
1443 | "-------------------------------------------------------------------------------------------------\n",
1444 | "Intercept 3.3081 0.588 5.628 0.000 2.156 4.460\n",
1445 | "C(Sex)[T.male] -3.7301 0.622 -5.997 0.000 -4.949 -2.511\n",
1446 | "C(Pclass)[T.2] -0.8804 0.726 -1.213 0.225 -2.303 0.542\n",
1447 | "C(Pclass)[T.3] -3.4653 0.620 -5.585 0.000 -4.681 -2.249\n",
1448 | "C(Sex)[T.male]:C(Pclass)[T.2] -0.4204 0.804 -0.523 0.601 -1.997 1.156\n",
1449 | "C(Sex)[T.male]:C(Pclass)[T.3] 2.1542 0.676 3.185 0.001 0.829 3.480\n",
1450 | "=================================================================================================\n",
1451 | "\"\"\""
1452 | ]
1453 | },
1454 | "execution_count": 38,
1455 | "metadata": {},
1456 | "output_type": "execute_result"
1457 | }
1458 | ],
1459 | "source": [
1460 | "glm_binomial = smf.glm(formula='Survived ~ C(Sex) * C(Pclass)', data=df, family=sm.families.Binomial()).fit()\n",
1461 | "glm_binomial.summary()\n",
1462 | "\n",
1463 | "# Intercept - логарифм шансов для Ж в 1кл\n",
1464 | "# C(Sex)[T.male] - логарифм отношения шансов для М в 1кл к шансам Ж в 1кл\n",
1465 | "# C(Pclass)[T.2] - логарифм отношения шансов для Ж во 2кл к шансам Ж в 1кл\n",
1466 | "# C(Pclass)[T.3] - логарифм отношения шансов для Ж в 3кл к шансам Ж в 1кл\n",
1467 | "# C(Sex)[T.male]:C(Pclass)[T.2] - разность логарифмов отношения шансов, рассчитанных для М/Ж во 2кл и М/Ж в 1кл\n",
1468 | "# C(Sex)[T.male]:C(Pclass)[T.3] - разность логарифмов отношения шансов, рассчитанных для М/Ж во 3кл и М/Ж в 1кл"
1469 | ]
1470 | },
1471 | {
1472 | "cell_type": "code",
1473 | "execution_count": 39,
1474 | "metadata": {},
1475 | "outputs": [
1476 | {
1477 | "data": {
1478 | "text/html": [
1479 | "\n",
1480 | "\n",
1493 | "
\n",
1494 | " \n",
1495 | " \n",
1496 | " | Pclass | \n",
1497 | " 1 | \n",
1498 | " 2 | \n",
1499 | " 3 | \n",
1500 | "
\n",
1501 | " \n",
1502 | " | Survived | \n",
1503 | " | \n",
1504 | " | \n",
1505 | " | \n",
1506 | "
\n",
1507 | " \n",
1508 | " \n",
1509 | " \n",
1510 | " | 0 | \n",
1511 | " 3 | \n",
1512 | " 6 | \n",
1513 | " 55 | \n",
1514 | "
\n",
1515 | " \n",
1516 | " | 1 | \n",
1517 | " 82 | \n",
1518 | " 68 | \n",
1519 | " 47 | \n",
1520 | "
\n",
1521 | " \n",
1522 | "
\n",
1523 | "
"
1524 | ],
1525 | "text/plain": [
1526 | "Pclass 1 2 3\n",
1527 | "Survived \n",
1528 | "0 3 6 55\n",
1529 | "1 82 68 47"
1530 | ]
1531 | },
1532 | "execution_count": 39,
1533 | "metadata": {},
1534 | "output_type": "execute_result"
1535 | }
1536 | ],
1537 | "source": [
1538 | "# Таблица сопряженности между переменными выжил/не выжил и классом пассажира для женщин.\n",
1539 | "cross_table_female = pd.crosstab(df[df.Sex == 'female'].Survived, df.Pclass)\n",
1540 | "cross_table_female"
1541 | ]
1542 | },
1543 | {
1544 | "cell_type": "code",
1545 | "execution_count": 40,
1546 | "metadata": {},
1547 | "outputs": [
1548 | {
1549 | "data": {
1550 | "text/plain": [
1551 | "Text(0, 0.5, 'Количество')"
1552 | ]
1553 | },
1554 | "execution_count": 40,
1555 | "metadata": {},
1556 | "output_type": "execute_result"
1557 | },
1558 | {
1559 | "data": {
1560 | "image/png": "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19ZhmJltVOrr6xdExBo3w9soEn9dXR0zZ85s6zDMzDYqkv5crtxdPWZmBePEb2ZWME78ZmYFs1H08ZuZtbZPPvmEhoYGli9f3tahbLAuXbpQW1tLp06dKprfid/MCqmhoYHu3btTV1fHmndC33hEBAsXLqShoYF+/fpVtIy7esyskJYvX06vXr026qQPIIlevXq16MjFid/MCmtjT/qNWrodTvxmZslll13GgAED2HvvvRk0aBAzZszY4HVOnTqVyy+/vBWig27duq17pgq4j789GNejyvUtrm59ZhuBxx57jGnTpvHkk0+y+eabs2DBAlasKPtM9zWsXLmSjh3Lp9Nhw4YxbNiw1gx1g7nFb2YGzJs3j969e7P55tljc3v37s2OO+5IXV0dCxYsAGDmzJkMHToUgHHjxjF27FiOPPJITj31VPbff3+ef/4vD+MbOnQo9fX1TJgwgXPPPZfFixdTV1fHp59+CsCHH35I3759+eSTT3jllVc4+uij2XfffTn44IN58cXswWmvvfYaBx54IEOGDOFHP/pRq21rrolf0rclPS/pOUl3pGev9pM0Q9IcSZMldc4zBjOzShx55JG8+eab7Lbbbpx99tk8/PDD61ymvr6eKVOmcPvttzNy5EjuvDN7ouW8efOYO3cu++677+p5e/TowcCBA1ev97777uOoo46iU6dOjB07lmuvvZb6+nquuuoqzj47eyTx+eefzze+8Q2eeOIJtt9++zUDWE+5Jf709PnzgMERsSfZA5xHkj379OcRsSvZ80Gbe6aqmVnVdOvWjfr6esaPH09NTQ0jRoxgwoQJa11m2LBhdO3aFYBTTjmFu+7Knm1/5513Mnz48DXmHzFiBJMnZ4/tnTRpEiNGjGDZsmU8+uijDB8+nEGDBnHWWWcxb948AP70pz8xatQoAL72ta+11qbm3sffEegq6RNgC7Kn0B9K9vBigInAOOD6nOMwM1unDh06MHToUIYOHcpee+3FxIkT6dix4+rumaaXTG655Zarh/v06UOvXr145plnmDx5MjfccMMa6x82bBgXXXQR7733HvX19Rx66KF88MEHbL311syaNatsTHlceZRbiz8i3gKuAt4gS/iLgXpgUUSsTLM1AH3KLS9prKSZkmbOnz8/rzDNzAB46aWXmDNnzurxWbNmsfPOO1NXV0d9fT0A99xzz1rX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\n",
1561 | "text/plain": [
1562 | ""
1563 | ]
1564 | },
1565 | "metadata": {
1566 | "needs_background": "light"
1567 | },
1568 | "output_type": "display_data"
1569 | }
1570 | ],
1571 | "source": [
1572 | "pd.crosstab(df.Pclass[df.Sex == 'female'], df.Survived).plot(kind='bar')\n",
1573 | "plt.title('Выживаемость женщин в разных классах')\n",
1574 | "plt.xlabel('Класс пассажира')\n",
1575 | "plt.ylabel('Количество')"
1576 | ]
1577 | },
1578 | {
1579 | "cell_type": "code",
1580 | "execution_count": 41,
1581 | "metadata": {},
1582 | "outputs": [
1583 | {
1584 | "data": {
1585 | "text/html": [
1586 | "\n",
1587 | "\n",
1600 | "
\n",
1601 | " \n",
1602 | " \n",
1603 | " | Pclass | \n",
1604 | " 1 | \n",
1605 | " 2 | \n",
1606 | " 3 | \n",
1607 | "
\n",
1608 | " \n",
1609 | " | Survived | \n",
1610 | " | \n",
1611 | " | \n",
1612 | " | \n",
1613 | "
\n",
1614 | " \n",
1615 | " \n",
1616 | " \n",
1617 | " | 0 | \n",
1618 | " 61 | \n",
1619 | " 84 | \n",
1620 | " 215 | \n",
1621 | "
\n",
1622 | " \n",
1623 | " | 1 | \n",
1624 | " 40 | \n",
1625 | " 15 | \n",
1626 | " 38 | \n",
1627 | "
\n",
1628 | " \n",
1629 | "
\n",
1630 | "
"
1631 | ],
1632 | "text/plain": [
1633 | "Pclass 1 2 3\n",
1634 | "Survived \n",
1635 | "0 61 84 215\n",
1636 | "1 40 15 38"
1637 | ]
1638 | },
1639 | "execution_count": 41,
1640 | "metadata": {},
1641 | "output_type": "execute_result"
1642 | }
1643 | ],
1644 | "source": [
1645 | "# Таблица сопряженности между переменными выжил/не выжил и классом пассажира для мужчин.\n",
1646 | "cross_table_male = pd.crosstab(df[df.Sex == 'male'].Survived, df.Pclass)\n",
1647 | "cross_table_male"
1648 | ]
1649 | },
1650 | {
1651 | "cell_type": "code",
1652 | "execution_count": 42,
1653 | "metadata": {},
1654 | "outputs": [
1655 | {
1656 | "data": {
1657 | "text/plain": [
1658 | "Text(0, 0.5, 'Количество')"
1659 | ]
1660 | },
1661 | "execution_count": 42,
1662 | "metadata": {},
1663 | "output_type": "execute_result"
1664 | },
1665 | {
1666 | "data": {
1667 | "image/png": "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69luu+2ora2lyCPcO4yIYNWqVdTX1zNs2LBqh2NmXUSnaz5av349/fr169AJAUAS/fr16xQ1HjPrODpdUgA6fEJo0FnWw8w6jk6ZFIo599xzGTFiBHvvvTejRo3i/vvvf8/zXLBgAeedd14bRAe9e/dueSQzszLrdOcUirn33nu5+eabeeihh+jZsycrV65kw4ai7/jewsaNG+nevfhmGj9+POPHj2/LUM2siNqzbqno8pacd3RFl9eedImawooVK+jfvz89e/YEoH///gwaNIja2lpWrlwJwIMPPsjYsWMBmDlzJtOmTePwww9nypQp7LfffjzxxNsvTxs7dix1dXXMnj2b6dOns2bNGmpra9m8eTMAr7/+OkOGDOGtt97i2Wef5cgjj2Sfffbh4IMP5umnnwbgueee44ADDmDMmDGcffbZFdwaZmZN6xJJ4fDDD2fp0qV86EMf4vTTT+euu+5qcZq6ujrmz5/PNddcw6RJk5g3L3vj3ooVK1i+fDn77LNPPm6fPn0YOXJkPt+bbrqJI444gh49ejBt2jQuueQS6urquOCCCzj99Ox1rTNmzOC0007jgQce4P3vL/WNjmZm5dUlkkLv3r2pq6tj1qxZDBgwgIkTJzJ79uxmpxk/fjzbbLMNABMmTOD6668HYN68eZx44olbjD9x4kSuu+46AObOncvEiRNZt24d99xzDyeeeCKjRo3i1FNPZcWKFQD8+c9/ZvLkyQB87nOfa6tVNTN7T7rEOQWAbt26MXbsWMaOHctee+3FnDlz6N69e97k0/jSz2233TbvHjx4MP369ePRRx/luuuu42c/+9kW8x8/fjzf+ta3WL16NXV1dXziE5/gtddeY4cddmDhwoVFY/LVRWbW3nSJmsKiRYt45pln8v6FCxeyyy67UFtbS11dHQA33HBDs/OYNGkS559/PmvWrGGvvfbaYnjv3r3Zd999mTFjBscccwzdunVj++23Z9iwYXktIyJ45JFHADjwwAOZO3cuAFdffXWbrKeZ2XvVJZLCunXrmDp1KsOHD2fvvffmySefZObMmZxzzjnMmDGDgw8+mG7dujU7jxNOOIG5c+cyYcKEJseZOHEiV111FRMnTszLrr76aq644gpGjhzJiBEjmD9/PgAXXXQRl112GWPGjGHNmjVts6JmZu9Rh35H8+jRo6Px+xSeeuop9thj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\n",
1668 | "text/plain": [
1669 | ""
1670 | ]
1671 | },
1672 | "metadata": {
1673 | "needs_background": "light"
1674 | },
1675 | "output_type": "display_data"
1676 | }
1677 | ],
1678 | "source": [
1679 | "pd.crosstab(df.Pclass[df.Sex == 'male'], df.Survived).plot(kind='bar')\n",
1680 | "plt.title('Выживаемость мужчин в разных классах')\n",
1681 | "plt.xlabel('Класс пассажира')\n",
1682 | "plt.ylabel('Количество')"
1683 | ]
1684 | },
1685 | {
1686 | "cell_type": "code",
1687 | "execution_count": 43,
1688 | "metadata": {},
1689 | "outputs": [
1690 | {
1691 | "data": {
1692 | "image/png": "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\n",
1693 | "text/plain": [
1694 | ""
1695 | ]
1696 | },
1697 | "metadata": {
1698 | "needs_background": "light"
1699 | },
1700 | "output_type": "display_data"
1701 | }
1702 | ],
1703 | "source": [
1704 | "# График сопряженности между классом пассажира, полом и переменной выжил/не выжил.\n",
1705 | "\n",
1706 | "from statsmodels.graphics.mosaicplot import mosaic\n",
1707 | "\n",
1708 | "mosaic(df, ['Pclass', 'Sex', 'Survived'], title='Мозаичный график', horizontal=0, gap=0.03)\n",
1709 | "plt.show()"
1710 | ]
1711 | },
1712 | {
1713 | "cell_type": "code",
1714 | "execution_count": 44,
1715 | "metadata": {},
1716 | "outputs": [
1717 | {
1718 | "data": {
1719 | "text/plain": [
1720 | "27.333333333333332"
1721 | ]
1722 | },
1723 | "execution_count": 44,
1724 | "metadata": {},
1725 | "output_type": "execute_result"
1726 | }
1727 | ],
1728 | "source": [
1729 | "odds_female_pc1 = cross_table_female[1][1] / cross_table_female[1][0]\n",
1730 | "odds_female_pc1"
1731 | ]
1732 | },
1733 | {
1734 | "cell_type": "code",
1735 | "execution_count": 45,
1736 | "metadata": {},
1737 | "outputs": [
1738 | {
1739 | "data": {
1740 | "text/plain": [
1741 | "3.3081069585961433"
1742 | ]
1743 | },
1744 | "execution_count": 45,
1745 | "metadata": {},
1746 | "output_type": "execute_result"
1747 | }
1748 | ],
1749 | "source": [
1750 | "np.log(odds_female_pc1)\n",
1751 | "# Это значение Intercept"
1752 | ]
1753 | },
1754 | {
1755 | "cell_type": "code",
1756 | "execution_count": 46,
1757 | "metadata": {},
1758 | "outputs": [
1759 | {
1760 | "data": {
1761 | "text/plain": [
1762 | "0.6557377049180327"
1763 | ]
1764 | },
1765 | "execution_count": 46,
1766 | "metadata": {},
1767 | "output_type": "execute_result"
1768 | }
1769 | ],
1770 | "source": [
1771 | "odds_male_pc1 = cross_table_male[1][1] / cross_table_male[1][0]\n",
1772 | "odds_male_pc1"
1773 | ]
1774 | },
1775 | {
1776 | "cell_type": "code",
1777 | "execution_count": 47,
1778 | "metadata": {},
1779 | "outputs": [
1780 | {
1781 | "data": {
1782 | "text/plain": [
1783 | "-3.7301013686555184"
1784 | ]
1785 | },
1786 | "execution_count": 47,
1787 | "metadata": {},
1788 | "output_type": "execute_result"
1789 | }
1790 | ],
1791 | "source": [
1792 | "np.log(odds_male_pc1 / odds_female_pc1)\n",
1793 | "# Это значение C(Sex)[T.male]"
1794 | ]
1795 | },
1796 | {
1797 | "cell_type": "code",
1798 | "execution_count": 48,
1799 | "metadata": {},
1800 | "outputs": [
1801 | {
1802 | "data": {
1803 | "text/plain": [
1804 | "11.333333333333334"
1805 | ]
1806 | },
1807 | "execution_count": 48,
1808 | "metadata": {},
1809 | "output_type": "execute_result"
1810 | }
1811 | ],
1812 | "source": [
1813 | "odds_female_pc2 = cross_table_female[2][1] / cross_table_female[2][0]\n",
1814 | "odds_female_pc2"
1815 | ]
1816 | },
1817 | {
1818 | "cell_type": "code",
1819 | "execution_count": 49,
1820 | "metadata": {},
1821 | "outputs": [
1822 | {
1823 | "data": {
1824 | "text/plain": [
1825 | "-0.8803587226480917"
1826 | ]
1827 | },
1828 | "execution_count": 49,
1829 | "metadata": {},
1830 | "output_type": "execute_result"
1831 | }
1832 | ],
1833 | "source": [
1834 | "np.log(odds_female_pc2 / odds_female_pc1)\n",
1835 | "# Это значение C(Pclass)[T.2]"
1836 | ]
1837 | },
1838 | {
1839 | "cell_type": "code",
1840 | "execution_count": 50,
1841 | "metadata": {},
1842 | "outputs": [
1843 | {
1844 | "data": {
1845 | "text/plain": [
1846 | "0.8545454545454545"
1847 | ]
1848 | },
1849 | "execution_count": 50,
1850 | "metadata": {},
1851 | "output_type": "execute_result"
1852 | }
1853 | ],
1854 | "source": [
1855 | "odds_female_pc3 = cross_table_female[3][1] / cross_table_female[3][0]\n",
1856 | "odds_female_pc3"
1857 | ]
1858 | },
1859 | {
1860 | "cell_type": "code",
1861 | "execution_count": 51,
1862 | "metadata": {},
1863 | "outputs": [
1864 | {
1865 | "data": {
1866 | "text/plain": [
1867 | "-3.4652925421185556"
1868 | ]
1869 | },
1870 | "execution_count": 51,
1871 | "metadata": {},
1872 | "output_type": "execute_result"
1873 | }
1874 | ],
1875 | "source": [
1876 | "np.log(odds_female_pc3 / odds_female_pc1)\n",
1877 | "# Это значение C(Pclass)[T.3]"
1878 | ]
1879 | },
1880 | {
1881 | "cell_type": "code",
1882 | "execution_count": 52,
1883 | "metadata": {},
1884 | "outputs": [
1885 | {
1886 | "data": {
1887 | "text/plain": [
1888 | "0.17857142857142858"
1889 | ]
1890 | },
1891 | "execution_count": 52,
1892 | "metadata": {},
1893 | "output_type": "execute_result"
1894 | }
1895 | ],
1896 | "source": [
1897 | "odds_male_pc2 = cross_table_male[2][1] / cross_table_male[2][0]\n",
1898 | "odds_male_pc2"
1899 | ]
1900 | },
1901 | {
1902 | "cell_type": "code",
1903 | "execution_count": 53,
1904 | "metadata": {},
1905 | "outputs": [
1906 | {
1907 | "data": {
1908 | "text/plain": [
1909 | "-0.42041346503363686"
1910 | ]
1911 | },
1912 | "execution_count": 53,
1913 | "metadata": {},
1914 | "output_type": "execute_result"
1915 | }
1916 | ],
1917 | "source": [
1918 | "np.log(odds_male_pc2 / odds_female_pc2) - np.log(odds_male_pc1 / odds_female_pc1)\n",
1919 | "# Это значение C(Sex)[T.male]:C(Pclass)[T.2]"
1920 | ]
1921 | },
1922 | {
1923 | "cell_type": "code",
1924 | "execution_count": 54,
1925 | "metadata": {},
1926 | "outputs": [
1927 | {
1928 | "data": {
1929 | "text/plain": [
1930 | "0.17674418604651163"
1931 | ]
1932 | },
1933 | "execution_count": 54,
1934 | "metadata": {},
1935 | "output_type": "execute_result"
1936 | }
1937 | ],
1938 | "source": [
1939 | "odds_male_pc3 = cross_table_male[3][1] / cross_table_male[3][0]\n",
1940 | "odds_male_pc3"
1941 | ]
1942 | },
1943 | {
1944 | "cell_type": "code",
1945 | "execution_count": 55,
1946 | "metadata": {},
1947 | "outputs": [
1948 | {
1949 | "data": {
1950 | "text/plain": [
1951 | "2.154235083776654"
1952 | ]
1953 | },
1954 | "execution_count": 55,
1955 | "metadata": {},
1956 | "output_type": "execute_result"
1957 | }
1958 | ],
1959 | "source": [
1960 | "np.log(odds_male_pc3 / odds_female_pc3) - np.log(odds_male_pc1 / odds_female_pc1)\n",
1961 | "# Это значение C(Sex)[T.male]:C(Pclass)[T.3]"
1962 | ]
1963 | },
1964 | {
1965 | "cell_type": "code",
1966 | "execution_count": 56,
1967 | "metadata": {},
1968 | "outputs": [
1969 | {
1970 | "data": {
1971 | "text/plain": [
1972 | "-0.42200000000000015"
1973 | ]
1974 | },
1975 | "execution_count": 56,
1976 | "metadata": {},
1977 | "output_type": "execute_result"
1978 | }
1979 | ],
1980 | "source": [
1981 | "# Получаем модель:\n",
1982 | "# log(odds) = 3.3081 - (3.7301 * Sex_male) - (0.8804 * Pclass2) - (3.4653 * Pclass3) - (0.4204 * Sex_male * Pclass2) + (2.1542 * Sex_male * Pclass3)\n",
1983 | "\n",
1984 | "# Если предсказываем логарифм шансов для Ж в 1кл (Sex_male = 0, Pclass2 = 0, Pclass3 = 0):\n",
1985 | "# log(odds) = 3.3081 - (3.7301 * 0) - (0.8804 * 0) - (3.4653 * 0) - (0.4204 * 0 * 0) + (2.1542 * 0 * 0)\n",
1986 | "# log(odds) = 3.3081\n",
1987 | "\n",
1988 | "# Если предсказываем логарифм шансов для М в 1кл (Sex_male = 1, Pclass2 = 0, Pclass3 = 0):\n",
1989 | "# log(odds) = 3.3081 - (3.7301 * 1) - (0.8804 * 0) - (3.4653 * 0) - (0.4204 * 1 * 0) + (2.1542 * 1 * 0)\n",
1990 | "# log(odds) = 3.3081 - 3.7301\n",
1991 | "# log(odds) = -0.422\n",
1992 | "\n",
1993 | "log_odds_male = 3.3081 - 3.7301\n",
1994 | "log_odds_male"
1995 | ]
1996 | },
1997 | {
1998 | "cell_type": "code",
1999 | "execution_count": 57,
2000 | "metadata": {},
2001 | "outputs": [
2002 | {
2003 | "data": {
2004 | "text/plain": [
2005 | "2.4277"
2006 | ]
2007 | },
2008 | "execution_count": 57,
2009 | "metadata": {},
2010 | "output_type": "execute_result"
2011 | }
2012 | ],
2013 | "source": [
2014 | "# Если предсказываем логарифм шансов для Ж во 2кл (Sex_male = 0, Pclass2 = 1, Pclass3 = 0):\n",
2015 | "# log(odds) = 3.3081 - (3.7301 * 0) - (0.8804 * 1) - (3.4653 * 0) - (0.4204 * 0 * 1) + (2.1542 * 0 * 0)\n",
2016 | "# log(odds) = 3.3081 - 0.8804\n",
2017 | "# log(odds) = 2.4277\n",
2018 | "\n",
2019 | "log_odds_female_pc2 = 3.3081 - 0.8804\n",
2020 | "log_odds_female_pc2"
2021 | ]
2022 | },
2023 | {
2024 | "cell_type": "code",
2025 | "execution_count": 58,
2026 | "metadata": {},
2027 | "outputs": [
2028 | {
2029 | "data": {
2030 | "text/plain": [
2031 | "-0.1572"
2032 | ]
2033 | },
2034 | "execution_count": 58,
2035 | "metadata": {},
2036 | "output_type": "execute_result"
2037 | }
2038 | ],
2039 | "source": [
2040 | "# Если предсказываем логарифм шансов для Ж в 3кл (Sex_male = 0, Pclass2 = 0, Pclass3 = 1):\n",
2041 | "# log(odds) = 3.3081 - (3.7301 * 0) - (0.8804 * 0) - (3.4653 * 1) - (0.4204 * 0 * 0) + (2.1542 * 0 * 1)\n",
2042 | "# log(odds) = 3.3081 - 3.4653\n",
2043 | "# log(odds) = -0.1572\n",
2044 | "\n",
2045 | "log_odds_female_pc3 = 3.3081 - 3.4653\n",
2046 | "log_odds_female_pc3"
2047 | ]
2048 | },
2049 | {
2050 | "cell_type": "code",
2051 | "execution_count": 59,
2052 | "metadata": {},
2053 | "outputs": [
2054 | {
2055 | "data": {
2056 | "text/plain": [
2057 | "-1.7227999999999999"
2058 | ]
2059 | },
2060 | "execution_count": 59,
2061 | "metadata": {},
2062 | "output_type": "execute_result"
2063 | }
2064 | ],
2065 | "source": [
2066 | "# Если предсказываем логарифм шансов для М во 2кл (Sex_male = 1, Pclass2 = 1, Pclass3 = 0):\n",
2067 | "# log(odds) = 3.3081 - (3.7301 * 1) - (0.8804 * 1) - (3.4653 * 0) - (0.4204 * 1 * 1) + (2.1542 * 1 * 0)\n",
2068 | "# log(odds) = 3.3081 - 3.7301 - 0.8804 - 0.4204\n",
2069 | "# log(odds) = -1.7228\n",
2070 | "\n",
2071 | "log_odds_male_pc2 = 3.3081 - 3.7301 - 0.8804 - 0.4204\n",
2072 | "log_odds_male_pc2"
2073 | ]
2074 | },
2075 | {
2076 | "cell_type": "code",
2077 | "execution_count": 60,
2078 | "metadata": {},
2079 | "outputs": [
2080 | {
2081 | "data": {
2082 | "text/plain": [
2083 | "-1.7331000000000003"
2084 | ]
2085 | },
2086 | "execution_count": 60,
2087 | "metadata": {},
2088 | "output_type": "execute_result"
2089 | }
2090 | ],
2091 | "source": [
2092 | "# Если предсказываем логарифм шансов для М в 3кл (Sex_male = 1, Pclass2 = 0, Pclass3 = 1):\n",
2093 | "# log(odds) = 3.3081 - (3.7301 * 1) - (0.8804 * 0) - (3.4653 * 1) - (0.4204 * 1 * 0) + (2.1542 * 1 * 1)\n",
2094 | "# log(odds) = 3.3081 - 3.7301 - 3.4653 + 2.1542\n",
2095 | "# log(odds) = -1.7331\n",
2096 | "\n",
2097 | "log_odds_male_pc3 = 3.3081 - 3.7301 - 3.4653 + 2.1542\n",
2098 | "log_odds_male_pc3"
2099 | ]
2100 | },
2101 | {
2102 | "cell_type": "code",
2103 | "execution_count": 61,
2104 | "metadata": {},
2105 | "outputs": [
2106 | {
2107 | "data": {
2108 | "text/plain": [
2109 | "654.2750443468178"
2110 | ]
2111 | },
2112 | "execution_count": 61,
2113 | "metadata": {},
2114 | "output_type": "execute_result"
2115 | }
2116 | ],
2117 | "source": [
2118 | "# aic у этой модели ниже, чем у двух предыдущих, значит эта модель лучше.\n",
2119 | "glm_binomial.aic"
2120 | ]
2121 | },
2122 | {
2123 | "cell_type": "markdown",
2124 | "metadata": {},
2125 | "source": [
2126 | "## Комбинация предикторов разного типа"
2127 | ]
2128 | },
2129 | {
2130 | "cell_type": "code",
2131 | "execution_count": 62,
2132 | "metadata": {},
2133 | "outputs": [
2134 | {
2135 | "data": {
2136 | "text/html": [
2137 | "\n",
2138 | "Generalized Linear Model Regression Results\n",
2139 | "\n",
2140 | " | Dep. Variable: | Survived | No. Observations: | 714 | \n",
2141 | "
\n",
2142 | "\n",
2143 | " | Model: | GLM | Df Residuals: | 709 | \n",
2144 | "
\n",
2145 | "\n",
2146 | " | Model Family: | Binomial | Df Model: | 4 | \n",
2147 | "
\n",
2148 | "\n",
2149 | " | Link Function: | logit | Scale: | 1.0000 | \n",
2150 | "
\n",
2151 | "\n",
2152 | " | Method: | IRLS | Log-Likelihood: | -323.64 | \n",
2153 | "
\n",
2154 | "\n",
2155 | " | Date: | Tue, 08 Jun 2021 | Deviance: | 647.28 | \n",
2156 | "
\n",
2157 | "\n",
2158 | " | Time: | 20:53:35 | Pearson chi2: | 767. | \n",
2159 | "
\n",
2160 | "\n",
2161 | " | No. Iterations: | 5 | | | \n",
2162 | "
\n",
2163 | "\n",
2164 | " | Covariance Type: | nonrobust | | | \n",
2165 | "
\n",
2166 | "
\n",
2167 | "\n",
2168 | "\n",
2169 | " | coef | std err | z | P>|z| | [0.025 | 0.975] | \n",
2170 | "
\n",
2171 | "\n",
2172 | " | Intercept | 3.7770 | 0.401 | 9.416 | 0.000 | 2.991 | 4.563 | \n",
2173 | "
\n",
2174 | "\n",
2175 | " | C(Sex)[T.male] | -2.5228 | 0.207 | -12.164 | 0.000 | -2.929 | -2.116 | \n",
2176 | "
\n",
2177 | "\n",
2178 | " | C(Pclass)[T.2] | -1.3098 | 0.278 | -4.710 | 0.000 | -1.855 | -0.765 | \n",
2179 | "
\n",
2180 | "\n",
2181 | " | C(Pclass)[T.3] | -2.5806 | 0.281 | -9.169 | 0.000 | -3.132 | -2.029 | \n",
2182 | "
\n",
2183 | "\n",
2184 | " | Age | -0.0370 | 0.008 | -4.831 | 0.000 | -0.052 | -0.022 | \n",
2185 | "
\n",
2186 | "
"
2187 | ],
2188 | "text/plain": [
2189 | "\n",
2190 | "\"\"\"\n",
2191 | " Generalized Linear Model Regression Results \n",
2192 | "==============================================================================\n",
2193 | "Dep. Variable: Survived No. Observations: 714\n",
2194 | "Model: GLM Df Residuals: 709\n",
2195 | "Model Family: Binomial Df Model: 4\n",
2196 | "Link Function: logit Scale: 1.0000\n",
2197 | "Method: IRLS Log-Likelihood: -323.64\n",
2198 | "Date: Tue, 08 Jun 2021 Deviance: 647.28\n",
2199 | "Time: 20:53:35 Pearson chi2: 767.\n",
2200 | "No. Iterations: 5 \n",
2201 | "Covariance Type: nonrobust \n",
2202 | "==================================================================================\n",
2203 | " coef std err z P>|z| [0.025 0.975]\n",
2204 | "----------------------------------------------------------------------------------\n",
2205 | "Intercept 3.7770 0.401 9.416 0.000 2.991 4.563\n",
2206 | "C(Sex)[T.male] -2.5228 0.207 -12.164 0.000 -2.929 -2.116\n",
2207 | "C(Pclass)[T.2] -1.3098 0.278 -4.710 0.000 -1.855 -0.765\n",
2208 | "C(Pclass)[T.3] -2.5806 0.281 -9.169 0.000 -3.132 -2.029\n",
2209 | "Age -0.0370 0.008 -4.831 0.000 -0.052 -0.022\n",
2210 | "==================================================================================\n",
2211 | "\"\"\""
2212 | ]
2213 | },
2214 | "execution_count": 62,
2215 | "metadata": {},
2216 | "output_type": "execute_result"
2217 | }
2218 | ],
2219 | "source": [
2220 | "glm_binomial = smf.glm(formula='Survived ~ C(Sex) + C(Pclass) + Age', data=df, family=sm.families.Binomial()).fit()\n",
2221 | "glm_binomial.summary()\n",
2222 | "\n",
2223 | "# Intercept - логарифм шансов для Ж в 1кл при условии, что их возраст равен нулю.\n",
2224 | "# Age - коэффициент при возрасте показывает,\n",
2225 | "# на сколько изменяется логарифм шансов для базового уровня при единичном изменении возраста."
2226 | ]
2227 | },
2228 | {
2229 | "cell_type": "code",
2230 | "execution_count": 63,
2231 | "metadata": {},
2232 | "outputs": [
2233 | {
2234 | "data": {
2235 | "text/plain": [
2236 | "3.037"
2237 | ]
2238 | },
2239 | "execution_count": 63,
2240 | "metadata": {},
2241 | "output_type": "execute_result"
2242 | }
2243 | ],
2244 | "source": [
2245 | "# Получаем модель:\n",
2246 | "# log(odds) = 3.7770 - (2.5228 * Sex_male) - (1.3098 * Pclass2) - (2.5806 * Pclass3) - (0.0370 * Age)\n",
2247 | "\n",
2248 | "# Если предсказываем логарифм шансов для Ж в 1кл в возрасте 20 лет:\n",
2249 | "# log(odds) = 3.7770 - (2.5228 * 0) - (1.3098 * 0) - (2.5806 * 0) - (0.0370 * 20)\n",
2250 | "# log(odds) = 3.7770 - (0.0370 * 20)\n",
2251 | "# log(odds) = 3.037\n",
2252 | "\n",
2253 | "3.7770 - (0.0370 * 20)"
2254 | ]
2255 | },
2256 | {
2257 | "cell_type": "code",
2258 | "execution_count": 64,
2259 | "metadata": {},
2260 | "outputs": [
2261 | {
2262 | "data": {
2263 | "text/plain": [
2264 | "657.2831255018241"
2265 | ]
2266 | },
2267 | "execution_count": 64,
2268 | "metadata": {},
2269 | "output_type": "execute_result"
2270 | }
2271 | ],
2272 | "source": [
2273 | "# Кстати, модель без учета возраста была лучше.\n",
2274 | "glm_binomial.aic"
2275 | ]
2276 | },
2277 | {
2278 | "cell_type": "code",
2279 | "execution_count": null,
2280 | "metadata": {},
2281 | "outputs": [],
2282 | "source": []
2283 | }
2284 | ],
2285 | "metadata": {
2286 | "kernelspec": {
2287 | "display_name": "Python 3",
2288 | "language": "python",
2289 | "name": "python3"
2290 | },
2291 | "language_info": {
2292 | "codemirror_mode": {
2293 | "name": "ipython",
2294 | "version": 3
2295 | },
2296 | "file_extension": ".py",
2297 | "mimetype": "text/x-python",
2298 | "name": "python",
2299 | "nbconvert_exporter": "python",
2300 | "pygments_lexer": "ipython3",
2301 | "version": "3.7.4"
2302 | }
2303 | },
2304 | "nbformat": 4,
2305 | "nbformat_minor": 2
2306 | }
2307 |
--------------------------------------------------------------------------------