Skip to content

Instantly share code, notes, and snippets.

@zabop
Last active August 28, 2020 17:54
Show Gist options
  • Select an option

  • Save zabop/c04e112371406fb23442ff18ce5afdb5 to your computer and use it in GitHub Desktop.

Select an option

Save zabop/c04e112371406fb23442ff18ce5afdb5 to your computer and use it in GitHub Desktop.
FocimeccsClassification.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "FocimeccsClassification.ipynb",
"provenance": [],
"authorship_tag": "ABX9TyNn/BBdnmiT7u4nCd4/E0AT",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/zabop/c04e112371406fb23442ff18ce5afdb5/focimeccsclassification.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "code",
"metadata": {
"id": "fl_RfRfmo6NX",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 238
},
"outputId": "51bdf369-cb00-433a-eee9-7d35cc47a981"
},
"source": [
"# adatleszedés, korábbiakat törölve hogy ne panaszkodjon, kibontás \n",
"%%shell\n",
"rm o*\n",
"wget https://porgeto.hu/o.zip\n",
"unzip -o o.zip"
],
"execution_count": 1,
"outputs": [
{
"output_type": "stream",
"text": [
"--2020-08-28 17:40:33-- https://porgeto.hu/o.zip\n",
"Resolving porgeto.hu (porgeto.hu)... 185.112.158.153\n",
"Connecting to porgeto.hu (porgeto.hu)|185.112.158.153|:443... connected.\n",
"HTTP request sent, awaiting response... 200 OK\n",
"Length: 352573 (344K) [application/zip]\n",
"Saving to: ‘o.zip’\n",
"\n",
"o.zip 100%[===================>] 344.31K 418KB/s in 0.8s \n",
"\n",
"2020-08-28 17:40:35 (418 KB/s) - ‘o.zip’ saved [352573/352573]\n",
"\n",
"Archive: o.zip\n",
" inflating: o.csv \n"
],
"name": "stdout"
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
""
]
},
"metadata": {
"tags": []
},
"execution_count": 1
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "mFTnBf_QpJtk",
"colab_type": "code",
"colab": {}
},
"source": [
"# necessary imports\n",
"import pandas as pd\n",
"import string\n",
"import random\n",
"random.seed(42)\n",
"import sklearn.model_selection\n",
"import tensorflow as tf\n",
"import sklearn"
],
"execution_count": 41,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "rfyZU-fxpJyo",
"colab_type": "code",
"colab": {}
},
"source": [
"# csv-nket rakjuk is be egy Pandas dataframe-be:\n",
"df = pd.read_csv('o.csv',sep=';')"
],
"execution_count": 42,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "X8oc6UjgpJ1d",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 626
},
"outputId": "ecfdcb3c-08bd-4f44-bb2a-0c3c803995c5"
},
"source": [
"# nézzük is meg milyen lett:\n",
"df"
],
"execution_count": 43,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>MID</th>\n",
" <th>CS</th>\n",
" <th>RTime</th>\n",
" <th>TID</th>\n",
" <th>Tournament</th>\n",
" <th>HomeName</th>\n",
" <th>AwayName</th>\n",
" <th>H</th>\n",
" <th>A</th>\n",
" <th>O1</th>\n",
" <th>OX</th>\n",
" <th>O2</th>\n",
" <th>FILE</th>\n",
" <th>WinMinMax</th>\n",
" <th>Paperform</th>\n",
" <th>Mth</th>\n",
" <th>AP</th>\n",
" <th>A!</th>\n",
" <th>ST</th>\n",
" <th>sP</th>\n",
" <th>s!</th>\n",
" <th>res_p</th>\n",
" <th>res_.</th>\n",
" <th>res_!</th>\n",
" <th>size</th>\n",
" <th>mP</th>\n",
" <th>m!</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>F</td>\n",
" <td>20200426_03:00</td>\n",
" <td>43401</td>\n",
" <td>nicaragua/liga-primera</td>\n",
" <td>Diriangen</td>\n",
" <td>Esteli</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>2.23</td>\n",
" <td>3.01</td>\n",
" <td>3.29</td>\n",
" <td>20200426</td>\n",
" <td>313</td>\n",
" <td>!</td>\n",
" <td>|</td>\n",
" <td>0.542</td>\n",
" <td>0.205</td>\n",
" <td>/</td>\n",
" <td>0.601</td>\n",
" <td>0.174</td>\n",
" <td>-1.000</td>\n",
" <td>-1.0</td>\n",
" <td>2.29</td>\n",
" <td>44</td>\n",
" <td>0.545</td>\n",
" <td>0.182</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2</td>\n",
" <td>F</td>\n",
" <td>20200426_10:00</td>\n",
" <td>51733</td>\n",
" <td>taiwan/premier-league</td>\n",
" <td>Taichung</td>\n",
" <td>Taipei Tatung</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>3.14</td>\n",
" <td>3.86</td>\n",
" <td>1.97</td>\n",
" <td>20200426</td>\n",
" <td>232</td>\n",
" <td>!</td>\n",
" <td>|</td>\n",
" <td>0.542</td>\n",
" <td>0.205</td>\n",
" <td>^</td>\n",
" <td>0.437</td>\n",
" <td>0.261</td>\n",
" <td>-1.031</td>\n",
" <td>-1.0</td>\n",
" <td>2.86</td>\n",
" <td>26</td>\n",
" <td>0.500</td>\n",
" <td>0.269</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3</td>\n",
" <td>F</td>\n",
" <td>20200426_10:00</td>\n",
" <td>51733</td>\n",
" <td>taiwan/premier-league</td>\n",
" <td>Taiwan Steel</td>\n",
" <td>Red Lions</td>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>1.08</td>\n",
" <td>10.00</td>\n",
" <td>15.74</td>\n",
" <td>20200426</td>\n",
" <td>113</td>\n",
" <td>P</td>\n",
" <td>|</td>\n",
" <td>0.542</td>\n",
" <td>0.205</td>\n",
" <td>/</td>\n",
" <td>0.601</td>\n",
" <td>0.174</td>\n",
" <td>1.000</td>\n",
" <td>-1.0</td>\n",
" <td>-1.00</td>\n",
" <td>25</td>\n",
" <td>0.760</td>\n",
" <td>0.080</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>4</td>\n",
" <td>F</td>\n",
" <td>20200426_10:00</td>\n",
" <td>51733</td>\n",
" <td>taiwan/premier-league</td>\n",
" <td>Ming Chuan University</td>\n",
" <td>Taipower</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>9.83</td>\n",
" <td>6.50</td>\n",
" <td>1.20</td>\n",
" <td>20200426</td>\n",
" <td>331</td>\n",
" <td>P</td>\n",
" <td>|</td>\n",
" <td>0.542</td>\n",
" <td>0.205</td>\n",
" <td>/</td>\n",
" <td>0.601</td>\n",
" <td>0.174</td>\n",
" <td>1.000</td>\n",
" <td>-1.0</td>\n",
" <td>-1.00</td>\n",
" <td>26</td>\n",
" <td>0.731</td>\n",
" <td>0.192</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5</td>\n",
" <td>F</td>\n",
" <td>20200426_10:00</td>\n",
" <td>51733</td>\n",
" <td>taiwan/premier-league</td>\n",
" <td>Hang Yuen</td>\n",
" <td>NTUS</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>1.28</td>\n",
" <td>5.58</td>\n",
" <td>7.75</td>\n",
" <td>20200426</td>\n",
" <td>113</td>\n",
" <td>P</td>\n",
" <td>|</td>\n",
" <td>0.542</td>\n",
" <td>0.205</td>\n",
" <td>/</td>\n",
" <td>0.601</td>\n",
" <td>0.174</td>\n",
" <td>1.000</td>\n",
" <td>-1.0</td>\n",
" <td>-1.00</td>\n",
" <td>25</td>\n",
" <td>0.680</td>\n",
" <td>0.160</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8557</th>\n",
" <td>9041</td>\n",
" <td>F</td>\n",
" <td>20200804_20:30</td>\n",
" <td>43199</td>\n",
" <td>brazil/campeonato-maranhense</td>\n",
" <td>SE Juventude</td>\n",
" <td>Sampaio Correa</td>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" <td>2.82</td>\n",
" <td>3.16</td>\n",
" <td>2.31</td>\n",
" <td>20200804</td>\n",
" <td>332</td>\n",
" <td>P</td>\n",
" <td>|</td>\n",
" <td>0.542</td>\n",
" <td>0.205</td>\n",
" <td>^</td>\n",
" <td>0.437</td>\n",
" <td>0.261</td>\n",
" <td>1.310</td>\n",
" <td>-1.0</td>\n",
" <td>-1.00</td>\n",
" <td>10</td>\n",
" <td>0.700</td>\n",
" <td>0.200</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8558</th>\n",
" <td>9045</td>\n",
" <td>F</td>\n",
" <td>20200804_23:00</td>\n",
" <td>43202</td>\n",
" <td>brazil/campeonato-paraense</td>\n",
" <td>Castanhal</td>\n",
" <td>Independente</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>1.35</td>\n",
" <td>4.47</td>\n",
" <td>7.41</td>\n",
" <td>20200804</td>\n",
" <td>113</td>\n",
" <td>P</td>\n",
" <td>|</td>\n",
" <td>0.542</td>\n",
" <td>0.205</td>\n",
" <td>/</td>\n",
" <td>0.601</td>\n",
" <td>0.174</td>\n",
" <td>1.000</td>\n",
" <td>-1.0</td>\n",
" <td>-1.00</td>\n",
" <td>15</td>\n",
" <td>0.733</td>\n",
" <td>0.067</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8559</th>\n",
" <td>9046</td>\n",
" <td>F</td>\n",
" <td>20200805_01:00</td>\n",
" <td>43205</td>\n",
" <td>brazil/campeonato-paulista</td>\n",
" <td>Bragantino</td>\n",
" <td>Guarani</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1.63</td>\n",
" <td>3.65</td>\n",
" <td>5.14</td>\n",
" <td>20200805</td>\n",
" <td>113</td>\n",
" <td>P</td>\n",
" <td>|</td>\n",
" <td>0.542</td>\n",
" <td>0.205</td>\n",
" <td>/</td>\n",
" <td>0.601</td>\n",
" <td>0.174</td>\n",
" <td>1.000</td>\n",
" <td>-1.0</td>\n",
" <td>-1.00</td>\n",
" <td>44</td>\n",
" <td>0.500</td>\n",
" <td>0.250</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8560</th>\n",
" <td>9048</td>\n",
" <td>F</td>\n",
" <td>20200805_01:15</td>\n",
" <td>43209</td>\n",
" <td>brazil/campeonato-sergipano</td>\n",
" <td>Frei Paulistano</td>\n",
" <td>Confianca</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" <td>5.86</td>\n",
" <td>3.60</td>\n",
" <td>1.55</td>\n",
" <td>20200805</td>\n",
" <td>331</td>\n",
" <td>P</td>\n",
" <td>|</td>\n",
" <td>0.542</td>\n",
" <td>0.205</td>\n",
" <td>/</td>\n",
" <td>0.601</td>\n",
" <td>0.174</td>\n",
" <td>1.000</td>\n",
" <td>-1.0</td>\n",
" <td>-1.00</td>\n",
" <td>37</td>\n",
" <td>0.622</td>\n",
" <td>0.108</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8561</th>\n",
" <td>9049</td>\n",
" <td>F</td>\n",
" <td>20200805_01:30</td>\n",
" <td>43202</td>\n",
" <td>brazil/campeonato-paraense</td>\n",
" <td>Itupiranga</td>\n",
" <td>Paysandu PA</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>13.54</td>\n",
" <td>5.30</td>\n",
" <td>1.21</td>\n",
" <td>20200805</td>\n",
" <td>331</td>\n",
" <td>P</td>\n",
" <td>|</td>\n",
" <td>0.542</td>\n",
" <td>0.205</td>\n",
" <td>/</td>\n",
" <td>0.601</td>\n",
" <td>0.174</td>\n",
" <td>1.000</td>\n",
" <td>-1.0</td>\n",
" <td>-1.00</td>\n",
" <td>17</td>\n",
" <td>0.706</td>\n",
" <td>0.176</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>8562 rows × 27 columns</p>\n",
"</div>"
],
"text/plain": [
" MID CS RTime TID ... res_! size mP m!\n",
"0 1 F 20200426_03:00 43401 ... 2.29 44 0.545 0.182\n",
"1 2 F 20200426_10:00 51733 ... 2.86 26 0.500 0.269\n",
"2 3 F 20200426_10:00 51733 ... -1.00 25 0.760 0.080\n",
"3 4 F 20200426_10:00 51733 ... -1.00 26 0.731 0.192\n",
"4 5 F 20200426_10:00 51733 ... -1.00 25 0.680 0.160\n",
"... ... .. ... ... ... ... ... ... ...\n",
"8557 9041 F 20200804_20:30 43199 ... -1.00 10 0.700 0.200\n",
"8558 9045 F 20200804_23:00 43202 ... -1.00 15 0.733 0.067\n",
"8559 9046 F 20200805_01:00 43205 ... -1.00 44 0.500 0.250\n",
"8560 9048 F 20200805_01:15 43209 ... -1.00 37 0.622 0.108\n",
"8561 9049 F 20200805_01:30 43202 ... -1.00 17 0.706 0.176\n",
"\n",
"[8562 rows x 27 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 43
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "GZs-2D0I8kX1",
"colab_type": "code",
"colab": {}
},
"source": [
"#a felkiáltójelek esélyes hogy nem tetszenek tensorflow-nak, cseréljük le őket:\n",
"df.rename(columns={col: col.replace('!','EXCL') for col in df.columns},inplace=True)"
],
"execution_count": 44,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "JFVprmmvpGJQ",
"colab_type": "code",
"colab": {}
},
"source": [
"# lehet még flancolni ilyekkel hogy: df.head(), df.tail(), df.describe()"
],
"execution_count": 45,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "hNYExLRdrI_e",
"colab_type": "code",
"colab": {}
},
"source": [
"# Az a mondás, hogy:\n",
"# \"Utána jön három adat: res_valami. Azaz, mennyi lenne az eredmény, ha erre-arra fogadnánk 1 egységet.\n",
"# res_p mutatja, mennyi lenne az eredmény, ha a papírformára fogadnánk (itt: vesztenénk egyet, azaz -1)\n",
"# res_. mutatja, mennyi lenne az eredmény, ha a közepesre fogadnánk (itt: vesztenénk egyet, azaz -1)\n",
"# res_! mutatja, mennyi lenne az eredmény, ha az ellen-papírformára fogadnánk (itt: nyernénk 3.29-1-et, azaz 2.29-et)\""
],
"execution_count": 46,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "vg6DzbOesaqQ",
"colab_type": "code",
"colab": {}
},
"source": [
"# Hogy egyszerűsítsük a feladatot:\n",
"# Csináljuk egy olyan oszlopot, ami megmutatja, melyik res_valami a legnagyobb\n",
"# - később majd ezt próbáljuk előrejelezni."
],
"execution_count": 47,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "CZSu36Gxr4X9",
"colab_type": "code",
"colab": {}
},
"source": [
"# Csináljunk egy example dataframe-t:\n",
"df_pelda = pd.DataFrame.from_dict({letter: [random.randint(1,5) for _ in range(6)] for letter in string.ascii_lowercase[:3]})"
],
"execution_count": 48,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "nM6EkdBotP1H",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 235
},
"outputId": "ffc1924f-f65b-4175-91ff-8d7bbbb019b3"
},
"source": [
"df_pelda"
],
"execution_count": 49,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>a</th>\n",
" <th>b</th>\n",
" <th>c</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" a b c\n",
"0 1 1 1\n",
"1 1 5 1\n",
"2 3 1 2\n",
"3 2 5 2\n",
"4 2 4 5\n",
"5 2 1 5"
]
},
"metadata": {
"tags": []
},
"execution_count": 49
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "c4Xc8i8Tutt2",
"colab_type": "code",
"colab": {}
},
"source": [
"df_pelda['maxcol']=df_pelda[['a','b','c']].apply(lambda row: row.idxmax(),axis='columns')"
],
"execution_count": 50,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "u7b0Pjctutwa",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 235
},
"outputId": "c549d5a8-fa7a-4632-ab12-0a735852252f"
},
"source": [
"df_pelda"
],
"execution_count": 51,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>a</th>\n",
" <th>b</th>\n",
" <th>c</th>\n",
" <th>maxcol</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>a</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>b</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>a</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>b</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>c</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" <td>c</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" a b c maxcol\n",
"0 1 1 1 a\n",
"1 1 5 1 b\n",
"2 3 1 2 a\n",
"3 2 5 2 b\n",
"4 2 4 5 c\n",
"5 2 1 5 c"
]
},
"metadata": {
"tags": []
},
"execution_count": 51
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "e9whadH7ut1n",
"colab_type": "code",
"colab": {}
},
"source": [
"# sikeresnek tűnik a fentebbi módszer, alkalmazzuk a rendes adatos dataframe-re:"
],
"execution_count": 52,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "D0-Bdrgxut0M",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
},
"outputId": "ee1e4484-694e-4570-97db-c11de67bf6b2"
},
"source": [
"# res_valami oszlopokat kiválaszthatjuk így:\n",
"[col for col in df.columns if 'res_' in col]"
],
"execution_count": 53,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"['res_p', 'res_.', 'res_EXCL']"
]
},
"metadata": {
"tags": []
},
"execution_count": 53
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "84GgKH7zspV9",
"colab_type": "code",
"colab": {}
},
"source": [
"# alkalmazzuk módszerünket:\n",
"df['resmax'] = df[[col for col in df.columns if 'res_' in col]].apply(lambda row: row.idxmax(), axis='columns')"
],
"execution_count": 54,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "d3x_gq0G-yRP",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 221
},
"outputId": "eaa41a4e-c473-41f6-c90e-94d06803134d"
},
"source": [
"# ellenőrizzük is:\n",
"df['resmax']"
],
"execution_count": 55,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"0 res_EXCL\n",
"1 res_EXCL\n",
"2 res_p\n",
"3 res_p\n",
"4 res_p\n",
" ... \n",
"8557 res_p\n",
"8558 res_p\n",
"8559 res_p\n",
"8560 res_p\n",
"8561 res_p\n",
"Name: resmax, Length: 8562, dtype: object"
]
},
"metadata": {
"tags": []
},
"execution_count": 55
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "GdxKgFOqCYOD",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 510
},
"outputId": "a02b137e-58d3-4cc5-f2c6-73a9e4e38bbf"
},
"source": [
"# Nézzük meg melyik oszlopban milyen fajta adat van!\n",
"df.dtypes"
],
"execution_count": 56,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"MID int64\n",
"CS object\n",
"RTime object\n",
"TID int64\n",
"Tournament object\n",
"HomeName object\n",
"AwayName object\n",
"H int64\n",
"A int64\n",
"O1 float64\n",
"OX float64\n",
"O2 float64\n",
"FILE int64\n",
"WinMinMax int64\n",
"Paperform object\n",
"Mth object\n",
"AP float64\n",
"AEXCL float64\n",
"ST object\n",
"sP float64\n",
"sEXCL float64\n",
"res_p float64\n",
"res_. float64\n",
"res_EXCL float64\n",
"size int64\n",
"mP float64\n",
"mEXCL float64\n",
"resmax object\n",
"dtype: object"
]
},
"metadata": {
"tags": []
},
"execution_count": 56
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "r7nJev6P8Y_1",
"colab_type": "code",
"colab": {}
},
"source": [
"# ezt az oszlopot fogjuk előre jelezni.\n",
"# Tensorflow-nak az esne jól, ha az oszlopokban string-ek helyett inkább számok lennének.\n",
"# Alakítsuk őket számmá! Ezt használva: https://stackoverflow.com/a/42320863/8565438\n",
"for datatype, col in zip(df.dtypes,df.columns):\n",
" if datatype != 'int64' and datatype != 'float64':\n",
" df[col] = pd.Categorical(pd.factorize(df[col])[0])"
],
"execution_count": 57,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "3IYM5Kf2_P5D",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 439
},
"outputId": "9b16f3d7-ad01-41a5-a719-f610c45c7d80"
},
"source": [
"# ellenőrzés:\n",
"df"
],
"execution_count": 58,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>MID</th>\n",
" <th>CS</th>\n",
" <th>RTime</th>\n",
" <th>TID</th>\n",
" <th>Tournament</th>\n",
" <th>HomeName</th>\n",
" <th>AwayName</th>\n",
" <th>H</th>\n",
" <th>A</th>\n",
" <th>O1</th>\n",
" <th>OX</th>\n",
" <th>O2</th>\n",
" <th>FILE</th>\n",
" <th>WinMinMax</th>\n",
" <th>Paperform</th>\n",
" <th>Mth</th>\n",
" <th>AP</th>\n",
" <th>AEXCL</th>\n",
" <th>ST</th>\n",
" <th>sP</th>\n",
" <th>sEXCL</th>\n",
" <th>res_p</th>\n",
" <th>res_.</th>\n",
" <th>res_EXCL</th>\n",
" <th>size</th>\n",
" <th>mP</th>\n",
" <th>mEXCL</th>\n",
" <th>resmax</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>43401</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>2.23</td>\n",
" <td>3.01</td>\n",
" <td>3.29</td>\n",
" <td>20200426</td>\n",
" <td>313</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.542</td>\n",
" <td>0.205</td>\n",
" <td>0</td>\n",
" <td>0.601</td>\n",
" <td>0.174</td>\n",
" <td>-1.000</td>\n",
" <td>-1.0</td>\n",
" <td>2.29</td>\n",
" <td>44</td>\n",
" <td>0.545</td>\n",
" <td>0.182</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>51733</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>3.14</td>\n",
" <td>3.86</td>\n",
" <td>1.97</td>\n",
" <td>20200426</td>\n",
" <td>232</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.542</td>\n",
" <td>0.205</td>\n",
" <td>1</td>\n",
" <td>0.437</td>\n",
" <td>0.261</td>\n",
" <td>-1.031</td>\n",
" <td>-1.0</td>\n",
" <td>2.86</td>\n",
" <td>26</td>\n",
" <td>0.500</td>\n",
" <td>0.269</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>51733</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>1.08</td>\n",
" <td>10.00</td>\n",
" <td>15.74</td>\n",
" <td>20200426</td>\n",
" <td>113</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0.542</td>\n",
" <td>0.205</td>\n",
" <td>0</td>\n",
" <td>0.601</td>\n",
" <td>0.174</td>\n",
" <td>1.000</td>\n",
" <td>-1.0</td>\n",
" <td>-1.00</td>\n",
" <td>25</td>\n",
" <td>0.760</td>\n",
" <td>0.080</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>4</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>51733</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>9.83</td>\n",
" <td>6.50</td>\n",
" <td>1.20</td>\n",
" <td>20200426</td>\n",
" <td>331</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0.542</td>\n",
" <td>0.205</td>\n",
" <td>0</td>\n",
" <td>0.601</td>\n",
" <td>0.174</td>\n",
" <td>1.000</td>\n",
" <td>-1.0</td>\n",
" <td>-1.00</td>\n",
" <td>26</td>\n",
" <td>0.731</td>\n",
" <td>0.192</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>51733</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>1.28</td>\n",
" <td>5.58</td>\n",
" <td>7.75</td>\n",
" <td>20200426</td>\n",
" <td>113</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0.542</td>\n",
" <td>0.205</td>\n",
" <td>0</td>\n",
" <td>0.601</td>\n",
" <td>0.174</td>\n",
" <td>1.000</td>\n",
" <td>-1.0</td>\n",
" <td>-1.00</td>\n",
" <td>25</td>\n",
" <td>0.680</td>\n",
" <td>0.160</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8557</th>\n",
" <td>9041</td>\n",
" <td>0</td>\n",
" <td>2264</td>\n",
" <td>43199</td>\n",
" <td>249</td>\n",
" <td>2941</td>\n",
" <td>3012</td>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" <td>2.82</td>\n",
" <td>3.16</td>\n",
" <td>2.31</td>\n",
" <td>20200804</td>\n",
" <td>332</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0.542</td>\n",
" <td>0.205</td>\n",
" <td>1</td>\n",
" <td>0.437</td>\n",
" <td>0.261</td>\n",
" <td>1.310</td>\n",
" <td>-1.0</td>\n",
" <td>-1.00</td>\n",
" <td>10</td>\n",
" <td>0.700</td>\n",
" <td>0.200</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8558</th>\n",
" <td>9045</td>\n",
" <td>0</td>\n",
" <td>2265</td>\n",
" <td>43202</td>\n",
" <td>228</td>\n",
" <td>2792</td>\n",
" <td>2891</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>1.35</td>\n",
" <td>4.47</td>\n",
" <td>7.41</td>\n",
" <td>20200804</td>\n",
" <td>113</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0.542</td>\n",
" <td>0.205</td>\n",
" <td>0</td>\n",
" <td>0.601</td>\n",
" <td>0.174</td>\n",
" <td>1.000</td>\n",
" <td>-1.0</td>\n",
" <td>-1.00</td>\n",
" <td>15</td>\n",
" <td>0.733</td>\n",
" <td>0.067</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8559</th>\n",
" <td>9046</td>\n",
" <td>0</td>\n",
" <td>2266</td>\n",
" <td>43205</td>\n",
" <td>201</td>\n",
" <td>2541</td>\n",
" <td>2403</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1.63</td>\n",
" <td>3.65</td>\n",
" <td>5.14</td>\n",
" <td>20200805</td>\n",
" <td>113</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0.542</td>\n",
" <td>0.205</td>\n",
" <td>0</td>\n",
" <td>0.601</td>\n",
" <td>0.174</td>\n",
" <td>1.000</td>\n",
" <td>-1.0</td>\n",
" <td>-1.00</td>\n",
" <td>44</td>\n",
" <td>0.500</td>\n",
" <td>0.250</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8560</th>\n",
" <td>9048</td>\n",
" <td>0</td>\n",
" <td>2267</td>\n",
" <td>43209</td>\n",
" <td>217</td>\n",
" <td>2942</td>\n",
" <td>2380</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" <td>5.86</td>\n",
" <td>3.60</td>\n",
" <td>1.55</td>\n",
" <td>20200805</td>\n",
" <td>331</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0.542</td>\n",
" <td>0.205</td>\n",
" <td>0</td>\n",
" <td>0.601</td>\n",
" <td>0.174</td>\n",
" <td>1.000</td>\n",
" <td>-1.0</td>\n",
" <td>-1.00</td>\n",
" <td>37</td>\n",
" <td>0.622</td>\n",
" <td>0.108</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8561</th>\n",
" <td>9049</td>\n",
" <td>0</td>\n",
" <td>2268</td>\n",
" <td>43202</td>\n",
" <td>228</td>\n",
" <td>2706</td>\n",
" <td>2859</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>13.54</td>\n",
" <td>5.30</td>\n",
" <td>1.21</td>\n",
" <td>20200805</td>\n",
" <td>331</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0.542</td>\n",
" <td>0.205</td>\n",
" <td>0</td>\n",
" <td>0.601</td>\n",
" <td>0.174</td>\n",
" <td>1.000</td>\n",
" <td>-1.0</td>\n",
" <td>-1.00</td>\n",
" <td>17</td>\n",
" <td>0.706</td>\n",
" <td>0.176</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>8562 rows × 28 columns</p>\n",
"</div>"
],
"text/plain": [
" MID CS RTime TID Tournament ... res_EXCL size mP mEXCL resmax\n",
"0 1 0 0 43401 0 ... 2.29 44 0.545 0.182 0\n",
"1 2 0 1 51733 1 ... 2.86 26 0.500 0.269 0\n",
"2 3 0 1 51733 1 ... -1.00 25 0.760 0.080 1\n",
"3 4 0 1 51733 1 ... -1.00 26 0.731 0.192 1\n",
"4 5 0 1 51733 1 ... -1.00 25 0.680 0.160 1\n",
"... ... .. ... ... ... ... ... ... ... ... ...\n",
"8557 9041 0 2264 43199 249 ... -1.00 10 0.700 0.200 1\n",
"8558 9045 0 2265 43202 228 ... -1.00 15 0.733 0.067 1\n",
"8559 9046 0 2266 43205 201 ... -1.00 44 0.500 0.250 1\n",
"8560 9048 0 2267 43209 217 ... -1.00 37 0.622 0.108 1\n",
"8561 9049 0 2268 43202 228 ... -1.00 17 0.706 0.176 1\n",
"\n",
"[8562 rows x 28 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 58
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "CjnTtqGiDmXI",
"colab_type": "code",
"colab": {}
},
"source": [
"# Elvileg az jó ha normalizálva van az input adat. Csináljuk is meg ezt a lépést.\n",
"# Figyeljünk, hogy magát a label-t ne normalizáljuk!\n",
"# Ezt használva: https://stackoverflow.com/a/26415620/8565438\n",
"x = df[[col for col in df.columns if col!='resmax']].values #returns a numpy array\n",
"min_max_scaler = sklearn.preprocessing.MinMaxScaler()\n",
"x_scaled = min_max_scaler.fit_transform(x)\n",
"df_scaled = pd.DataFrame(x_scaled,columns=[col for col in df.columns if col!='resmax'])"
],
"execution_count": 59,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "hYh38TTrD6op",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 439
},
"outputId": "55271cba-cb80-45d2-bfb7-e80fad8afa6c"
},
"source": [
"df_scaled"
],
"execution_count": 60,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>MID</th>\n",
" <th>CS</th>\n",
" <th>RTime</th>\n",
" <th>TID</th>\n",
" <th>Tournament</th>\n",
" <th>HomeName</th>\n",
" <th>AwayName</th>\n",
" <th>H</th>\n",
" <th>A</th>\n",
" <th>O1</th>\n",
" <th>OX</th>\n",
" <th>O2</th>\n",
" <th>FILE</th>\n",
" <th>WinMinMax</th>\n",
" <th>Paperform</th>\n",
" <th>Mth</th>\n",
" <th>AP</th>\n",
" <th>AEXCL</th>\n",
" <th>ST</th>\n",
" <th>sP</th>\n",
" <th>sEXCL</th>\n",
" <th>res_p</th>\n",
" <th>res_.</th>\n",
" <th>res_EXCL</th>\n",
" <th>size</th>\n",
" <th>mP</th>\n",
" <th>mEXCL</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.267724</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.066667</td>\n",
" <td>0.006079</td>\n",
" <td>0.007174</td>\n",
" <td>0.004527</td>\n",
" <td>0.000000</td>\n",
" <td>0.913636</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>0.972495</td>\n",
" <td>0.0</td>\n",
" <td>0.105686</td>\n",
" <td>0.700000</td>\n",
" <td>0.545</td>\n",
" <td>0.182</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0.000111</td>\n",
" <td>0.0</td>\n",
" <td>0.000441</td>\n",
" <td>0.683431</td>\n",
" <td>0.004016</td>\n",
" <td>0.000340</td>\n",
" <td>0.000332</td>\n",
" <td>0.142857</td>\n",
" <td>0.133333</td>\n",
" <td>0.010613</td>\n",
" <td>0.010543</td>\n",
" <td>0.001906</td>\n",
" <td>0.000000</td>\n",
" <td>0.545455</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>0.972191</td>\n",
" <td>0.0</td>\n",
" <td>0.123996</td>\n",
" <td>0.400000</td>\n",
" <td>0.500</td>\n",
" <td>0.269</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>0.000221</td>\n",
" <td>0.0</td>\n",
" <td>0.000441</td>\n",
" <td>0.683431</td>\n",
" <td>0.004016</td>\n",
" <td>0.000680</td>\n",
" <td>0.000664</td>\n",
" <td>0.214286</td>\n",
" <td>0.133333</td>\n",
" <td>0.000349</td>\n",
" <td>0.034879</td>\n",
" <td>0.029248</td>\n",
" <td>0.000000</td>\n",
" <td>0.004545</td>\n",
" <td>0.5</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>0.992141</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.383333</td>\n",
" <td>0.760</td>\n",
" <td>0.080</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>0.000332</td>\n",
" <td>0.0</td>\n",
" <td>0.000441</td>\n",
" <td>0.683431</td>\n",
" <td>0.004016</td>\n",
" <td>0.001020</td>\n",
" <td>0.000996</td>\n",
" <td>0.000000</td>\n",
" <td>0.133333</td>\n",
" <td>0.043946</td>\n",
" <td>0.021007</td>\n",
" <td>0.000377</td>\n",
" <td>0.000000</td>\n",
" <td>0.995455</td>\n",
" <td>0.5</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>0.992141</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.400000</td>\n",
" <td>0.731</td>\n",
" <td>0.192</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>0.000442</td>\n",
" <td>0.0</td>\n",
" <td>0.000441</td>\n",
" <td>0.683431</td>\n",
" <td>0.004016</td>\n",
" <td>0.001360</td>\n",
" <td>0.001328</td>\n",
" <td>0.142857</td>\n",
" <td>0.000000</td>\n",
" <td>0.001345</td>\n",
" <td>0.017360</td>\n",
" <td>0.013383</td>\n",
" <td>0.000000</td>\n",
" <td>0.004545</td>\n",
" <td>0.5</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>0.992141</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.383333</td>\n",
" <td>0.680</td>\n",
" <td>0.160</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8557</th>\n",
" <td>0.999116</td>\n",
" <td>0.0</td>\n",
" <td>0.998236</td>\n",
" <td>0.257646</td>\n",
" <td>1.000000</td>\n",
" <td>0.999660</td>\n",
" <td>1.000000</td>\n",
" <td>0.071429</td>\n",
" <td>0.333333</td>\n",
" <td>0.009018</td>\n",
" <td>0.007769</td>\n",
" <td>0.002581</td>\n",
" <td>0.997361</td>\n",
" <td>1.000000</td>\n",
" <td>0.5</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>0.995187</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.133333</td>\n",
" <td>0.700</td>\n",
" <td>0.200</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8558</th>\n",
" <td>0.999558</td>\n",
" <td>0.0</td>\n",
" <td>0.998677</td>\n",
" <td>0.257796</td>\n",
" <td>0.915663</td>\n",
" <td>0.949014</td>\n",
" <td>0.959827</td>\n",
" <td>0.142857</td>\n",
" <td>0.066667</td>\n",
" <td>0.001694</td>\n",
" <td>0.012961</td>\n",
" <td>0.012708</td>\n",
" <td>0.997361</td>\n",
" <td>0.004545</td>\n",
" <td>0.5</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>0.992141</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.216667</td>\n",
" <td>0.733</td>\n",
" <td>0.067</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8559</th>\n",
" <td>0.999668</td>\n",
" <td>0.0</td>\n",
" <td>0.999118</td>\n",
" <td>0.257945</td>\n",
" <td>0.807229</td>\n",
" <td>0.863698</td>\n",
" <td>0.797809</td>\n",
" <td>0.071429</td>\n",
" <td>0.000000</td>\n",
" <td>0.003089</td>\n",
" <td>0.009711</td>\n",
" <td>0.008201</td>\n",
" <td>1.000000</td>\n",
" <td>0.004545</td>\n",
" <td>0.5</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>0.992141</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.700000</td>\n",
" <td>0.500</td>\n",
" <td>0.250</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8560</th>\n",
" <td>0.999889</td>\n",
" <td>0.0</td>\n",
" <td>0.999559</td>\n",
" <td>0.258145</td>\n",
" <td>0.871486</td>\n",
" <td>1.000000</td>\n",
" <td>0.790173</td>\n",
" <td>0.000000</td>\n",
" <td>0.266667</td>\n",
" <td>0.024165</td>\n",
" <td>0.009512</td>\n",
" <td>0.001072</td>\n",
" <td>1.000000</td>\n",
" <td>0.995455</td>\n",
" <td>0.5</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>0.992141</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.583333</td>\n",
" <td>0.622</td>\n",
" <td>0.108</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8561</th>\n",
" <td>1.000000</td>\n",
" <td>0.0</td>\n",
" <td>1.000000</td>\n",
" <td>0.257796</td>\n",
" <td>0.915663</td>\n",
" <td>0.919782</td>\n",
" <td>0.949203</td>\n",
" <td>0.071429</td>\n",
" <td>0.266667</td>\n",
" <td>0.062431</td>\n",
" <td>0.016250</td>\n",
" <td>0.000397</td>\n",
" <td>1.000000</td>\n",
" <td>0.995455</td>\n",
" <td>0.5</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>0.992141</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.250000</td>\n",
" <td>0.706</td>\n",
" <td>0.176</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>8562 rows × 27 columns</p>\n",
"</div>"
],
"text/plain": [
" MID CS RTime TID ... res_EXCL size mP mEXCL\n",
"0 0.000000 0.0 0.000000 0.267724 ... 0.105686 0.700000 0.545 0.182\n",
"1 0.000111 0.0 0.000441 0.683431 ... 0.123996 0.400000 0.500 0.269\n",
"2 0.000221 0.0 0.000441 0.683431 ... 0.000000 0.383333 0.760 0.080\n",
"3 0.000332 0.0 0.000441 0.683431 ... 0.000000 0.400000 0.731 0.192\n",
"4 0.000442 0.0 0.000441 0.683431 ... 0.000000 0.383333 0.680 0.160\n",
"... ... ... ... ... ... ... ... ... ...\n",
"8557 0.999116 0.0 0.998236 0.257646 ... 0.000000 0.133333 0.700 0.200\n",
"8558 0.999558 0.0 0.998677 0.257796 ... 0.000000 0.216667 0.733 0.067\n",
"8559 0.999668 0.0 0.999118 0.257945 ... 0.000000 0.700000 0.500 0.250\n",
"8560 0.999889 0.0 0.999559 0.258145 ... 0.000000 0.583333 0.622 0.108\n",
"8561 1.000000 0.0 1.000000 0.257796 ... 0.000000 0.250000 0.706 0.176\n",
"\n",
"[8562 rows x 27 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 60
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "4_7nNGQyFfpe",
"colab_type": "code",
"colab": {}
},
"source": [
"# maga a resmax oszlop lemaradt, adjuk tehát tegyük vissza az eddigi oszlopok mellé:\n",
"df = df_scaled.join(df['resmax'])\n",
"# figyeljünk hogy ezt a cellát ne futtassuk többször mint kellene "
],
"execution_count": 61,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "8sleFPxUsr24",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 102
},
"outputId": "fb0acdd8-f4e7-45d7-dde9-6fa6c796e278"
},
"source": [
"# nézzük meg milyen oszlopok vannak még:\n",
"df.columns"
],
"execution_count": 62,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Index(['MID', 'CS', 'RTime', 'TID', 'Tournament', 'HomeName', 'AwayName', 'H',\n",
" 'A', 'O1', 'OX', 'O2', 'FILE', 'WinMinMax', 'Paperform', 'Mth', 'AP',\n",
" 'AEXCL', 'ST', 'sP', 'sEXCL', 'res_p', 'res_.', 'res_EXCL', 'size',\n",
" 'mP', 'mEXCL', 'resmax'],\n",
" dtype='object')"
]
},
"metadata": {
"tags": []
},
"execution_count": 62
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "EC_8fDVZwld1",
"colab_type": "code",
"colab": {}
},
"source": [
"# azok, amik a meccs előtt is ismertek: (Ugye? nem akarunk a jövőből trainelni.)\n",
"CSV_COLUMN_NAMES = \\\n",
"['MID', 'CS', 'RTime', 'TID', 'Tournament', 'HomeName', 'AwayName', 'H','A', 'O1', 'OX', 'O2', 'FILE', 'WinMinMax', 'Paperform', 'Mth', 'AP','A!', 'ST', 'sP', 's!', 'size', 'mP', 'm!']"
],
"execution_count": 63,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "m6QqaYnsyVXa",
"colab_type": "code",
"colab": {}
},
"source": [
"OUTCOMES = ['res_p', 'res_.', 'res_EXCL'] # aka SPECIES, a virág-klasszifikáló notebookban"
],
"execution_count": 64,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "2CtiToJOB7EX",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 439
},
"outputId": "11e4edbb-1f41-4181-c746-078b4e07b4dc"
},
"source": [
"df"
],
"execution_count": 65,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>MID</th>\n",
" <th>CS</th>\n",
" <th>RTime</th>\n",
" <th>TID</th>\n",
" <th>Tournament</th>\n",
" <th>HomeName</th>\n",
" <th>AwayName</th>\n",
" <th>H</th>\n",
" <th>A</th>\n",
" <th>O1</th>\n",
" <th>OX</th>\n",
" <th>O2</th>\n",
" <th>FILE</th>\n",
" <th>WinMinMax</th>\n",
" <th>Paperform</th>\n",
" <th>Mth</th>\n",
" <th>AP</th>\n",
" <th>AEXCL</th>\n",
" <th>ST</th>\n",
" <th>sP</th>\n",
" <th>sEXCL</th>\n",
" <th>res_p</th>\n",
" <th>res_.</th>\n",
" <th>res_EXCL</th>\n",
" <th>size</th>\n",
" <th>mP</th>\n",
" <th>mEXCL</th>\n",
" <th>resmax</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.267724</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.066667</td>\n",
" <td>0.006079</td>\n",
" <td>0.007174</td>\n",
" <td>0.004527</td>\n",
" <td>0.000000</td>\n",
" <td>0.913636</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>0.972495</td>\n",
" <td>0.0</td>\n",
" <td>0.105686</td>\n",
" <td>0.700000</td>\n",
" <td>0.545</td>\n",
" <td>0.182</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0.000111</td>\n",
" <td>0.0</td>\n",
" <td>0.000441</td>\n",
" <td>0.683431</td>\n",
" <td>0.004016</td>\n",
" <td>0.000340</td>\n",
" <td>0.000332</td>\n",
" <td>0.142857</td>\n",
" <td>0.133333</td>\n",
" <td>0.010613</td>\n",
" <td>0.010543</td>\n",
" <td>0.001906</td>\n",
" <td>0.000000</td>\n",
" <td>0.545455</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>0.972191</td>\n",
" <td>0.0</td>\n",
" <td>0.123996</td>\n",
" <td>0.400000</td>\n",
" <td>0.500</td>\n",
" <td>0.269</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>0.000221</td>\n",
" <td>0.0</td>\n",
" <td>0.000441</td>\n",
" <td>0.683431</td>\n",
" <td>0.004016</td>\n",
" <td>0.000680</td>\n",
" <td>0.000664</td>\n",
" <td>0.214286</td>\n",
" <td>0.133333</td>\n",
" <td>0.000349</td>\n",
" <td>0.034879</td>\n",
" <td>0.029248</td>\n",
" <td>0.000000</td>\n",
" <td>0.004545</td>\n",
" <td>0.5</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>0.992141</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.383333</td>\n",
" <td>0.760</td>\n",
" <td>0.080</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>0.000332</td>\n",
" <td>0.0</td>\n",
" <td>0.000441</td>\n",
" <td>0.683431</td>\n",
" <td>0.004016</td>\n",
" <td>0.001020</td>\n",
" <td>0.000996</td>\n",
" <td>0.000000</td>\n",
" <td>0.133333</td>\n",
" <td>0.043946</td>\n",
" <td>0.021007</td>\n",
" <td>0.000377</td>\n",
" <td>0.000000</td>\n",
" <td>0.995455</td>\n",
" <td>0.5</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>0.992141</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.400000</td>\n",
" <td>0.731</td>\n",
" <td>0.192</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>0.000442</td>\n",
" <td>0.0</td>\n",
" <td>0.000441</td>\n",
" <td>0.683431</td>\n",
" <td>0.004016</td>\n",
" <td>0.001360</td>\n",
" <td>0.001328</td>\n",
" <td>0.142857</td>\n",
" <td>0.000000</td>\n",
" <td>0.001345</td>\n",
" <td>0.017360</td>\n",
" <td>0.013383</td>\n",
" <td>0.000000</td>\n",
" <td>0.004545</td>\n",
" <td>0.5</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>0.992141</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.383333</td>\n",
" <td>0.680</td>\n",
" <td>0.160</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8557</th>\n",
" <td>0.999116</td>\n",
" <td>0.0</td>\n",
" <td>0.998236</td>\n",
" <td>0.257646</td>\n",
" <td>1.000000</td>\n",
" <td>0.999660</td>\n",
" <td>1.000000</td>\n",
" <td>0.071429</td>\n",
" <td>0.333333</td>\n",
" <td>0.009018</td>\n",
" <td>0.007769</td>\n",
" <td>0.002581</td>\n",
" <td>0.997361</td>\n",
" <td>1.000000</td>\n",
" <td>0.5</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>0.995187</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.133333</td>\n",
" <td>0.700</td>\n",
" <td>0.200</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8558</th>\n",
" <td>0.999558</td>\n",
" <td>0.0</td>\n",
" <td>0.998677</td>\n",
" <td>0.257796</td>\n",
" <td>0.915663</td>\n",
" <td>0.949014</td>\n",
" <td>0.959827</td>\n",
" <td>0.142857</td>\n",
" <td>0.066667</td>\n",
" <td>0.001694</td>\n",
" <td>0.012961</td>\n",
" <td>0.012708</td>\n",
" <td>0.997361</td>\n",
" <td>0.004545</td>\n",
" <td>0.5</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>0.992141</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.216667</td>\n",
" <td>0.733</td>\n",
" <td>0.067</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8559</th>\n",
" <td>0.999668</td>\n",
" <td>0.0</td>\n",
" <td>0.999118</td>\n",
" <td>0.257945</td>\n",
" <td>0.807229</td>\n",
" <td>0.863698</td>\n",
" <td>0.797809</td>\n",
" <td>0.071429</td>\n",
" <td>0.000000</td>\n",
" <td>0.003089</td>\n",
" <td>0.009711</td>\n",
" <td>0.008201</td>\n",
" <td>1.000000</td>\n",
" <td>0.004545</td>\n",
" <td>0.5</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>0.992141</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.700000</td>\n",
" <td>0.500</td>\n",
" <td>0.250</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8560</th>\n",
" <td>0.999889</td>\n",
" <td>0.0</td>\n",
" <td>0.999559</td>\n",
" <td>0.258145</td>\n",
" <td>0.871486</td>\n",
" <td>1.000000</td>\n",
" <td>0.790173</td>\n",
" <td>0.000000</td>\n",
" <td>0.266667</td>\n",
" <td>0.024165</td>\n",
" <td>0.009512</td>\n",
" <td>0.001072</td>\n",
" <td>1.000000</td>\n",
" <td>0.995455</td>\n",
" <td>0.5</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>0.992141</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.583333</td>\n",
" <td>0.622</td>\n",
" <td>0.108</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8561</th>\n",
" <td>1.000000</td>\n",
" <td>0.0</td>\n",
" <td>1.000000</td>\n",
" <td>0.257796</td>\n",
" <td>0.915663</td>\n",
" <td>0.919782</td>\n",
" <td>0.949203</td>\n",
" <td>0.071429</td>\n",
" <td>0.266667</td>\n",
" <td>0.062431</td>\n",
" <td>0.016250</td>\n",
" <td>0.000397</td>\n",
" <td>1.000000</td>\n",
" <td>0.995455</td>\n",
" <td>0.5</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>0.992141</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.250000</td>\n",
" <td>0.706</td>\n",
" <td>0.176</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>8562 rows × 28 columns</p>\n",
"</div>"
],
"text/plain": [
" MID CS RTime TID ... size mP mEXCL resmax\n",
"0 0.000000 0.0 0.000000 0.267724 ... 0.700000 0.545 0.182 0\n",
"1 0.000111 0.0 0.000441 0.683431 ... 0.400000 0.500 0.269 0\n",
"2 0.000221 0.0 0.000441 0.683431 ... 0.383333 0.760 0.080 1\n",
"3 0.000332 0.0 0.000441 0.683431 ... 0.400000 0.731 0.192 1\n",
"4 0.000442 0.0 0.000441 0.683431 ... 0.383333 0.680 0.160 1\n",
"... ... ... ... ... ... ... ... ... ...\n",
"8557 0.999116 0.0 0.998236 0.257646 ... 0.133333 0.700 0.200 1\n",
"8558 0.999558 0.0 0.998677 0.257796 ... 0.216667 0.733 0.067 1\n",
"8559 0.999668 0.0 0.999118 0.257945 ... 0.700000 0.500 0.250 1\n",
"8560 0.999889 0.0 0.999559 0.258145 ... 0.583333 0.622 0.108 1\n",
"8561 1.000000 0.0 1.000000 0.257796 ... 0.250000 0.706 0.176 1\n",
"\n",
"[8562 rows x 28 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 65
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "rUI9DWnEynWY",
"colab_type": "code",
"colab": {}
},
"source": [
"# az egy dataframe-ünkből csináljunk kettőt, egy test meg egy train dataframe-t\n",
"train, test = sklearn.model_selection.train_test_split(df, test_size=0.2)\n",
"# (most validation-settel ne foglalkozzunk, majd ha a tuskó-finomságú felépítés működik)"
],
"execution_count": 66,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "Cn0roHaHz3Fb",
"colab_type": "code",
"colab": {}
},
"source": [
"# a dataframe-ekből vegyük ki az eredményeket, tegyük bele őket egy pandas.Series()-be (magában a df-ekben nem marad benne):\n",
"train_y = train.pop('resmax')\n",
"test_y = test.pop('resmax')\n",
"# ami itt resmax, az a virág-klasszifikációnál Species"
],
"execution_count": 67,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "ZVm4WTdJ1ADk",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 224
},
"outputId": "19feb7c8-a33d-43a0-9478-eb4343c9b594"
},
"source": [
"# resmax már tényleg nincs benne, meg is nézhetjük:\n",
"train.head()"
],
"execution_count": 68,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>MID</th>\n",
" <th>CS</th>\n",
" <th>RTime</th>\n",
" <th>TID</th>\n",
" <th>Tournament</th>\n",
" <th>HomeName</th>\n",
" <th>AwayName</th>\n",
" <th>H</th>\n",
" <th>A</th>\n",
" <th>O1</th>\n",
" <th>OX</th>\n",
" <th>O2</th>\n",
" <th>FILE</th>\n",
" <th>WinMinMax</th>\n",
" <th>Paperform</th>\n",
" <th>Mth</th>\n",
" <th>AP</th>\n",
" <th>AEXCL</th>\n",
" <th>ST</th>\n",
" <th>sP</th>\n",
" <th>sEXCL</th>\n",
" <th>res_p</th>\n",
" <th>res_.</th>\n",
" <th>res_EXCL</th>\n",
" <th>size</th>\n",
" <th>mP</th>\n",
" <th>mEXCL</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>4931</th>\n",
" <td>0.574934</td>\n",
" <td>0.0</td>\n",
" <td>0.623898</td>\n",
" <td>0.173078</td>\n",
" <td>0.060241</td>\n",
" <td>0.058804</td>\n",
" <td>0.038181</td>\n",
" <td>0.142857</td>\n",
" <td>0.000000</td>\n",
" <td>0.006228</td>\n",
" <td>0.008601</td>\n",
" <td>0.004090</td>\n",
" <td>0.749340</td>\n",
" <td>0.000000</td>\n",
" <td>0.5</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>0.994695</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.500000</td>\n",
" <td>0.594</td>\n",
" <td>0.094</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1559</th>\n",
" <td>0.187224</td>\n",
" <td>0.0</td>\n",
" <td>0.283951</td>\n",
" <td>0.459512</td>\n",
" <td>0.028112</td>\n",
" <td>0.310673</td>\n",
" <td>0.306109</td>\n",
" <td>0.428571</td>\n",
" <td>0.133333</td>\n",
" <td>0.001943</td>\n",
" <td>0.015180</td>\n",
" <td>0.008340</td>\n",
" <td>0.493404</td>\n",
" <td>0.004545</td>\n",
" <td>0.5</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>0.992141</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.016667</td>\n",
" <td>0.667</td>\n",
" <td>0.333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5014</th>\n",
" <td>0.584660</td>\n",
" <td>0.0</td>\n",
" <td>0.634039</td>\n",
" <td>0.765155</td>\n",
" <td>0.297189</td>\n",
" <td>0.336506</td>\n",
" <td>0.420983</td>\n",
" <td>0.000000</td>\n",
" <td>0.066667</td>\n",
" <td>0.060339</td>\n",
" <td>0.024970</td>\n",
" <td>0.000218</td>\n",
" <td>0.749340</td>\n",
" <td>0.995455</td>\n",
" <td>0.5</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>0.992141</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.216667</td>\n",
" <td>0.667</td>\n",
" <td>0.133</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5937</th>\n",
" <td>0.691313</td>\n",
" <td>0.0</td>\n",
" <td>0.735009</td>\n",
" <td>0.459512</td>\n",
" <td>0.028112</td>\n",
" <td>0.723997</td>\n",
" <td>0.715803</td>\n",
" <td>0.142857</td>\n",
" <td>0.200000</td>\n",
" <td>0.043597</td>\n",
" <td>0.023107</td>\n",
" <td>0.000298</td>\n",
" <td>0.767810</td>\n",
" <td>0.995455</td>\n",
" <td>0.5</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>0.992141</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.033333</td>\n",
" <td>1.000</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2510</th>\n",
" <td>0.296419</td>\n",
" <td>0.0</td>\n",
" <td>0.377425</td>\n",
" <td>0.264831</td>\n",
" <td>0.289157</td>\n",
" <td>0.456492</td>\n",
" <td>0.449535</td>\n",
" <td>0.214286</td>\n",
" <td>0.000000</td>\n",
" <td>0.000897</td>\n",
" <td>0.020729</td>\n",
" <td>0.019360</td>\n",
" <td>0.511873</td>\n",
" <td>0.004545</td>\n",
" <td>0.5</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>0.992141</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.350000</td>\n",
" <td>0.609</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" MID CS RTime TID ... res_EXCL size mP mEXCL\n",
"4931 0.574934 0.0 0.623898 0.173078 ... 0.0 0.500000 0.594 0.094\n",
"1559 0.187224 0.0 0.283951 0.459512 ... 0.0 0.016667 0.667 0.333\n",
"5014 0.584660 0.0 0.634039 0.765155 ... 0.0 0.216667 0.667 0.133\n",
"5937 0.691313 0.0 0.735009 0.459512 ... 0.0 0.033333 1.000 0.000\n",
"2510 0.296419 0.0 0.377425 0.264831 ... 0.0 0.350000 0.609 0.000\n",
"\n",
"[5 rows x 27 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 68
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "ofVMiy-Z1Dga",
"colab_type": "code",
"colab": {}
},
"source": [
"# tensorflow számára emészthető formába hozhatjuk az adatainkat ezzel a függvénnyel:\n",
"def input_fn(features, labels, training=True, batch_size=256):\n",
" \"\"\"An input function for training or evaluating\"\"\"\n",
" # Convert the inputs to a Dataset.\n",
" dataset = tf.data.Dataset.from_tensor_slices((dict(features), labels))\n",
"\n",
" # Shuffle and repeat if you are in training mode.\n",
" if training:\n",
" dataset = dataset.shuffle(1000).repeat()\n",
" \n",
" return dataset.batch(batch_size)"
],
"execution_count": 69,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "HaPtD1pm2qhu",
"colab_type": "code",
"colab": {}
},
"source": [
"# Feature columns describe how to use the input.\n",
"my_feature_columns = [tf.feature_column.numeric_column(key=key) for key in train.keys()]\n",
"\n",
"#train.keys() az oszlopok nevei:\n",
"#Index(['MID', 'CS', 'RTime', 'TID', 'Tournament', 'HomeName', 'AwayName', 'H',\n",
"# 'A', 'O1', 'OX', 'O2', 'FILE', 'WinMinMax', 'Paperform', 'Mth', 'AP',\n",
"# 'A!', 'ST', 'sP', 's!', 'res_p', 'res_.', 'res_!', 'size', 'mP', 'm!'],\n",
"# dtype='object')"
],
"execution_count": 70,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "h1EwDXWq20-v",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 190
},
"outputId": "23ae84d7-d53a-45b1-8c25-eb6728432809"
},
"source": [
"# Build a DNN with 2 hidden layers with 30 and 10 hidden nodes each.\n",
"classifier = tf.estimator.DNNClassifier(\n",
" feature_columns=my_feature_columns,\n",
" # Two hidden layers of 30 and 10 nodes respectively.\n",
" hidden_units=[30, 10],\n",
" # The model must choose between 3 classes.\n",
" n_classes=3)"
],
"execution_count": 71,
"outputs": [
{
"output_type": "stream",
"text": [
"INFO:tensorflow:Using default config.\n",
"WARNING:tensorflow:Using temporary folder as model directory: /tmp/tmp0vvjzk_a\n",
"INFO:tensorflow:Using config: {'_model_dir': '/tmp/tmp0vvjzk_a', '_tf_random_seed': None, '_save_summary_steps': 100, '_save_checkpoints_steps': None, '_save_checkpoints_secs': 600, '_session_config': allow_soft_placement: true\n",
"graph_options {\n",
" rewrite_options {\n",
" meta_optimizer_iterations: ONE\n",
" }\n",
"}\n",
", '_keep_checkpoint_max': 5, '_keep_checkpoint_every_n_hours': 10000, '_log_step_count_steps': 100, '_train_distribute': None, '_device_fn': None, '_protocol': None, '_eval_distribute': None, '_experimental_distribute': None, '_experimental_max_worker_delay_secs': None, '_session_creation_timeout_secs': 7200, '_service': None, '_cluster_spec': ClusterSpec({}), '_task_type': 'worker', '_task_id': 0, '_global_id_in_cluster': 0, '_master': '', '_evaluation_master': '', '_is_chief': True, '_num_ps_replicas': 0, '_num_worker_replicas': 1}\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "-wixPK-83p-P",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
},
"outputId": "84844874-d155-45ac-b917-00b68b878b16"
},
"source": [
"# Train the Model.\n",
"classifier.train(\n",
" input_fn=lambda: input_fn(train, train_y, training=True),\n",
" steps=5000)"
],
"execution_count": 72,
"outputs": [
{
"output_type": "stream",
"text": [
"INFO:tensorflow:Calling model_fn.\n",
"WARNING:tensorflow:Layer dnn is casting an input tensor from dtype float64 to the layer's dtype of float32, which is new behavior in TensorFlow 2. The layer has dtype float32 because its dtype defaults to floatx.\n",
"\n",
"If you intended to run this layer in float32, you can safely ignore this warning. If in doubt, this warning is likely only an issue if you are porting a TensorFlow 1.X model to TensorFlow 2.\n",
"\n",
"To change all layers to have dtype float64 by default, call `tf.keras.backend.set_floatx('float64')`. To change just this layer, pass dtype='float64' to the layer constructor. If you are the author of this layer, you can disable autocasting by passing autocast=False to the base Layer constructor.\n",
"\n",
"INFO:tensorflow:Done calling model_fn.\n",
"INFO:tensorflow:Create CheckpointSaverHook.\n",
"INFO:tensorflow:Graph was finalized.\n",
"INFO:tensorflow:Running local_init_op.\n",
"INFO:tensorflow:Done running local_init_op.\n",
"INFO:tensorflow:Calling checkpoint listeners before saving checkpoint 0...\n",
"INFO:tensorflow:Saving checkpoints for 0 into /tmp/tmp0vvjzk_a/model.ckpt.\n",
"INFO:tensorflow:Calling checkpoint listeners after saving checkpoint 0...\n",
"INFO:tensorflow:loss = 1.1533936, step = 0\n",
"INFO:tensorflow:global_step/sec: 223.148\n",
"INFO:tensorflow:loss = 1.0984311, step = 100 (0.450 sec)\n",
"INFO:tensorflow:global_step/sec: 277.161\n",
"INFO:tensorflow:loss = 1.0694702, step = 200 (0.361 sec)\n",
"INFO:tensorflow:global_step/sec: 236.423\n",
"INFO:tensorflow:loss = 1.0505095, step = 300 (0.423 sec)\n",
"INFO:tensorflow:global_step/sec: 249.513\n",
"INFO:tensorflow:loss = 1.0397046, step = 400 (0.401 sec)\n",
"INFO:tensorflow:global_step/sec: 256.543\n",
"INFO:tensorflow:loss = 1.0053377, step = 500 (0.390 sec)\n",
"INFO:tensorflow:global_step/sec: 253.994\n",
"INFO:tensorflow:loss = 1.0209668, step = 600 (0.396 sec)\n",
"INFO:tensorflow:global_step/sec: 256.464\n",
"INFO:tensorflow:loss = 0.98063993, step = 700 (0.390 sec)\n",
"INFO:tensorflow:global_step/sec: 233.669\n",
"INFO:tensorflow:loss = 0.98855275, step = 800 (0.428 sec)\n",
"INFO:tensorflow:global_step/sec: 249.446\n",
"INFO:tensorflow:loss = 1.0064799, step = 900 (0.398 sec)\n",
"INFO:tensorflow:global_step/sec: 243.622\n",
"INFO:tensorflow:loss = 0.9787595, step = 1000 (0.410 sec)\n",
"INFO:tensorflow:global_step/sec: 268.898\n",
"INFO:tensorflow:loss = 0.926005, step = 1100 (0.372 sec)\n",
"INFO:tensorflow:global_step/sec: 258.381\n",
"INFO:tensorflow:loss = 0.9378331, step = 1200 (0.386 sec)\n",
"INFO:tensorflow:global_step/sec: 226.418\n",
"INFO:tensorflow:loss = 0.95499504, step = 1300 (0.444 sec)\n",
"INFO:tensorflow:global_step/sec: 253.516\n",
"INFO:tensorflow:loss = 0.94533086, step = 1400 (0.395 sec)\n",
"INFO:tensorflow:global_step/sec: 248.223\n",
"INFO:tensorflow:loss = 0.9316264, step = 1500 (0.401 sec)\n",
"INFO:tensorflow:global_step/sec: 241.556\n",
"INFO:tensorflow:loss = 0.9584238, step = 1600 (0.416 sec)\n",
"INFO:tensorflow:global_step/sec: 252.137\n",
"INFO:tensorflow:loss = 0.9046633, step = 1700 (0.397 sec)\n",
"INFO:tensorflow:global_step/sec: 253.615\n",
"INFO:tensorflow:loss = 0.89656377, step = 1800 (0.394 sec)\n",
"INFO:tensorflow:global_step/sec: 259.19\n",
"INFO:tensorflow:loss = 0.9156736, step = 1900 (0.385 sec)\n",
"INFO:tensorflow:global_step/sec: 265.268\n",
"INFO:tensorflow:loss = 0.89432776, step = 2000 (0.377 sec)\n",
"INFO:tensorflow:global_step/sec: 256.182\n",
"INFO:tensorflow:loss = 0.91455245, step = 2100 (0.388 sec)\n",
"INFO:tensorflow:global_step/sec: 236.457\n",
"INFO:tensorflow:loss = 0.897893, step = 2200 (0.424 sec)\n",
"INFO:tensorflow:global_step/sec: 259.897\n",
"INFO:tensorflow:loss = 0.8825066, step = 2300 (0.384 sec)\n",
"INFO:tensorflow:global_step/sec: 252.359\n",
"INFO:tensorflow:loss = 0.9197738, step = 2400 (0.398 sec)\n",
"INFO:tensorflow:global_step/sec: 266.299\n",
"INFO:tensorflow:loss = 0.8848449, step = 2500 (0.374 sec)\n",
"INFO:tensorflow:global_step/sec: 243.615\n",
"INFO:tensorflow:loss = 0.8826596, step = 2600 (0.413 sec)\n",
"INFO:tensorflow:global_step/sec: 220.932\n",
"INFO:tensorflow:loss = 0.8940647, step = 2700 (0.450 sec)\n",
"INFO:tensorflow:global_step/sec: 248.65\n",
"INFO:tensorflow:loss = 0.89231014, step = 2800 (0.402 sec)\n",
"INFO:tensorflow:global_step/sec: 280.563\n",
"INFO:tensorflow:loss = 0.8661715, step = 2900 (0.356 sec)\n",
"INFO:tensorflow:global_step/sec: 266.85\n",
"INFO:tensorflow:loss = 0.81542146, step = 3000 (0.375 sec)\n",
"INFO:tensorflow:global_step/sec: 229.643\n",
"INFO:tensorflow:loss = 0.8563138, step = 3100 (0.438 sec)\n",
"INFO:tensorflow:global_step/sec: 244.399\n",
"INFO:tensorflow:loss = 0.8735078, step = 3200 (0.409 sec)\n",
"INFO:tensorflow:global_step/sec: 242.47\n",
"INFO:tensorflow:loss = 0.8683739, step = 3300 (0.413 sec)\n",
"INFO:tensorflow:global_step/sec: 232.5\n",
"INFO:tensorflow:loss = 0.8472985, step = 3400 (0.427 sec)\n",
"INFO:tensorflow:global_step/sec: 226.233\n",
"INFO:tensorflow:loss = 0.87343466, step = 3500 (0.444 sec)\n",
"INFO:tensorflow:global_step/sec: 269.32\n",
"INFO:tensorflow:loss = 0.85702467, step = 3600 (0.369 sec)\n",
"INFO:tensorflow:global_step/sec: 261.341\n",
"INFO:tensorflow:loss = 0.8358938, step = 3700 (0.384 sec)\n",
"INFO:tensorflow:global_step/sec: 245.374\n",
"INFO:tensorflow:loss = 0.8531654, step = 3800 (0.408 sec)\n",
"INFO:tensorflow:global_step/sec: 248.555\n",
"INFO:tensorflow:loss = 0.7852638, step = 3900 (0.400 sec)\n",
"INFO:tensorflow:global_step/sec: 265.965\n",
"INFO:tensorflow:loss = 0.83140135, step = 4000 (0.376 sec)\n",
"INFO:tensorflow:global_step/sec: 232.174\n",
"INFO:tensorflow:loss = 0.8259213, step = 4100 (0.434 sec)\n",
"INFO:tensorflow:global_step/sec: 252.733\n",
"INFO:tensorflow:loss = 0.79384184, step = 4200 (0.393 sec)\n",
"INFO:tensorflow:global_step/sec: 255.484\n",
"INFO:tensorflow:loss = 0.8388997, step = 4300 (0.392 sec)\n",
"INFO:tensorflow:global_step/sec: 218.465\n",
"INFO:tensorflow:loss = 0.8048161, step = 4400 (0.457 sec)\n",
"INFO:tensorflow:global_step/sec: 241.297\n",
"INFO:tensorflow:loss = 0.78207016, step = 4500 (0.417 sec)\n",
"INFO:tensorflow:global_step/sec: 273.583\n",
"INFO:tensorflow:loss = 0.8330995, step = 4600 (0.366 sec)\n",
"INFO:tensorflow:global_step/sec: 262.881\n",
"INFO:tensorflow:loss = 0.7947687, step = 4700 (0.378 sec)\n",
"INFO:tensorflow:global_step/sec: 274.051\n",
"INFO:tensorflow:loss = 0.7906562, step = 4800 (0.365 sec)\n",
"INFO:tensorflow:global_step/sec: 252.292\n",
"INFO:tensorflow:loss = 0.72757155, step = 4900 (0.396 sec)\n",
"INFO:tensorflow:Calling checkpoint listeners before saving checkpoint 5000...\n",
"INFO:tensorflow:Saving checkpoints for 5000 into /tmp/tmp0vvjzk_a/model.ckpt.\n",
"INFO:tensorflow:Calling checkpoint listeners after saving checkpoint 5000...\n",
"INFO:tensorflow:Loss for final step: 0.78306377.\n"
],
"name": "stdout"
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<tensorflow_estimator.python.estimator.canned.dnn.DNNClassifierV2 at 0x7f7e89883630>"
]
},
"metadata": {
"tags": []
},
"execution_count": 72
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "VTd990G-3Afk",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 377
},
"outputId": "a99f9ed4-0f5d-4d32-ce53-81295d19695e"
},
"source": [
"eval_result = classifier.evaluate(\n",
" input_fn=lambda: input_fn(test, test_y, training=False))\n",
"\n",
"print('\\nTest set accuracy: {accuracy:0.3f}\\n'.format(**eval_result))"
],
"execution_count": 73,
"outputs": [
{
"output_type": "stream",
"text": [
"INFO:tensorflow:Calling model_fn.\n",
"WARNING:tensorflow:Layer dnn is casting an input tensor from dtype float64 to the layer's dtype of float32, which is new behavior in TensorFlow 2. The layer has dtype float32 because its dtype defaults to floatx.\n",
"\n",
"If you intended to run this layer in float32, you can safely ignore this warning. If in doubt, this warning is likely only an issue if you are porting a TensorFlow 1.X model to TensorFlow 2.\n",
"\n",
"To change all layers to have dtype float64 by default, call `tf.keras.backend.set_floatx('float64')`. To change just this layer, pass dtype='float64' to the layer constructor. If you are the author of this layer, you can disable autocasting by passing autocast=False to the base Layer constructor.\n",
"\n",
"INFO:tensorflow:Done calling model_fn.\n",
"INFO:tensorflow:Starting evaluation at 2020-08-28T17:41:46Z\n",
"INFO:tensorflow:Graph was finalized.\n",
"INFO:tensorflow:Restoring parameters from /tmp/tmp0vvjzk_a/model.ckpt-5000\n",
"INFO:tensorflow:Running local_init_op.\n",
"INFO:tensorflow:Done running local_init_op.\n",
"INFO:tensorflow:Inference Time : 0.25264s\n",
"INFO:tensorflow:Finished evaluation at 2020-08-28-17:41:46\n",
"INFO:tensorflow:Saving dict for global step 5000: accuracy = 0.6602452, average_loss = 0.77105147, global_step = 5000, loss = 0.770421\n",
"INFO:tensorflow:Saving 'checkpoint_path' summary for global step 5000: /tmp/tmp0vvjzk_a/model.ckpt-5000\n",
"\n",
"Test set accuracy: 0.660\n",
"\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "TNa7TDAvILnu",
"colab_type": "code",
"colab": {}
},
"source": [
"# készítsünk 5 darab random inputot\n",
"predict_x = {col: [random.uniform(0,1) for _ in range(5)] for col in df.columns if col!='resmax'}"
],
"execution_count": 74,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "mpRGbde1IRzs",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
},
"outputId": "63a00843-bd17-4d19-ed66-0b5f4e093b24"
},
"source": [
"# ellenőrzés:\n",
"predict_x"
],
"execution_count": 75,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"{'A': [0.26697782204911336,\n",
" 0.936654587712494,\n",
" 0.6480353852465935,\n",
" 0.6091310056669882,\n",
" 0.171138648198097],\n",
" 'AEXCL': [0.529114345099137,\n",
" 0.9710783776136181,\n",
" 0.8607797022344981,\n",
" 0.011481021942819636,\n",
" 0.7207218193601946],\n",
" 'AP': [0.7920793643629641,\n",
" 0.42215996679968404,\n",
" 0.06352770615195713,\n",
" 0.38161928650653676,\n",
" 0.9961213802400968],\n",
" 'AwayName': [0.22789827565154686,\n",
" 0.28938796360210717,\n",
" 0.0797919769236275,\n",
" 0.23279088636103018,\n",
" 0.10100142940972912],\n",
" 'CS': [0.5892656838759087,\n",
" 0.8094304566778266,\n",
" 0.006498759678061017,\n",
" 0.8058192518328079,\n",
" 0.6981393949882269],\n",
" 'FILE': [0.8763676264726689,\n",
" 0.3146778807984779,\n",
" 0.65543866529488,\n",
" 0.39563190106066426,\n",
" 0.9145475897405435],\n",
" 'H': [0.2779736031100921,\n",
" 0.6356844442644002,\n",
" 0.36483217897008424,\n",
" 0.37018096711688264,\n",
" 0.2095070307714877],\n",
" 'HomeName': [0.6185197523642461,\n",
" 0.8617069003107772,\n",
" 0.577352145256762,\n",
" 0.7045718362149235,\n",
" 0.045824383655662215],\n",
" 'MID': [0.026535969683863625,\n",
" 0.1988376506866485,\n",
" 0.6498844377795232,\n",
" 0.5449414806032167,\n",
" 0.2204406220406967],\n",
" 'Mth': [0.5095262936764645,\n",
" 0.09090941217379389,\n",
" 0.04711637542473457,\n",
" 0.10964913035065915,\n",
" 0.62744604170309],\n",
" 'O1': [0.7291267979503492,\n",
" 0.1634024937619284,\n",
" 0.3794554417576478,\n",
" 0.9895233506365952,\n",
" 0.6399997598540929],\n",
" 'O2': [0.03210024390403776,\n",
" 0.3154530480590819,\n",
" 0.26774087597570273,\n",
" 0.21098284358632646,\n",
" 0.9429097143350544],\n",
" 'OX': [0.5569497437746462,\n",
" 0.6846142509898746,\n",
" 0.8428519201898096,\n",
" 0.7759999115462448,\n",
" 0.22904807196410437],\n",
" 'Paperform': [0.5845859902235405,\n",
" 0.897822883602477,\n",
" 0.39940050514039727,\n",
" 0.21932075915728333,\n",
" 0.9975376064951103],\n",
" 'RTime': [0.3402505165179919,\n",
" 0.15547949981178155,\n",
" 0.9572130722067812,\n",
" 0.33659454511262676,\n",
" 0.09274584338014791],\n",
" 'ST': [0.6817103690265748,\n",
" 0.5369703304087952,\n",
" 0.2668251899525428,\n",
" 0.6409617985798081,\n",
" 0.11155217359587644],\n",
" 'TID': [0.09671637683346401,\n",
" 0.8474943663474598,\n",
" 0.6037260313668911,\n",
" 0.8071282732743802,\n",
" 0.7297317866938179],\n",
" 'Tournament': [0.5362280914547007,\n",
" 0.9731157639793706,\n",
" 0.3785343772083535,\n",
" 0.552040631273227,\n",
" 0.8294046642529949],\n",
" 'WinMinMax': [0.4588518525873988,\n",
" 0.26488016649805246,\n",
" 0.24662750769398345,\n",
" 0.5613681341631508,\n",
" 0.26274160852293527],\n",
" 'mEXCL': [0.2650566289400591,\n",
" 0.8724330410852574,\n",
" 0.4231379402008869,\n",
" 0.21179820544208205,\n",
" 0.5392960887794583],\n",
" 'mP': [0.7606021652572316,\n",
" 0.7658344293069878,\n",
" 0.1283914644997628,\n",
" 0.4752823780987313,\n",
" 0.5498035934949439],\n",
" 'res_.': [0.7786264786305582,\n",
" 0.5303536721951775,\n",
" 0.0005718961279435053,\n",
" 0.3241560570046731,\n",
" 0.019476742385832302],\n",
" 'res_EXCL': [0.9290986162646171,\n",
" 0.8787218778231842,\n",
" 0.8316655293611794,\n",
" 0.30751412540266143,\n",
" 0.05792516649418755],\n",
" 'res_p': [0.6389494948660052,\n",
" 0.6089702114381723,\n",
" 0.1528392685496348,\n",
" 0.7625108000751513,\n",
" 0.5393790301196257],\n",
" 'sEXCL': [0.5005861130502983,\n",
" 0.17865188053013137,\n",
" 0.9126278393448205,\n",
" 0.8705185698367669,\n",
" 0.2984447914486329],\n",
" 'sP': [0.434765250669105,\n",
" 0.45372370632920644,\n",
" 0.9538159275210801,\n",
" 0.8758529403781941,\n",
" 0.26338905075109076],\n",
" 'size': [0.8780095992040405,\n",
" 0.9469494452979941,\n",
" 0.08565345206787878,\n",
" 0.4859904633166138,\n",
" 0.06921251846838361]}"
]
},
"metadata": {
"tags": []
},
"execution_count": 75
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "W7-Q5qYyIkrK",
"colab_type": "code",
"colab": {}
},
"source": [
"# ezeknek a random inputoknak gyársunk random label-eket is:\n",
"expected = [random.choice(OUTCOMES) for _ in range(5)]"
],
"execution_count": 76,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "28VWBQu24cpG",
"colab_type": "code",
"colab": {}
},
"source": [
"def input_fn(features, batch_size=256):\n",
" \"\"\"An input function for prediction.\"\"\"\n",
" # Convert the inputs to a Dataset without labels.\n",
" return tf.data.Dataset.from_tensor_slices(dict(features)).batch(batch_size)\n",
"\n",
"predictions = classifier.predict(\n",
" input_fn=lambda: input_fn(predict_x))"
],
"execution_count": 77,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "9TynsHROGyb5",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 204
},
"outputId": "cc30d6cf-04bd-4523-e843-ae1e4b9a3323"
},
"source": [
"for pred_dict, expec in zip(predictions, expected):\n",
" class_id = pred_dict['class_ids'][0]\n",
" probability = pred_dict['probabilities'][class_id]\n",
"\n",
" print('Prediction is \"{}\" ({:.1f}%), expected \"{}\"'.format(\n",
" OUTCOMES[class_id], 100 * probability, expec))"
],
"execution_count": 78,
"outputs": [
{
"output_type": "stream",
"text": [
"INFO:tensorflow:Calling model_fn.\n",
"INFO:tensorflow:Done calling model_fn.\n",
"INFO:tensorflow:Graph was finalized.\n",
"INFO:tensorflow:Restoring parameters from /tmp/tmp0vvjzk_a/model.ckpt-5000\n",
"INFO:tensorflow:Running local_init_op.\n",
"INFO:tensorflow:Done running local_init_op.\n",
"Prediction is \"res_.\" (37.6%), expected \"res_EXCL\"\n",
"Prediction is \"res_.\" (36.1%), expected \"res_EXCL\"\n",
"Prediction is \"res_.\" (51.2%), expected \"res_p\"\n",
"Prediction is \"res_.\" (54.0%), expected \"res_EXCL\"\n",
"Prediction is \"res_.\" (41.8%), expected \"res_.\"\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "v4NGtH_mG2XY",
"colab_type": "code",
"colab": {}
},
"source": [
"# ^^^^ Ekkora valószínűségekre mondja a random inputok klasszifikálásának helyességét.\n",
"# Annak örülhetönk, hogy nagyon nem biztos a dologban (nem 90%+os):\n",
"# furcsa lenne, ha a random generált adatból biztosan tudna mondani eredményt\n",
"# A predict_x-be kell valós adatot tenni, ha igazi előrejelzást szeretnénk csinálni\n",
"# Persze ugyanolyan preprocessinget kell az adatra tenni mint amit a train-elt adatra csináltunk:\n",
"# kategorizálás, normalizálás)"
],
"execution_count": 80,
"outputs": []
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment