{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "1e8e9b3b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Päivitetty 2025-02-26 / Aki Taanila\n" ] } ], "source": [ "from datetime import datetime\n", "print(f'Päivitetty {datetime.now().date()} / Aki Taanila')" ] }, { "cell_type": "markdown", "id": "a828ef28", "metadata": {}, "source": [ "# Luottokorttipetokset\n", "\n", "Data ja sen kuvaus löytyy lähteestä: https://www.kaggle.com/mlg-ulb/creditcardfraud\n", "\n", "Datassa ei ole alkuperäisiä selittäviä muuttujia, vaan niistä pääkomponenttianalyysilla muodostetut uudet muuttujat (sekä tietosuojan että tilastotieteellisten syiden takia). **Class**-muuttuja on kohdemuuttuja (0 = 'ei petos', 1 = 'petos').\n", "\n", "Petoksia on vähän suhteessa kaikkiin luottokorttitapahtumiin. Tämän vuoksi data on syytä tasapainottaa. Käytän tasapainottamiseen imbalanced-learn-kirjastoa, joka ei ole Anacondassa valmiiksi asennettuna. Sen voi asentaa komentoriviltä komennolla: \n", "\n", "`conda install -c conda-forge imbalanced-learn`" ] }, { "cell_type": "code", "execution_count": 2, "id": "8abc00b8", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "\n", "# train_test_split osaa jakaa datan opetusdataan ja testidataan\n", "from sklearn.model_selection import train_test_split\n", "\n", "# Datan tasapainottamiseen\n", "from imblearn.over_sampling import RandomOverSampler\n", "from imblearn.under_sampling import RandomUnderSampler\n", "\n", "# Kokeiltavat mallit\n", "from sklearn.linear_model import LogisticRegression\n", "from sklearn.tree import DecisionTreeClassifier, plot_tree\n", "from sklearn.ensemble import RandomForestClassifier, GradientBoostingClassifier\n", "\n", "# Sekaannusmatriisin näyttämiseen\n", "from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay" ] }, { "cell_type": "markdown", "id": "1e2110cf", "metadata": {}, "source": [ "## Datan tarkastelua" ] }, { "cell_type": "code", "execution_count": 3, "id": "8688541c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 284807 entries, 0 to 284806\n", "Data columns (total 31 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 Time 284807 non-null float64\n", " 1 V1 284807 non-null float64\n", " 2 V2 284807 non-null float64\n", " 3 V3 284807 non-null float64\n", " 4 V4 284807 non-null float64\n", " 5 V5 284807 non-null float64\n", " 6 V6 284807 non-null float64\n", " 7 V7 284807 non-null float64\n", " 8 V8 284807 non-null float64\n", " 9 V9 284807 non-null float64\n", " 10 V10 284807 non-null float64\n", " 11 V11 284807 non-null float64\n", " 12 V12 284807 non-null float64\n", " 13 V13 284807 non-null float64\n", " 14 V14 284807 non-null float64\n", " 15 V15 284807 non-null float64\n", " 16 V16 284807 non-null float64\n", " 17 V17 284807 non-null float64\n", " 18 V18 284807 non-null float64\n", " 19 V19 284807 non-null float64\n", " 20 V20 284807 non-null float64\n", " 21 V21 284807 non-null float64\n", " 22 V22 284807 non-null float64\n", " 23 V23 284807 non-null float64\n", " 24 V24 284807 non-null float64\n", " 25 V25 284807 non-null float64\n", " 26 V26 284807 non-null float64\n", " 27 V27 284807 non-null float64\n", " 28 V28 284807 non-null float64\n", " 29 Amount 284807 non-null float64\n", " 30 Class 284807 non-null int64 \n", "dtypes: float64(30), int64(1)\n", "memory usage: 67.4 MB\n" ] } ], "source": [ "# Data on sen verran iso, että suosittelen sen lataamista\n", "# omalle koneelle ennen avaamista!\n", "df = pd.read_csv('https://taanila.fi/creditcard.csv')\n", "df.info()" ] }, { "cell_type": "code", "execution_count": 4, "id": "9c6f4eb5", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Class\n", "0 284315\n", "1 492\n", "Name: count, dtype: int64" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Kohdemuuttujan jakauma\n", "df['Class'].value_counts()" ] }, { "cell_type": "markdown", "id": "00ae8593", "metadata": {}, "source": [ "Kohdemuuttujan jakauma on epätasapainoinen." ] }, { "cell_type": "markdown", "id": "fe04079a", "metadata": {}, "source": [ "## Tasapainotus ja mallien sovittaminen" ] }, { "cell_type": "code", "execution_count": 5, "id": "c836ecc4", "metadata": {}, "outputs": [], "source": [ "# Selittävät muuttujat\n", "X = df.drop('Class', axis=1)\n", "\n", "# Kohdemuuttuja\n", "y = df['Class']\n", "\n", "# Jako opetus- ja testidataan\n", "X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=2)" ] }, { "cell_type": "markdown", "id": "a896df56", "metadata": {}, "source": [ "Data on iso, jos tasapainotetaan kasvattamalla pienempää ryhmää isomman kokoiseksi (**RandomOverSampler**). Tämän seurauksena mallin sovittaminen kestää niin kauan että välillä ehtii kahville.\n", "\n", "Nopeampi ratkaisu on tasapainottaa pienentämällä isompaa ryhmää (**RandomUnderSampler**), mutta tällä ei päästä yhtä hyviin malleihin." ] }, { "cell_type": "code", "execution_count": 6, "id": "49415dc4", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
GradientBoostingClassifier(max_depth=2, random_state=2)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "GradientBoostingClassifier(max_depth=2, random_state=2)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Tasapainotus ja mallien sovitus\n", "\n", "# RandomOverSampler kasvattaa satunnaisotoksilla pienempää ryhmää\n", "# Voit myös kokeilla RandomUnderSampler, joka toimii nopeammin\n", "rs = RandomOverSampler(random_state=2)\n", "X_train, y_train = rs.fit_resample(X_train, y_train)\n", "\n", "lrc = LogisticRegression(max_iter=20000)\n", "lrc.fit(X_train, y_train)\n", "\n", "dtc = DecisionTreeClassifier(max_depth=3, random_state=2)\n", "dtc.fit(X_train, y_train)\n", "\n", "rfc = RandomForestClassifier(max_depth=4, random_state=2)\n", "rfc.fit(X_train, y_train)\n", "\n", "gbc = GradientBoostingClassifier(max_depth=2, random_state=2)\n", "gbc.fit(X_train, y_train)" ] }, { "cell_type": "markdown", "id": "ba10f5cc", "metadata": {}, "source": [ "## Mallien arviointia" ] }, { "cell_type": "code", "execution_count": 7, "id": "2efb0a84", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Ennusteiden tarkkuus opetusdatassa:\n", "Logistinen regressio 0.948\n", "Päätöspuu 0.943\n", "Satunnaismetsä 0.947\n", "Gradienttitehostus 0.973\n" ] } ], "source": [ "# Oikeaan osuneiden ennusteiden osuus opetusdatassa\n", "print('Ennusteiden tarkkuus opetusdatassa:')\n", "print(f'Logistinen regressio {lrc.score(X_train, y_train):.3f}')\n", "print(f'Päätöspuu {dtc.score(X_train, y_train):.3f}')\n", "print(f'Satunnaismetsä {rfc.score(X_train, y_train):.3f}')\n", "print(f'Gradienttitehostus {gbc.score(X_train, y_train):.3f}')" ] }, { "cell_type": "code", "execution_count": 8, "id": "6b4c4ed6", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Logistinen regressio 0.977\n", "Päätöspuu 0.960\n", "Satunnaismetsä 0.993\n", "Gradienttitehostus 0.984\n" ] } ], "source": [ "# Oikeaan osuneiden ennusteiden osuus testidatassa\n", "print(f'Logistinen regressio {lrc.score(X_test, y_test):.3f}')\n", "print(f'Päätöspuu {dtc.score(X_test, y_test):.3f}')\n", "print(f'Satunnaismetsä {rfc.score(X_test, y_test):.3f}')\n", "print(f'Gradienttitehostus {gbc.score(X_test, y_test):.3f}')" ] }, { "cell_type": "code", "execution_count": 9, "id": "14ef7e5c", "metadata": {}, "outputs": [], "source": [ "# Mallien antamat ennusteet testidatalle\n", "y_test_lrc = lrc.predict(X_test)\n", "y_test_dtc = dtc.predict(X_test)\n", "y_test_rfc = rfc.predict(X_test)\n", "y_test_gbc = gbc.predict(X_test)" ] }, { "cell_type": "code", "execution_count": 10, "id": "1676114c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "cm = confusion_matrix(y_test, y_test_lrc)\n", "ConfusionMatrixDisplay(confusion_matrix=cm).plot()" ] }, { "cell_type": "markdown", "id": "58f924d5", "metadata": {}, "source": [ "Logistinen regressio tunnistaa parhaiten petoksia, mutta ennustaa paljon ok-tapahtumia petoksiksi." ] }, { "cell_type": "code", "execution_count": 11, "id": "29a82ae4", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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0NjYiDlz5uDll18Wjw8cOBB9+vQRXxcUFKC2thY+Pj5W16mvr8ePP/4IACguLsaDDz5odTwyMhKff/75NdtQXFwMo9GIKVOm2NzuyspKlJWVYdGiRYiPjxf3NzU1ieMliouLMXLkSLi5uVm1w16ff/450tLScPz4cVRXV6OpqQkNDQ2oq6uDu7s7AMDJyQljx44Vzxk2bBh69+6N4uJi3HLLLSgoKMChQ4esKgtmsxkNDQ24fPmyVRuJqHtj0kA91m233YbNmzfD2dkZWq22xUDHK1+KV1gsFvTt2xdffPFFi2u1dtqhq6ur3edYLBYAzV0UERERVsccHR0BAIIgtKo9/+vs2bO444478OCDD+LZZ5+Ft7c38vLysGjRIqtuHKB5yuTVruyzWCx45plncOedd7aIcXFxkdxOIuo6mDRQj+Xu7o6bbrrJ5vgxY8ZAp9PByckJgwYNumbM8OHDkZ+fj3vuuUfcl5+ff91rBgUFwdXVFZ9++inuv//+FseVSiWA5l/mV/j7+6Nfv344ffo07r777mteNyQkBNu3b0d9fb2YmNyoHddy+PBhNDU14YUXXoCDQ/PwpnfeeadFXFNTEw4fPoxbbrkFAHDy5ElUVVVh2LBhAJo/t5MnT9r1WRNR98SkgegXU6dORWRkJObOnYvVq1cjODgYFy5cwO7duzF37lyMHTsWjz76KBYsWICxY8fid7/7HXbs2IFjx45h8ODB17ymi4sLli9fjmXLlkGpVGLixImorKzEsWPHsGjRIvj5+cHV1RXZ2dno378/XFxcoFarkZqaisTERHh6emLGjBkwGo04fPgw9Ho9li5ditjYWKxcuRKLFi3CX//6V5w5cwbr1q2z6/0OGTIETU1NePnllzFr1ix8/fXXePXVV1vEOTs7Y8mSJXjppZfg7OyMRx55BOPHjxeTiKeeegoxMTEICAjAn/70Jzg4OODbb7/Fd999h+eee87+/yGIqMvi7AmiXygUCuzevRu33nor7rvvPgwdOhR33XUXzpw5I852mD9/Pp566iksX74c4eHhOHv2LB566KEbXvfJJ59EcnIynnrqKQwfPhzz589HRUUFgObxAi+99BK2bNkCrVaLOXPmAADuv/9+vP7668jIyEBYWBgmTZqEjIwMcYpmr1698OGHH+L48eMYPXo0Vq5cidWrV9v1fkeNGoX169dj9erVCA0NxY4dO5Cent4izs3NDcuXL0dsbCwiIyPh6uqKzMxM8Xh0dDQ++ugj5ObmYty4cRg/fjzWr1+PgQMH2tUeIur6FEJbdI4SERFRj8dKAxEREdmESQMRERHZhEkDERER2YRJAxEREdmESQMRERHZhEkDERER2YRJAxEREdmESQMRERHZhEkDERER2YRJAxEREdmESQMRERHZ5P8DjdOFllBMVE8AAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "cm = confusion_matrix(y_test, y_test_dtc)\n", "ConfusionMatrixDisplay(confusion_matrix=cm).plot()" ] }, { "cell_type": "code", "execution_count": 12, "id": "6f99194d", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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Dh2KwsJC/Pa3vxX3FRYW/uw1g4OD4ebmhn//+9+YN29ei+NKpRLAjV/mzQICAtC/f3989913mD17dqvXDQ0Nxc6dO9HY2CgmJr/UjtacOHECTU1NePHFF9Gr143hTe+++26LuKamJpw4cQK/+tWvAADnz59HTU0N7r77bgA3Prfz58879FkT0e2JSQPRf02cOBFRUVGYMWMG1qxZg5CQEFy+fBn79+/HjBkzMGLECDz99NOYM2cORowYgQceeAC7du3CmTNnMHjw4Fav6erqiqVLl2LJkiVQKpUYM2YMqqurcebMGSQmJsLf3x9ubm7Izc3FgAED4OrqCrVajZUrVyIlJQVeXl6YMmUKjEYjTpw4Ab1ej8WLFyM+Ph7Lly9HYmIi/vd//xcXLlzA+vXrHXq/d955J5qamvDKK69g2rRp+Pzzz/HXv/61RZyLiwsWLVqEl19+GS4uLnjqqacwatQoMYl47rnnEBsbi8DAQPz6179Gr1698OWXX+L06dP4y1/+4vi/CCLqtjh7gui/FAoF9u/fj4ceeghPPPEE7rrrLjz++OO4cOGCONth1qxZeO6557B06VJERETg4sWL+P3vf/+L13322WeRlpaG5557DkOHDsWsWbNQVVUF4MZ4gZdffhlbt26FVqvF9OnTAQDz5s3Da6+9huzsbISHh2Ps2LHIzs4Wp2j27t0b//rXv3D27FkMHz4cy5cvx5o1axx6v/fddx82bNiANWvWICwsDLt27UJmZmaLOHd3dyxduhTx8fGIioqCm5sbcnJyxOMxMTH44IMPkJ+fj5EjR2LUqFHYsGEDBg0a5FB7iKj7Uwjt0TlKREREPR4rDURERGQXJg1ERERkFyYNREREZBcmDURERGQXJg1ERERkFyYNREREZBcmDURERGQXJg1ERERkFyYNREREZBcmDURERGQXJg1ERERkFyYNREREZJf/HyBw/LyQDQCiAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "cm = confusion_matrix(y_test, y_test_rfc)\n", "ConfusionMatrixDisplay(confusion_matrix=cm).plot()" ] }, { "cell_type": "markdown", "id": "15dffc61", "metadata": {}, "source": [ "Satunnaismetsä erehtyy vähiten ok-tapahtumissa, mutta tunnistaa huonoiten petoksia." ] }, { "cell_type": "code", "execution_count": 13, "id": "f7ebfcf0", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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/u2j+uo6rRv2XLOOta1r1ZT4lltu0bfffqvf//73KikpUWJiotavX+9RwgAAgDdoT5jX6nW0adOmadq0aa09DAAA8ANaPWkAAKAl8O4J80gaAACWQHvCPGYPAgDQDGbPni2bzea2RUdHu44bhqHZs2crJiZGQUFBGjx4sHbv3u12jdraWk2fPl0REREKDg7WmDFjdPDgQbeYiooKZWRkyG63y263KyMjQ0ePHnWLOXDggEaPHq3g4GBFREQoMzNTdXXeL0RG0gAAsITTlQYzm7euvPJKlZSUuLaPPvrIdWzevHlatGiRli5dqh07dig6OlrDhg3TsWPfrZWTlZWldevWKTc3V5s3b9bx48eVlpYmh+O7twSnp6erqKhIeXl5ysvLU1FRkTIyMlzHHQ6HRo0aperqam3evFm5ublau3atZsyY4fXnoT0BALCE1mhP+Pr6ulUXTjMMQ0uWLNGsWbN08803S5JWrVqlqKgovfDCC5o6daoqKyv15z//WatXr9bQoUMlSc8//7xiY2P1z3/+U8OHD9fevXuVl5engoICJScnS5JWrFihlJQU7du3T7169VJ+fr727Nmj4uJixcTESJIWLlyoiRMn6tFHH/Xq8VEqDQAAeKGqqspt+88XKZ7p008/VUxMjOLi4nTrrbfqiy9OLSa2f/9+lZaWKjU11RUbEBCgQYMGuV7aWFhYqPr6ereYmJgYJSYmumK2bt0qu93uShgkqX///rLb7W4xiYmJroRBkoYPH67a2loVFhZ69dlJGgAAltBU7YnY2FjX/AG73a45c+ac9X7Jycn6y1/+otdff10rVqxQaWmpBgwYoG+//db1CoXve2ljaWmp/P391aVLl++NiYxs/FbVyMhIt5gz79OlSxf5+/uf8wWR50J7AgBgCYbMPTZ5evnk4uJit5L+ud6JNHLkSNf/7tOnj1JSUnTppZdq1apV6t+/vyTvXtp4rpizxZ9PjCeoNAAALKGpKg2hoaFum6cvUgwODlafPn306aefuuY5fN9LG6Ojo1VXV6eKiorvjTl8+HCje5WXl7vFnHmfiooK1dfXn/MFkedC0gAAQAuora3V3r171a1bN8XFxSk6OlobN250Ha+rq9OmTZs0YMAASVJSUpL8/PzcYkpKSrRr1y5XTEpKiiorK7V9+3ZXzLZt21RZWekWs2vXLpWUlLhi8vPzFRAQoKSkJK8+A+0JAIAltPTTE9nZ2Ro9erR69OihsrIy/fGPf1RVVZUmTJggm82mrKws5eTkKD4+XvHx8crJyVHHjh2Vnp4uSbLb7Zo0aZJmzJih8PBwhYWFKTs7W3369HE9TdG7d2+NGDFCkydP1vLlyyVJU6ZMUVpamnr16iVJSk1NVUJCgjIyMjR//nwdOXJE2dnZmjx5stcv3iJpAABYQksnDQcPHtR///d/65tvvlHXrl3Vv39/FRQUuF7KOHPmTNXU1GjatGmqqKhQcnKy8vPzFRIS4rrG4sWL5evrq/Hjx6umpkZDhgzRypUr5ePj44pZs2aNMjMzXU9ZjBkzRkuXLnUd9/Hx0WuvvaZp06Zp4MCBCgoKUnp6uhYsWOD176BVX41tFq/GhhXwamy0Zy35auwbX50m32DP5h+cTUN1rd4e/RSvxgYAoL3j3RPmkTQAACzBMGwyTHzxmzm3vaCmDwAAPEKlAQBgCU7ZTC3uZObc9oKkAQBgCcxpMI/2BAAA8AiVBgCAJTAR0jySBgCAJdCeMI+kAQBgCVQazGNOAwAA8AiVBgCAJRgm2xNUGkgaAAAWYUgy87alC/ZFTU2I9gQAAPAIlQYAgCU4ZZONFSFNIWkAAFgCT0+YR3sCAAB4hEoDAMASnIZNNhZ3MoWkAQBgCYZh8ukJHp+gPQEAADxDpQEAYAlMhDSPpAEAYAkkDeaRNAAALIGJkOYxpwEAAHiESgMAwBJ4esI8kgYAgCWcShrMzGlowsFcoGhPAAAAj1BpAABYAk9PmEfSAACwBOPfm5nzrY72BAAA8AiVBgCAJdCeMI+kAQBgDfQnTCNpAABYg8lKg6g0MKcBAAB4hkoDAMASWBHSPJIGAIAlMBHSPNoTAADAI1QaAADWYNjMTWak0kDSAACwBuY0mEd7AgAAeIRKAwDAGljcyTSSBgCAJfD0hHkeJQ1PPPGExxfMzMw878EAAIC2y6OkYfHixR5dzGazkTQAANquVmoxzJkzRw888IDuvvtuLVmy5NRQDEOPPPKInnnmGVVUVCg5OVl/+tOfdOWVV7rOq62tVXZ2tv7617+qpqZGQ4YM0VNPPaXu3bu7YioqKpSZmalXXnlFkjRmzBg9+eST6ty5syvmwIEDuvPOO/XGG28oKChI6enpWrBggfz9/b36HB4lDfv37/fqogAAtDWt1Z7YsWOHnnnmGV111VVu++fNm6dFixZp5cqVuvzyy/XHP/5Rw4YN0759+xQSEiJJysrK0quvvqrc3FyFh4drxowZSktLU2FhoXx8fCRJ6enpOnjwoPLy8iRJU6ZMUUZGhl599VVJksPh0KhRo9S1a1dt3rxZ3377rSZMmCDDMPTkk0969VnO++mJuro67du3Tw0NDed7CQAAWo7RBJukqqoqt622tvactzx+/Lhuu+02rVixQl26dPluKIahJUuWaNasWbr55puVmJioVatW6cSJE3rhhRckSZWVlfrzn/+shQsXaujQoerbt6+ef/55ffTRR/rnP/8pSdq7d6/y8vL07LPPKiUlRSkpKVqxYoX+8Y9/aN++fZKk/Px87dmzR88//7z69u2roUOHauHChVqxYoWqqqq8+hV6nTScOHFCkyZNUseOHXXllVfqwIEDkk7NZXjssce8vRwAABeU2NhY2e121zZnzpxzxt55550aNWqUhg4d6rZ///79Ki0tVWpqqmtfQECABg0apC1btkiSCgsLVV9f7xYTExOjxMREV8zWrVtlt9uVnJzsiunfv7/sdrtbTGJiomJiYlwxw4cPV21trQoLC7367F4nDffff78++OADvfXWWwoMDHTtHzp0qF588UVvLwcAQAuxNcEmFRcXq7Ky0rXdf//9Z71bbm6u3nvvvbMmFaWlpZKkqKgot/1RUVGuY6WlpfL393erUJwtJjIystH1IyMj3WLOvE+XLl3k7+/vivGU149cvvzyy3rxxRfVv39/2Wzf9XcSEhL0+eefe3s5AABaRhOt0xAaGqrQ0NDvDS0uLtbdd9+t/Px8tz+wz/Sf36PSqbbFmfsaDeOMmLPFn0+MJ7yuNJSXl581q6murvb65gAAtEeFhYUqKytTUlKSfH195evrq02bNumJJ56Qr6+v6y//M//SLysrcx2Ljo5WXV2dKioqvjfm8OHDje5fXl7uFnPmfSoqKlRfX9+oAvFDvE4arrvuOr322muun08nCitWrFBKSoq3lwMAoGU00URITwwZMkQfffSRioqKXFu/fv102223qaioSJdccomio6O1ceNG1zl1dXXatGmTBgwYIElKSkqSn5+fW0xJSYl27drliklJSVFlZaW2b9/uitm2bZsqKyvdYnbt2qWSkhJXTH5+vgICApSUlOT5h9J5tCfmzJmjESNG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eOONrT0swLS33npLN910U6P9EyZM0MqVK1t+QEAbRdIAAAA8wpwGAADgEZIGAADgEZIGAADgEZIGAADgEZIGAADgEZIGAADgEZIGAADgEZIGAADgEZIGwKTZs2frmmuucf08ceJEjRs3rsXH8eWXX8pms6moqOicMRdffLGWLFni8TVXrlypzp07mx6bzWbTyy+/bPo6AFoXSQPapYkTJ8pms8lms8nPz0+XXHKJsrOzVV1d3ez3fvzxxz1eetiTL3oAaCt4YRXarREjRui5555TfX293nnnHd1+++2qrq7WsmXLGsXW19fLz8+vSe5rt9ub5DoA0NZQaUC7FRAQoOjoaMXGxio9PV233Xabq0R+uqXwP//zP7rkkksUEBAgwzBUWVmpKVOmKDIyUqGhofrxj3+sDz74wO26jz32mKKiohQSEqJJkybp5MmTbsfPbE84nU7NnTtXl112mQICAtSjRw89+uijkqS4uDhJUt++fWWz2TR48GDXec8995x69+6twMBAXXHFFXrqqafc7rN9+3b17dtXgYGB6tevn95//32vf0eLFi1Snz59FBwcrNjYWE2bNk3Hjx9vFPfyyy/r8ssvV2BgoIYNG6bi4mK346+++qqSkpIUGBioSy65RI888ogaGhq8Hg+Ato2kAZYRFBSk+vp618+fffaZXnrpJa1du9bVHhg1apRKS0u1fv16FRYW6tprr9WQIUN05MgRSdJLL72khx9+WI8++qh27typbt26NfoyP9P999+vuXPn6sEHH9SePXv0wgsvKCoqStKpL35J+uc//6mSkhL93//9nyRpxYoVmjVrlh599FHt3btXOTk5evDBB7Vq1SpJUnV1tdLS0tSrVy8VFhZq9uzZys7O9vp30qFDBz3xxBPatWuXVq1apTfeeEMzZ850izlx4oQeffRRrVq1Su+++66qqqp06623uo6//vrr+vnPf67MzEzt2bNHy5cv18qVK12JEYB2xADaoQkTJhhjx451/bxt2zYjPDzcGD9+vGEYhvHwww8bfn5+RllZmSvmX//6lxEaGmqcPHnS7VqXXnqpsXz5csMwDCMlJcW444473I4nJycbV1999VnvXVVVZQQEBBgrVqw46zj3799vSDLef/99t/2xsbHGCy+84LbvD3/4g5GSkmIYhmEsX77cCAsLM6qrq13Hly1bdtZr/aeePXsaixcvPufxl156yQgPD3f9/NxzzxmSjIKCAte+vXv3GpKMbdu2GYZhGDfccIORk5Pjdp3Vq1cb3bp1c/0syVi3bt057wvgwsCcBrRb//jHP9SpUyc1NDSovr5eY8eO1ZNPPuk63rNnT3Xt2tX1c2FhoY4fP67w8HC369TU1Ojzzz+XJO3du1d33HGH2/GUlBS9+eabZx3D3r17VVtbqyFDhng87vLychUXF2vSpEmaPHmya39DQ4NrvsTevXt19dVXq2PHjm7j8Nabb76pnJwc7dmzR1VVVWpoaNDJkydVXV2t4OBgSZKvr6/69evnOueKK65Q586dtXfvXl1//fUqLCzUjh073CoLDodDJ0+e1IkTJ9zGCODCRtKAduumm27SsmXL5Ofnp5iYmEYTHU9/KZ7mdDrVrVs3vfXWW42udb6PHQYFBXl9jtPplHSqRZGcnOx2zMfHR5JkGMZ5jec/ffXVV/rJT36iO+64Q3/4wx8UFhamzZs3a9KkSW5tHOnUI5NnOr3P6XTqkUce0c0339woJjAw0PQ4AbQdJA1ot4KDg3XZZZd5HH/ttdeqtLRUvr6+uvjii88a07t3bxUUFOgXv/iFa19BQcE5rxkfH6+goCD961//0u23397ouL+/v6RTf5mfFhUVpYsuukhffPGFbrvttrNeNyEhQatXr1ZNTY0rMfm+cZzNzp071dDQoIULF6pDh1PTm1566aVGcQ0NDdq5c6euv/56SdK+fft09OhRXXHFFZJO/d727dvn1e8awIWJpAH4t6FDhyolJUXjxo3T3Llz1atXLx06dEjr16/XuHHj1K9fP919992aMGGC+vXrpx/96Edas2aNdu/erUsuueSs1wwMDNS9996rmTNnyt/fXwMHDlR5ebl2796tSZMmKTIyUkFBQcrLy1P37t0VGBgou92u2bNnKzMzU6GhoRo5cqRqa2u1c+dOVVRU6J577lF6erpmzZqlSZMm6Xe/+52+/PJLLViwwKvPe+mll6qhoUFPPvmkRo8erXfffVdPP/10ozg/Pz9Nnz5dTzzxhPz8/HTXXXepf//+riTioYceUlpammJjY/Wzn/1MHTp00IcffqiPPvpIf/zjH73/PwJAm8XTE8C/2Ww2rV+/XjfeeKN+9atf6fLLL9ett96qL7/80vW0wy233KKHHnpI9957r5KSkvTVV1/p17/+9fde98EHH9SMGTP00EMPqXfv3rrllltUVlYm6dR8gSeeeELLly9XTEyMxo4dK0m6/fbb9eyzz2rlypXq06ePBg0apJUrV7oe0ezUqZNeffVV7dmzR3379tWsWbM0d+5crz7vNddco0WLFmnu3LlKTEzUmjVrNGfOnEZxHTt21L333qv09HSlpKQoKChIubm5ruPDhw/XP/7xD23cuFHXXXed+vfvr0WLFqlnz55ejQdA22czmqI5CgAA2j0qDQAAwCMkDQAAwCMkDQAAwCMkDQAAwCMkDQAAwCMkDQAAwCMkDQAAwCMkDQAAwCMkDQAAwCMkDQAAwCMkDQAAwCP/H/6b83SNowAlAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "cm = confusion_matrix(y_test, y_test_gbc)\n", "ConfusionMatrixDisplay(confusion_matrix=cm).plot()" ] }, { "cell_type": "markdown", "id": "d80112a9", "metadata": {}, "source": [ "Gradienttitehostus on hyvä kompromissi väärien negatiivisten ja väärien positiivisten väliltä." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.3" } }, "nbformat": 4, "nbformat_minor": 5 }