ibnummuhammad commited on
Commit
423984a
1 Parent(s): 90e79c8

Add 'Logistic Regression Model Fitting'

Browse files
Files changed (1) hide show
  1. forecasting_logistic_regression.ipynb +637 -7
forecasting_logistic_regression.ipynb CHANGED
@@ -1550,11 +1550,30 @@
1550
  "metadata": {},
1551
  "outputs": [],
1552
  "source": [
1553
- "cols=['euribor3m', 'job_blue-collar', 'job_housemaid', 'marital_unknown', 'education_illiterate', 'default_no', 'default_unknown', \n",
1554
- " 'contact_cellular', 'contact_telephone', 'month_apr', 'month_aug', 'month_dec', 'month_jul', 'month_jun', 'month_mar', \n",
1555
- " 'month_may', 'month_nov', 'month_oct', \"poutcome_failure\", \"poutcome_success\"] \n",
1556
- "X=os_data_X[cols]\n",
1557
- "y=os_data_y['y']"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1558
  ]
1559
  },
1560
  {
@@ -1609,11 +1628,622 @@
1609
  ],
1610
  "source": [
1611
  "import statsmodels.api as sm\n",
1612
- "logit_model=sm.Logit(y,X.astype(float))\n",
1613
- "result=logit_model.fit()\n",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1614
  "print(result.summary2())"
1615
  ]
1616
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1617
  {
1618
  "cell_type": "code",
1619
  "execution_count": null,
 
1550
  "metadata": {},
1551
  "outputs": [],
1552
  "source": [
1553
+ "cols = [\n",
1554
+ " \"euribor3m\",\n",
1555
+ " \"job_blue-collar\",\n",
1556
+ " \"job_housemaid\",\n",
1557
+ " \"marital_unknown\",\n",
1558
+ " \"education_illiterate\",\n",
1559
+ " \"default_no\",\n",
1560
+ " \"default_unknown\",\n",
1561
+ " \"contact_cellular\",\n",
1562
+ " \"contact_telephone\",\n",
1563
+ " \"month_apr\",\n",
1564
+ " \"month_aug\",\n",
1565
+ " \"month_dec\",\n",
1566
+ " \"month_jul\",\n",
1567
+ " \"month_jun\",\n",
1568
+ " \"month_mar\",\n",
1569
+ " \"month_may\",\n",
1570
+ " \"month_nov\",\n",
1571
+ " \"month_oct\",\n",
1572
+ " \"poutcome_failure\",\n",
1573
+ " \"poutcome_success\",\n",
1574
+ "]\n",
1575
+ "X = os_data_X[cols]\n",
1576
+ "y = os_data_y[\"y\"]"
1577
  ]
1578
  },
1579
  {
 
1628
  ],
1629
  "source": [
1630
  "import statsmodels.api as sm\n",
1631
+ "\n",
1632
+ "logit_model = sm.Logit(y, X.astype(float))\n",
1633
+ "result = logit_model.fit()\n",
1634
+ "print(result.summary2())"
1635
+ ]
1636
+ },
1637
+ {
1638
+ "cell_type": "code",
1639
+ "execution_count": 29,
1640
+ "metadata": {},
1641
+ "outputs": [
1642
+ {
1643
+ "name": "stdout",
1644
+ "output_type": "stream",
1645
+ "text": [
1646
+ "Optimization terminated successfully.\n",
1647
+ " Current function value: 0.452566\n",
1648
+ " Iterations 7\n",
1649
+ " Results: Logit\n",
1650
+ "=====================================================================\n",
1651
+ "Model: Logit Method: MLE \n",
1652
+ "Dependent Variable: y Pseudo R-squared: 0.347 \n",
1653
+ "Date: 2024-04-06 21:12 AIC: 46314.9963\n",
1654
+ "No. Observations: 51134 BIC: 46456.4716\n",
1655
+ "Df Model: 15 Log-Likelihood: -23141. \n",
1656
+ "Df Residuals: 51118 LL-Null: -35443. \n",
1657
+ "Converged: 1.0000 LLR p-value: 0.0000 \n",
1658
+ "No. Iterations: 7.0000 Scale: 1.0000 \n",
1659
+ "---------------------------------------------------------------------\n",
1660
+ " Coef. Std.Err. z P>|z| [0.025 0.975]\n",
1661
+ "---------------------------------------------------------------------\n",
1662
+ "euribor3m -0.7705 0.0079 -97.4685 0.0000 -0.7860 -0.7550\n",
1663
+ "job_blue-collar 0.3321 0.0270 12.3210 0.0000 0.2793 0.3850\n",
1664
+ "job_housemaid 0.3507 0.0711 4.9350 0.0000 0.2114 0.4900\n",
1665
+ "marital_unknown 0.6770 0.2173 3.1160 0.0018 0.2512 1.1029\n",
1666
+ "education_illiterate 1.7304 0.3651 4.7396 0.0000 1.0148 2.4459\n",
1667
+ "month_apr 1.4746 0.0351 42.0361 0.0000 1.4059 1.5434\n",
1668
+ "month_aug 2.3491 0.0408 57.6216 0.0000 2.2692 2.4290\n",
1669
+ "month_dec 1.9147 0.1285 14.9013 0.0000 1.6629 2.1665\n",
1670
+ "month_jul 2.7454 0.0414 66.3519 0.0000 2.6643 2.8265\n",
1671
+ "month_jun 2.3108 0.0392 58.9984 0.0000 2.2340 2.3875\n",
1672
+ "month_mar 2.5770 0.0775 33.2690 0.0000 2.4252 2.7288\n",
1673
+ "month_may 1.1476 0.0282 40.7396 0.0000 1.0924 1.2028\n",
1674
+ "month_nov 2.3547 0.0422 55.7868 0.0000 2.2720 2.4374\n",
1675
+ "month_oct 2.9015 0.0745 38.9684 0.0000 2.7555 3.0474\n",
1676
+ "poutcome_failure -0.4338 0.0323 -13.4275 0.0000 -0.4971 -0.3705\n",
1677
+ "poutcome_success 1.1880 0.0615 19.3210 0.0000 1.0675 1.3085\n",
1678
+ "=====================================================================\n",
1679
+ "\n"
1680
+ ]
1681
+ }
1682
+ ],
1683
+ "source": [
1684
+ "cols = [\n",
1685
+ " \"euribor3m\",\n",
1686
+ " \"job_blue-collar\",\n",
1687
+ " \"job_housemaid\",\n",
1688
+ " \"marital_unknown\",\n",
1689
+ " \"education_illiterate\",\n",
1690
+ " \"month_apr\",\n",
1691
+ " \"month_aug\",\n",
1692
+ " \"month_dec\",\n",
1693
+ " \"month_jul\",\n",
1694
+ " \"month_jun\",\n",
1695
+ " \"month_mar\",\n",
1696
+ " \"month_may\",\n",
1697
+ " \"month_nov\",\n",
1698
+ " \"month_oct\",\n",
1699
+ " \"poutcome_failure\",\n",
1700
+ " \"poutcome_success\",\n",
1701
+ "]\n",
1702
+ "X = os_data_X[cols]\n",
1703
+ "y = os_data_y[\"y\"]\n",
1704
+ "\n",
1705
+ "logit_model = sm.Logit(y, X.astype(float))\n",
1706
+ "result = logit_model.fit()\n",
1707
  "print(result.summary2())"
1708
  ]
1709
  },
1710
+ {
1711
+ "cell_type": "code",
1712
+ "execution_count": 32,
1713
+ "metadata": {},
1714
+ "outputs": [
1715
+ {
1716
+ "data": {
1717
+ "text/html": [
1718
+ "<style>#sk-container-id-2 {\n",
1719
+ " /* Definition of color scheme common for light and dark mode */\n",
1720
+ " --sklearn-color-text: black;\n",
1721
+ " --sklearn-color-line: gray;\n",
1722
+ " /* Definition of color scheme for unfitted estimators */\n",
1723
+ " --sklearn-color-unfitted-level-0: #fff5e6;\n",
1724
+ " --sklearn-color-unfitted-level-1: #f6e4d2;\n",
1725
+ " --sklearn-color-unfitted-level-2: #ffe0b3;\n",
1726
+ " --sklearn-color-unfitted-level-3: chocolate;\n",
1727
+ " /* Definition of color scheme for fitted estimators */\n",
1728
+ " --sklearn-color-fitted-level-0: #f0f8ff;\n",
1729
+ " --sklearn-color-fitted-level-1: #d4ebff;\n",
1730
+ " --sklearn-color-fitted-level-2: #b3dbfd;\n",
1731
+ " --sklearn-color-fitted-level-3: cornflowerblue;\n",
1732
+ "\n",
1733
+ " /* Specific color for light theme */\n",
1734
+ " --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
1735
+ " --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));\n",
1736
+ " --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
1737
+ " --sklearn-color-icon: #696969;\n",
1738
+ "\n",
1739
+ " @media (prefers-color-scheme: dark) {\n",
1740
+ " /* Redefinition of color scheme for dark theme */\n",
1741
+ " --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
1742
+ " --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));\n",
1743
+ " --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
1744
+ " --sklearn-color-icon: #878787;\n",
1745
+ " }\n",
1746
+ "}\n",
1747
+ "\n",
1748
+ "#sk-container-id-2 {\n",
1749
+ " color: var(--sklearn-color-text);\n",
1750
+ "}\n",
1751
+ "\n",
1752
+ "#sk-container-id-2 pre {\n",
1753
+ " padding: 0;\n",
1754
+ "}\n",
1755
+ "\n",
1756
+ "#sk-container-id-2 input.sk-hidden--visually {\n",
1757
+ " border: 0;\n",
1758
+ " clip: rect(1px 1px 1px 1px);\n",
1759
+ " clip: rect(1px, 1px, 1px, 1px);\n",
1760
+ " height: 1px;\n",
1761
+ " margin: -1px;\n",
1762
+ " overflow: hidden;\n",
1763
+ " padding: 0;\n",
1764
+ " position: absolute;\n",
1765
+ " width: 1px;\n",
1766
+ "}\n",
1767
+ "\n",
1768
+ "#sk-container-id-2 div.sk-dashed-wrapped {\n",
1769
+ " border: 1px dashed var(--sklearn-color-line);\n",
1770
+ " margin: 0 0.4em 0.5em 0.4em;\n",
1771
+ " box-sizing: border-box;\n",
1772
+ " padding-bottom: 0.4em;\n",
1773
+ " background-color: var(--sklearn-color-background);\n",
1774
+ "}\n",
1775
+ "\n",
1776
+ "#sk-container-id-2 div.sk-container {\n",
1777
+ " /* jupyter's `normalize.less` sets `[hidden] { display: none; }`\n",
1778
+ " but bootstrap.min.css set `[hidden] { display: none !important; }`\n",
1779
+ " so we also need the `!important` here to be able to override the\n",
1780
+ " default hidden behavior on the sphinx rendered scikit-learn.org.\n",
1781
+ " See: https://github.com/scikit-learn/scikit-learn/issues/21755 */\n",
1782
+ " display: inline-block !important;\n",
1783
+ " position: relative;\n",
1784
+ "}\n",
1785
+ "\n",
1786
+ "#sk-container-id-2 div.sk-text-repr-fallback {\n",
1787
+ " display: none;\n",
1788
+ "}\n",
1789
+ "\n",
1790
+ "div.sk-parallel-item,\n",
1791
+ "div.sk-serial,\n",
1792
+ "div.sk-item {\n",
1793
+ " /* draw centered vertical line to link estimators */\n",
1794
+ " background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));\n",
1795
+ " background-size: 2px 100%;\n",
1796
+ " background-repeat: no-repeat;\n",
1797
+ " background-position: center center;\n",
1798
+ "}\n",
1799
+ "\n",
1800
+ "/* Parallel-specific style estimator block */\n",
1801
+ "\n",
1802
+ "#sk-container-id-2 div.sk-parallel-item::after {\n",
1803
+ " content: \"\";\n",
1804
+ " width: 100%;\n",
1805
+ " border-bottom: 2px solid var(--sklearn-color-text-on-default-background);\n",
1806
+ " flex-grow: 1;\n",
1807
+ "}\n",
1808
+ "\n",
1809
+ "#sk-container-id-2 div.sk-parallel {\n",
1810
+ " display: flex;\n",
1811
+ " align-items: stretch;\n",
1812
+ " justify-content: center;\n",
1813
+ " background-color: var(--sklearn-color-background);\n",
1814
+ " position: relative;\n",
1815
+ "}\n",
1816
+ "\n",
1817
+ "#sk-container-id-2 div.sk-parallel-item {\n",
1818
+ " display: flex;\n",
1819
+ " flex-direction: column;\n",
1820
+ "}\n",
1821
+ "\n",
1822
+ "#sk-container-id-2 div.sk-parallel-item:first-child::after {\n",
1823
+ " align-self: flex-end;\n",
1824
+ " width: 50%;\n",
1825
+ "}\n",
1826
+ "\n",
1827
+ "#sk-container-id-2 div.sk-parallel-item:last-child::after {\n",
1828
+ " align-self: flex-start;\n",
1829
+ " width: 50%;\n",
1830
+ "}\n",
1831
+ "\n",
1832
+ "#sk-container-id-2 div.sk-parallel-item:only-child::after {\n",
1833
+ " width: 0;\n",
1834
+ "}\n",
1835
+ "\n",
1836
+ "/* Serial-specific style estimator block */\n",
1837
+ "\n",
1838
+ "#sk-container-id-2 div.sk-serial {\n",
1839
+ " display: flex;\n",
1840
+ " flex-direction: column;\n",
1841
+ " align-items: center;\n",
1842
+ " background-color: var(--sklearn-color-background);\n",
1843
+ " padding-right: 1em;\n",
1844
+ " padding-left: 1em;\n",
1845
+ "}\n",
1846
+ "\n",
1847
+ "\n",
1848
+ "/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is\n",
1849
+ "clickable and can be expanded/collapsed.\n",
1850
+ "- Pipeline and ColumnTransformer use this feature and define the default style\n",
1851
+ "- Estimators will overwrite some part of the style using the `sk-estimator` class\n",
1852
+ "*/\n",
1853
+ "\n",
1854
+ "/* Pipeline and ColumnTransformer style (default) */\n",
1855
+ "\n",
1856
+ "#sk-container-id-2 div.sk-toggleable {\n",
1857
+ " /* Default theme specific background. It is overwritten whether we have a\n",
1858
+ " specific estimator or a Pipeline/ColumnTransformer */\n",
1859
+ " background-color: var(--sklearn-color-background);\n",
1860
+ "}\n",
1861
+ "\n",
1862
+ "/* Toggleable label */\n",
1863
+ "#sk-container-id-2 label.sk-toggleable__label {\n",
1864
+ " cursor: pointer;\n",
1865
+ " display: block;\n",
1866
+ " width: 100%;\n",
1867
+ " margin-bottom: 0;\n",
1868
+ " padding: 0.5em;\n",
1869
+ " box-sizing: border-box;\n",
1870
+ " text-align: center;\n",
1871
+ "}\n",
1872
+ "\n",
1873
+ "#sk-container-id-2 label.sk-toggleable__label-arrow:before {\n",
1874
+ " /* Arrow on the left of the label */\n",
1875
+ " content: \"▸\";\n",
1876
+ " float: left;\n",
1877
+ " margin-right: 0.25em;\n",
1878
+ " color: var(--sklearn-color-icon);\n",
1879
+ "}\n",
1880
+ "\n",
1881
+ "#sk-container-id-2 label.sk-toggleable__label-arrow:hover:before {\n",
1882
+ " color: var(--sklearn-color-text);\n",
1883
+ "}\n",
1884
+ "\n",
1885
+ "/* Toggleable content - dropdown */\n",
1886
+ "\n",
1887
+ "#sk-container-id-2 div.sk-toggleable__content {\n",
1888
+ " max-height: 0;\n",
1889
+ " max-width: 0;\n",
1890
+ " overflow: hidden;\n",
1891
+ " text-align: left;\n",
1892
+ " /* unfitted */\n",
1893
+ " background-color: var(--sklearn-color-unfitted-level-0);\n",
1894
+ "}\n",
1895
+ "\n",
1896
+ "#sk-container-id-2 div.sk-toggleable__content.fitted {\n",
1897
+ " /* fitted */\n",
1898
+ " background-color: var(--sklearn-color-fitted-level-0);\n",
1899
+ "}\n",
1900
+ "\n",
1901
+ "#sk-container-id-2 div.sk-toggleable__content pre {\n",
1902
+ " margin: 0.2em;\n",
1903
+ " border-radius: 0.25em;\n",
1904
+ " color: var(--sklearn-color-text);\n",
1905
+ " /* unfitted */\n",
1906
+ " background-color: var(--sklearn-color-unfitted-level-0);\n",
1907
+ "}\n",
1908
+ "\n",
1909
+ "#sk-container-id-2 div.sk-toggleable__content.fitted pre {\n",
1910
+ " /* unfitted */\n",
1911
+ " background-color: var(--sklearn-color-fitted-level-0);\n",
1912
+ "}\n",
1913
+ "\n",
1914
+ "#sk-container-id-2 input.sk-toggleable__control:checked~div.sk-toggleable__content {\n",
1915
+ " /* Expand drop-down */\n",
1916
+ " max-height: 200px;\n",
1917
+ " max-width: 100%;\n",
1918
+ " overflow: auto;\n",
1919
+ "}\n",
1920
+ "\n",
1921
+ "#sk-container-id-2 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {\n",
1922
+ " content: \"▾\";\n",
1923
+ "}\n",
1924
+ "\n",
1925
+ "/* Pipeline/ColumnTransformer-specific style */\n",
1926
+ "\n",
1927
+ "#sk-container-id-2 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
1928
+ " color: var(--sklearn-color-text);\n",
1929
+ " background-color: var(--sklearn-color-unfitted-level-2);\n",
1930
+ "}\n",
1931
+ "\n",
1932
+ "#sk-container-id-2 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
1933
+ " background-color: var(--sklearn-color-fitted-level-2);\n",
1934
+ "}\n",
1935
+ "\n",
1936
+ "/* Estimator-specific style */\n",
1937
+ "\n",
1938
+ "/* Colorize estimator box */\n",
1939
+ "#sk-container-id-2 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
1940
+ " /* unfitted */\n",
1941
+ " background-color: var(--sklearn-color-unfitted-level-2);\n",
1942
+ "}\n",
1943
+ "\n",
1944
+ "#sk-container-id-2 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
1945
+ " /* fitted */\n",
1946
+ " background-color: var(--sklearn-color-fitted-level-2);\n",
1947
+ "}\n",
1948
+ "\n",
1949
+ "#sk-container-id-2 div.sk-label label.sk-toggleable__label,\n",
1950
+ "#sk-container-id-2 div.sk-label label {\n",
1951
+ " /* The background is the default theme color */\n",
1952
+ " color: var(--sklearn-color-text-on-default-background);\n",
1953
+ "}\n",
1954
+ "\n",
1955
+ "/* On hover, darken the color of the background */\n",
1956
+ "#sk-container-id-2 div.sk-label:hover label.sk-toggleable__label {\n",
1957
+ " color: var(--sklearn-color-text);\n",
1958
+ " background-color: var(--sklearn-color-unfitted-level-2);\n",
1959
+ "}\n",
1960
+ "\n",
1961
+ "/* Label box, darken color on hover, fitted */\n",
1962
+ "#sk-container-id-2 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {\n",
1963
+ " color: var(--sklearn-color-text);\n",
1964
+ " background-color: var(--sklearn-color-fitted-level-2);\n",
1965
+ "}\n",
1966
+ "\n",
1967
+ "/* Estimator label */\n",
1968
+ "\n",
1969
+ "#sk-container-id-2 div.sk-label label {\n",
1970
+ " font-family: monospace;\n",
1971
+ " font-weight: bold;\n",
1972
+ " display: inline-block;\n",
1973
+ " line-height: 1.2em;\n",
1974
+ "}\n",
1975
+ "\n",
1976
+ "#sk-container-id-2 div.sk-label-container {\n",
1977
+ " text-align: center;\n",
1978
+ "}\n",
1979
+ "\n",
1980
+ "/* Estimator-specific */\n",
1981
+ "#sk-container-id-2 div.sk-estimator {\n",
1982
+ " font-family: monospace;\n",
1983
+ " border: 1px dotted var(--sklearn-color-border-box);\n",
1984
+ " border-radius: 0.25em;\n",
1985
+ " box-sizing: border-box;\n",
1986
+ " margin-bottom: 0.5em;\n",
1987
+ " /* unfitted */\n",
1988
+ " background-color: var(--sklearn-color-unfitted-level-0);\n",
1989
+ "}\n",
1990
+ "\n",
1991
+ "#sk-container-id-2 div.sk-estimator.fitted {\n",
1992
+ " /* fitted */\n",
1993
+ " background-color: var(--sklearn-color-fitted-level-0);\n",
1994
+ "}\n",
1995
+ "\n",
1996
+ "/* on hover */\n",
1997
+ "#sk-container-id-2 div.sk-estimator:hover {\n",
1998
+ " /* unfitted */\n",
1999
+ " background-color: var(--sklearn-color-unfitted-level-2);\n",
2000
+ "}\n",
2001
+ "\n",
2002
+ "#sk-container-id-2 div.sk-estimator.fitted:hover {\n",
2003
+ " /* fitted */\n",
2004
+ " background-color: var(--sklearn-color-fitted-level-2);\n",
2005
+ "}\n",
2006
+ "\n",
2007
+ "/* Specification for estimator info (e.g. \"i\" and \"?\") */\n",
2008
+ "\n",
2009
+ "/* Common style for \"i\" and \"?\" */\n",
2010
+ "\n",
2011
+ ".sk-estimator-doc-link,\n",
2012
+ "a:link.sk-estimator-doc-link,\n",
2013
+ "a:visited.sk-estimator-doc-link {\n",
2014
+ " float: right;\n",
2015
+ " font-size: smaller;\n",
2016
+ " line-height: 1em;\n",
2017
+ " font-family: monospace;\n",
2018
+ " background-color: var(--sklearn-color-background);\n",
2019
+ " border-radius: 1em;\n",
2020
+ " height: 1em;\n",
2021
+ " width: 1em;\n",
2022
+ " text-decoration: none !important;\n",
2023
+ " margin-left: 1ex;\n",
2024
+ " /* unfitted */\n",
2025
+ " border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
2026
+ " color: var(--sklearn-color-unfitted-level-1);\n",
2027
+ "}\n",
2028
+ "\n",
2029
+ ".sk-estimator-doc-link.fitted,\n",
2030
+ "a:link.sk-estimator-doc-link.fitted,\n",
2031
+ "a:visited.sk-estimator-doc-link.fitted {\n",
2032
+ " /* fitted */\n",
2033
+ " border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
2034
+ " color: var(--sklearn-color-fitted-level-1);\n",
2035
+ "}\n",
2036
+ "\n",
2037
+ "/* On hover */\n",
2038
+ "div.sk-estimator:hover .sk-estimator-doc-link:hover,\n",
2039
+ ".sk-estimator-doc-link:hover,\n",
2040
+ "div.sk-label-container:hover .sk-estimator-doc-link:hover,\n",
2041
+ ".sk-estimator-doc-link:hover {\n",
2042
+ " /* unfitted */\n",
2043
+ " background-color: var(--sklearn-color-unfitted-level-3);\n",
2044
+ " color: var(--sklearn-color-background);\n",
2045
+ " text-decoration: none;\n",
2046
+ "}\n",
2047
+ "\n",
2048
+ "div.sk-estimator.fitted:hover .sk-estimator-doc-link.fitted:hover,\n",
2049
+ ".sk-estimator-doc-link.fitted:hover,\n",
2050
+ "div.sk-label-container:hover .sk-estimator-doc-link.fitted:hover,\n",
2051
+ ".sk-estimator-doc-link.fitted:hover {\n",
2052
+ " /* fitted */\n",
2053
+ " background-color: var(--sklearn-color-fitted-level-3);\n",
2054
+ " color: var(--sklearn-color-background);\n",
2055
+ " text-decoration: none;\n",
2056
+ "}\n",
2057
+ "\n",
2058
+ "/* Span, style for the box shown on hovering the info icon */\n",
2059
+ ".sk-estimator-doc-link span {\n",
2060
+ " display: none;\n",
2061
+ " z-index: 9999;\n",
2062
+ " position: relative;\n",
2063
+ " font-weight: normal;\n",
2064
+ " right: .2ex;\n",
2065
+ " padding: .5ex;\n",
2066
+ " margin: .5ex;\n",
2067
+ " width: min-content;\n",
2068
+ " min-width: 20ex;\n",
2069
+ " max-width: 50ex;\n",
2070
+ " color: var(--sklearn-color-text);\n",
2071
+ " box-shadow: 2pt 2pt 4pt #999;\n",
2072
+ " /* unfitted */\n",
2073
+ " background: var(--sklearn-color-unfitted-level-0);\n",
2074
+ " border: .5pt solid var(--sklearn-color-unfitted-level-3);\n",
2075
+ "}\n",
2076
+ "\n",
2077
+ ".sk-estimator-doc-link.fitted span {\n",
2078
+ " /* fitted */\n",
2079
+ " background: var(--sklearn-color-fitted-level-0);\n",
2080
+ " border: var(--sklearn-color-fitted-level-3);\n",
2081
+ "}\n",
2082
+ "\n",
2083
+ ".sk-estimator-doc-link:hover span {\n",
2084
+ " display: block;\n",
2085
+ "}\n",
2086
+ "\n",
2087
+ "/* \"?\"-specific style due to the `<a>` HTML tag */\n",
2088
+ "\n",
2089
+ "#sk-container-id-2 a.estimator_doc_link {\n",
2090
+ " float: right;\n",
2091
+ " font-size: 1rem;\n",
2092
+ " line-height: 1em;\n",
2093
+ " font-family: monospace;\n",
2094
+ " background-color: var(--sklearn-color-background);\n",
2095
+ " border-radius: 1rem;\n",
2096
+ " height: 1rem;\n",
2097
+ " width: 1rem;\n",
2098
+ " text-decoration: none;\n",
2099
+ " /* unfitted */\n",
2100
+ " color: var(--sklearn-color-unfitted-level-1);\n",
2101
+ " border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
2102
+ "}\n",
2103
+ "\n",
2104
+ "#sk-container-id-2 a.estimator_doc_link.fitted {\n",
2105
+ " /* fitted */\n",
2106
+ " border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
2107
+ " color: var(--sklearn-color-fitted-level-1);\n",
2108
+ "}\n",
2109
+ "\n",
2110
+ "/* On hover */\n",
2111
+ "#sk-container-id-2 a.estimator_doc_link:hover {\n",
2112
+ " /* unfitted */\n",
2113
+ " background-color: var(--sklearn-color-unfitted-level-3);\n",
2114
+ " color: var(--sklearn-color-background);\n",
2115
+ " text-decoration: none;\n",
2116
+ "}\n",
2117
+ "\n",
2118
+ "#sk-container-id-2 a.estimator_doc_link.fitted:hover {\n",
2119
+ " /* fitted */\n",
2120
+ " background-color: var(--sklearn-color-fitted-level-3);\n",
2121
+ "}\n",
2122
+ "</style><div id=\"sk-container-id-2\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>LogisticRegression()</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-2\" type=\"checkbox\" checked><label for=\"sk-estimator-id-2\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\">&nbsp;&nbsp;LogisticRegression<a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.4/modules/generated/sklearn.linear_model.LogisticRegression.html\">?<span>Documentation for LogisticRegression</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></label><div class=\"sk-toggleable__content fitted\"><pre>LogisticRegression()</pre></div> </div></div></div></div>"
2123
+ ],
2124
+ "text/plain": [
2125
+ "LogisticRegression()"
2126
+ ]
2127
+ },
2128
+ "execution_count": 32,
2129
+ "metadata": {},
2130
+ "output_type": "execute_result"
2131
+ }
2132
+ ],
2133
+ "source": [
2134
+ "from sklearn.linear_model import LogisticRegression\n",
2135
+ "from sklearn import metrics\n",
2136
+ "\n",
2137
+ "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)\n",
2138
+ "logreg = LogisticRegression()\n",
2139
+ "logreg.fit(X_train, y_train)"
2140
+ ]
2141
+ },
2142
+ {
2143
+ "cell_type": "code",
2144
+ "execution_count": 34,
2145
+ "metadata": {},
2146
+ "outputs": [
2147
+ {
2148
+ "name": "stdout",
2149
+ "output_type": "stream",
2150
+ "text": [
2151
+ "Accuracy of logistic regression classifier on test set: 0.82\n"
2152
+ ]
2153
+ }
2154
+ ],
2155
+ "source": [
2156
+ "y_pred = logreg.predict(X_test)\n",
2157
+ "print(\n",
2158
+ " \"Accuracy of logistic regression classifier on test set: {:.2f}\".format(\n",
2159
+ " logreg.score(X_test, y_test)\n",
2160
+ " )\n",
2161
+ ")"
2162
+ ]
2163
+ },
2164
+ {
2165
+ "cell_type": "code",
2166
+ "execution_count": 35,
2167
+ "metadata": {},
2168
+ "outputs": [
2169
+ {
2170
+ "name": "stdout",
2171
+ "output_type": "stream",
2172
+ "text": [
2173
+ "[[6878 788]\n",
2174
+ " [2009 5666]]\n"
2175
+ ]
2176
+ }
2177
+ ],
2178
+ "source": [
2179
+ "from sklearn.metrics import confusion_matrix\n",
2180
+ "\n",
2181
+ "confusion_matrix = confusion_matrix(y_test, y_pred)\n",
2182
+ "print(confusion_matrix)"
2183
+ ]
2184
+ },
2185
+ {
2186
+ "cell_type": "code",
2187
+ "execution_count": 36,
2188
+ "metadata": {},
2189
+ "outputs": [
2190
+ {
2191
+ "name": "stdout",
2192
+ "output_type": "stream",
2193
+ "text": [
2194
+ " precision recall f1-score support\n",
2195
+ "\n",
2196
+ " 0 0.77 0.90 0.83 7666\n",
2197
+ " 1 0.88 0.74 0.80 7675\n",
2198
+ "\n",
2199
+ " accuracy 0.82 15341\n",
2200
+ " macro avg 0.83 0.82 0.82 15341\n",
2201
+ "weighted avg 0.83 0.82 0.82 15341\n",
2202
+ "\n"
2203
+ ]
2204
+ }
2205
+ ],
2206
+ "source": [
2207
+ "from sklearn.metrics import classification_report\n",
2208
+ "\n",
2209
+ "print(classification_report(y_test, y_pred))"
2210
+ ]
2211
+ },
2212
+ {
2213
+ "cell_type": "code",
2214
+ "execution_count": 37,
2215
+ "metadata": {},
2216
+ "outputs": [
2217
+ {
2218
+ "data": {
2219
+ "image/png": "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itVqVcaOHavcf//9SkpKinN/QkKC0rRpU+WNN95QFEVRduzYoYSFhSk7duxQFEVRFi1apDRu3FjJyMhQFEVRHA6H0qFDB2XKlCmKoijKb7/9poSFhSlfffVVrscdP3680rp1a8VmsymKoigdO3ZUHnjggdu+Jna7XWndurUycODAXNvPnTun1K9fX3nzzTcVRVGUTZs2KWFhYcqSJUucxzgcDuXRRx9VnnzyybuO69dff1X69u2b63VSFEXp3r17rtg6duyoTJo0yXk/J67o6GhFURRl0qRJSlhYmHLu3DnnMbt27VLCwsKUrVu3KoqiKBMmTFBat26tpKenO4/Zu3evEhYWluvaNxs5cqTSunVrJTMzM9d5HTt2VI4cOeIsx9mzZ+d6jdq3b68MHz5cURRFiYmJUfr376/s3r0717VnzJihNGjQwHm/X79+SqNGjRSLxeLcduTIEaVPnz7K+fPnc507ZMgQ5cEHH1QURVGSkpKUevXqKf/973/zXP/5559XFCX7/RUWFubcV5D3+q1iio6OVsLCwpRNmzYpiqIoAwcOVJ577rlc11m3bp2yZcsW5/2wsDBl0aJFzvs3xlOQvykhioI0nwlBdqfmTz75hE8++YSlS5cSFhZGjRo1WLBgAd26dXMet2PHDhRFoVOnTmRlZTl/OnXqhMVi4c8//+Ts2bNcu3aNLl265HqM559/ns2bN2MwGNixYwctWrTAbDY7r+Hp6UmzZs34/fff842xZ8+epKenO5vQ9u7dy6VLl5y1WH/88QcajYb27dvnie3KlSucPHnSea26deve9vU4e/YsV65coXv37rm2V6tWjSZNmrBr165c2x9//HHnbY1GQ5cuXTh48CCZmZl3FVebNm14//33MZlMnDp1iu+//563336b+Pj4Qjeb+Pv75+r4m1MbkpGRAWSXbbt27XBzc3Me06RJE6pUqXLb6/7555+0a9cOk8mU67wffvgh1/Np1qyZ87ZGo6FKlSokJycDULFiRd577z2aNm3KhQsX2L59O+vWrWPv3r15nmetWrUwGo3O+3Xr1mXDhg1UqVKFqKgofv75Z1atWsWZM2ec5+7fv5+srCy6du2a61qTJ09m5cqV+T6vgrzXbxXTzVq2bOlsil25ciWnTp2iX79+uWpgb6cgf1NCFAVpPhMC8PDw4J577nHeb9SoET179mTg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kIjBx5u6k18idOhgdCaT2mEJIYrAyy+/XOAv7d27d/Piiy+SkZEBQNeuXfn555/v6vEHDhzIb7/95vz59NNPefTRR3n77bdZtWrVP1/AxX3yyScMHDiw2B9nxowZPP/883h4eBT7Y5WEqVOn8ttvv7F48WLeffddzpw5Q2Rk5C2Pt9lsDB48GL1ez4cffsiCBQvYuXMnkydPdh7z2muv8cUXX/Dqq6+yZcsWHnjgAUaMGMHOnTsBeOCBB0hJSeGLL74o9udXGJIUuYCsG/7bMPr6UPflF2m8aD7+zZupGJUQoqh5eXnh6+tboGNvXq7HbDZToUKFu3p8d3d3KlSo4PwJDQ1lxIgRtGzZkq+//vquru0K/P39iz1R2blzJydPnqRnz57F+jglJTY2li1btjB58mSaNWtGw4YNmTdvHrt372bfvn35nnPq1CmioqIYOXIkoaGhNGvWjL59+/Lrr78CkJGRwZYtWxg7dizt27enevXqDBs2jBYtWrBp0ybndQYOHMiCBQuc0xy4AkmKVBa/azd/Dh3BletLdQB4hYdhLOAHpxCuSFEUMi1Zqv0U1/p/W7ZsoWfPnjRs2JBOnTqxdOnSXB/o58+fZ/DgwTRp0oS2bduyZs0aunTpwubNm4G8zWerVq3igQceoEGDBnTq1Im33noLRVHYuXMnAwYMAKBz5858+umneZrP0tLSmDFjBm3atKFJkyb069ePv/76646el8lkQq//u4tpSkoKr7zyCvfddx9NmzZlwIABHDp0KNc5X3zxBQ899BD33HMPTz75JO+99x7h4eHO/eHh4SxatIiOHTvSpk0boqKisFqtzJ49m7Zt29KkSROeeuopfvvtN+c5drud2bNn0759exo0aEC3bt3YuHGjc/+1a9eIjIykZcuWNGzYkN69e7Nr1y7n/pubz3766SeeeuopmjRpQps2bZg5cyaZmZm5Yvzkk0949tlnadiwIW3atGHJkiW3fa3WrFlDp06dcg0R37ZtG08++SSNGzfmnnvuoVevXs4EAaB///688sorPPnkkzRr1ozPP/8cgE2bNvHQQw/RsGFDHnroId59991czZh79uxhwIAB3HvvvTRo0ICHHnqIzz777JaxLV68OE8Tac7PrZpt//zzTwDuu+8+57aaNWtSsWJFdu/ene85fn5+aLVaPvroI6xWK/Hx8WzdupVG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LF++nGrVqgHZX5DTp0/n+++/5+LFi/z6668cPXqUJk2aYDQaOXToEK+88gr79+/nwoULbN68mfT0dOdrdqNBgwbx7bffsnTpUs6ePcuPP/7IjBkz6Nix4x0nRREREZhMJmczFmTX6hw/fpw9e/Zw4cIFNm3a5GwSy69ZCrLfD4MHD2bdunW8//77nD9/nu+++46pU6diNpsxGo0EBwcTExPDzz//zMWLF/n222+ZOnXqba97JypWrMgjjzzC5MmT2blzJwcPHmTs2LG0aNHC2TxrtVq5cuWK83H79u3LuXPneOWVVzh9+jT79+8nMjKSiIgI2rdvT1JSEpMmTaJ+/fq8/PLLJCUlceXKFa5cuZLrnwbIborNGbXmCspO/baLSTl+ghPzFpIZE0N6dDQNXpsmiZAQLu6LL77IM5lclSpV+OGHHxg4cCBGo5F3332X119/neDgYAYPHuzsbGw0Glm5ciXTp0/nqaeewsfHh6FDh3L48OF8R/48+eSTJCYmsnTpUi5fvoyPjw8PPvgg48ePB7JrbNq3b8/o0aMZPXp0nian119/nVmzZjFq1CisViuNGjVi1apVufq7FERAQAAvvfQSkyZN4r333uPZZ59l9erVzJ49m9GjR5ORkUFoaChLliyhVatWALRr147p06ezfPly5s6dS4MGDejTp88/Jkbz589n/vz5TJkyhaSkJKpVq8Z///tfHn/8cSC7z5DNZuO1117jypUrVKhQgT59+jBkyBDn+TNnzuT//u//SElJoVatWsyZM4dmzfLO6fbggw8yb9483n77bZYuXYq/vz/du3e/7aSE/8Td3Z1WrVqxe/duHn74YQAiIyO5evUqQ4cOBaB27dq8/vrrTJgwgUOHDt0yARs4cCAmk4l169bxxhtvEBgYyFNPPeWMb8CAAZw5c4aJEyditVqpUaMGY8eOZdGiRRw6dCjPcPe7MWPGDF5//XVns227du1yjRLbt28fAwYM4L333qNly5aEh4ezbt065s2bx9NPP42bmxtt2rRhwoQJGAwGfvnlF5KTkzlw4ECeOFu0aMG6ddndSGw2G/v27WP69OlF9lzulkYprgk9SolDhw4RG59O5ZAa1AvNv3qxMBS7neiPNxH94cfgcGCqEEidMZH41K9fBNGWbenp6Rw9epS6devmGV4rSl5ByiMzM5OzZ89Ss2bNW/ZZ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",
2220
+ "text/plain": [
2221
+ "<Figure size 640x480 with 1 Axes>"
2222
+ ]
2223
+ },
2224
+ "metadata": {},
2225
+ "output_type": "display_data"
2226
+ }
2227
+ ],
2228
+ "source": [
2229
+ "from sklearn.metrics import roc_auc_score\n",
2230
+ "from sklearn.metrics import roc_curve\n",
2231
+ "\n",
2232
+ "logit_roc_auc = roc_auc_score(y_test, logreg.predict(X_test))\n",
2233
+ "fpr, tpr, thresholds = roc_curve(y_test, logreg.predict_proba(X_test)[:, 1])\n",
2234
+ "plt.figure()\n",
2235
+ "plt.plot(fpr, tpr, label=\"Logistic Regression (area = %0.2f)\" % logit_roc_auc)\n",
2236
+ "plt.plot([0, 1], [0, 1], \"r--\")\n",
2237
+ "plt.xlim([0.0, 1.0])\n",
2238
+ "plt.ylim([0.0, 1.05])\n",
2239
+ "plt.xlabel(\"False Positive Rate\")\n",
2240
+ "plt.ylabel(\"True Positive Rate\")\n",
2241
+ "plt.title(\"Receiver operating characteristic\")\n",
2242
+ "plt.legend(loc=\"lower right\")\n",
2243
+ "plt.savefig(\"Log_ROC\")\n",
2244
+ "plt.show()"
2245
+ ]
2246
+ },
2247
  {
2248
  "cell_type": "code",
2249
  "execution_count": null,