Files
cryptokitties_genetics/predict_genetics.ipynb
T
2017-12-09 13:19:04 +08:00

4627 lines
251 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"cells": [
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-08T22:54:34.163725Z",
"start_time": "2017-12-08T22:54:34.152727Z"
},
"collapsed": true
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import numpy as np\n",
"from matplotlib import pyplot as plt\n",
"import pandas as pd\n",
"import json\n",
"from tqdm import tqdm\n",
"import os\n",
"\n",
"import datetime\n",
"import arrow\n",
"import time"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Load data\n",
"\n",
"See the scraping notebook for data but sales come from https://kittysales.herokuapp.com, genetics come from data on the etherium contract"
]
},
{
"cell_type": "markdown",
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-09T03:13:36.149228Z",
"start_time": "2017-12-09T03:13:36.145752Z"
}
},
"source": [
"## Load sales data"
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-08T23:06:25.400208Z",
"start_time": "2017-12-08T23:06:24.931991Z"
},
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"{'blockNumber': 4688676,\n",
" 'blocktimeStamp': 1512617298,\n",
" 'id': 'log_9357a0df',\n",
" 'rank': 1,\n",
" 'returnValues': {'0': '18',\n",
" '1': '253336776620370370370',\n",
" '2': '0xA6d3fdf423BbC578dd4d41220078475371626B22'},\n",
" 'soldPrice': 115197.04572803818}"
]
},
"execution_count": 58,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sales_data_file = '.cache/sales.json'\n",
"sales = json.load(open(sales_data_file))\n",
"len(sales)\n",
"sales['sales'][0]"
]
},
{
"cell_type": "code",
"execution_count": 129,
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-09T00:12:33.116720Z",
"start_time": "2017-12-09T00:12:32.499699Z"
},
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>sold_price_usd</th>\n",
" <th>date</th>\n",
" <th>kitty_id</th>\n",
" <th>price_eth</th>\n",
" </tr>\n",
" <tr>\n",
" <th>kitty_id</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>1.151970e+05</td>\n",
" <td>2017-12-07 11:28:18</td>\n",
" <td>18</td>\n",
" <td>2.533368e+02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1.123156e+05</td>\n",
" <td>2017-12-07 03:41:57</td>\n",
" <td>4</td>\n",
" <td>2.470000e+02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1.144816e+05</td>\n",
" <td>2017-12-03 04:32:36</td>\n",
" <td>1</td>\n",
" <td>2.469255e+02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>1.080061e+05</td>\n",
" <td>2017-12-08 17:31:03</td>\n",
" <td>21</td>\n",
" <td>2.375228e+02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>1.023118e+05</td>\n",
" <td>2017-12-08 17:34:36</td>\n",
" <td>22</td>\n",
" <td>2.250000e+02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>1.016005e+05</td>\n",
" <td>2017-12-06 00:45:01</td>\n",
" <td>5</td>\n",
" <td>2.220000e+02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>8.767734e+04</td>\n",
" <td>2017-12-05 03:45:47</td>\n",
" <td>7</td>\n",
" <td>1.900468e+02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35</th>\n",
" <td>8.500053e+04</td>\n",
" <td>2017-12-06 15:18:02</td>\n",
" <td>35</td>\n",
" <td>1.888897e+02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>87</th>\n",
" <td>8.142809e+04</td>\n",
" <td>2017-12-07 02:11:42</td>\n",
" <td>87</td>\n",
" <td>1.790734e+02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>101</th>\n",
" <td>8.199325e+04</td>\n",
" <td>2017-12-04 11:28:49</td>\n",
" <td>101</td>\n",
" <td>1.757532e+02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>7.792517e+04</td>\n",
" <td>2017-12-06 00:28:28</td>\n",
" <td>30</td>\n",
" <td>1.686849e+02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>78</th>\n",
" <td>7.349530e+04</td>\n",
" <td>2017-12-05 14:49:17</td>\n",
" <td>78</td>\n",
" <td>1.568700e+02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>7.048144e+04</td>\n",
" <td>2017-12-07 05:59:58</td>\n",
" <td>14</td>\n",
" <td>1.550000e+02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>6.930015e+04</td>\n",
" <td>2017-12-06 10:37:44</td>\n",
" <td>18</td>\n",
" <td>1.540000e+02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>6.930015e+04</td>\n",
" <td>2017-12-06 10:19:43</td>\n",
" <td>19</td>\n",
" <td>1.540000e+02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>102</th>\n",
" <td>6.982621e+04</td>\n",
" <td>2017-12-08 16:18:33</td>\n",
" <td>102</td>\n",
" <td>1.535590e+02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>7.016610e+04</td>\n",
" <td>2017-12-04 09:16:36</td>\n",
" <td>2</td>\n",
" <td>1.500000e+02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>37</th>\n",
" <td>6.772737e+04</td>\n",
" <td>2017-12-05 16:14:40</td>\n",
" <td>37</td>\n",
" <td>1.432795e+02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>6.293852e+04</td>\n",
" <td>2017-12-05 15:07:48</td>\n",
" <td>23</td>\n",
" <td>1.338756e+02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>38</th>\n",
" <td>6.033274e+04</td>\n",
" <td>2017-12-05 20:59:48</td>\n",
" <td>38</td>\n",
" <td>1.300000e+02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>102</th>\n",
" <td>5.991045e+04</td>\n",
" <td>2017-12-04 11:43:16</td>\n",
" <td>102</td>\n",
" <td>1.284185e+02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>93</th>\n",
" <td>5.671367e+04</td>\n",
" <td>2017-12-06 15:26:53</td>\n",
" <td>93</td>\n",
" <td>1.260301e+02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>52</th>\n",
" <td>5.657864e+04</td>\n",
" <td>2017-12-06 14:01:35</td>\n",
" <td>52</td>\n",
" <td>1.257300e+02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>62</th>\n",
" <td>5.203606e+04</td>\n",
" <td>2017-12-06 15:23:07</td>\n",
" <td>62</td>\n",
" <td>1.156354e+02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>40</th>\n",
" <td>5.229268e+04</td>\n",
" <td>2017-12-07 13:51:53</td>\n",
" <td>40</td>\n",
" <td>1.150000e+02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>43</th>\n",
" <td>4.501718e+04</td>\n",
" <td>2017-12-07 23:51:39</td>\n",
" <td>43</td>\n",
" <td>9.900000e+01</td>\n",
" </tr>\n",
" <tr>\n",
" <th>55</th>\n",
" <td>4.461293e+04</td>\n",
" <td>2017-12-07 12:20:39</td>\n",
" <td>55</td>\n",
" <td>9.811100e+01</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>4.335030e+04</td>\n",
" <td>2017-12-07 21:27:04</td>\n",
" <td>27</td>\n",
" <td>9.533427e+01</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>4.450235e+04</td>\n",
" <td>2017-12-05 05:47:30</td>\n",
" <td>31</td>\n",
" <td>9.526291e+01</td>\n",
" </tr>\n",
" <tr>\n",
" <th>40</th>\n",
" <td>4.251421e+04</td>\n",
" <td>2017-12-08 18:02:20</td>\n",
" <td>40</td>\n",
" <td>9.349556e+01</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3464</th>\n",
" <td>4.130450e-01</td>\n",
" <td>2017-11-24 13:31:30</td>\n",
" <td>3464</td>\n",
" <td>1.000000e-03</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4391</th>\n",
" <td>4.661040e-01</td>\n",
" <td>2017-11-25 12:22:40</td>\n",
" <td>4391</td>\n",
" <td>1.000000e-03</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6067</th>\n",
" <td>4.601970e-01</td>\n",
" <td>2017-11-26 11:11:44</td>\n",
" <td>6067</td>\n",
" <td>1.000000e-03</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3629</th>\n",
" <td>4.733770e-01</td>\n",
" <td>2017-11-27 11:13:18</td>\n",
" <td>3629</td>\n",
" <td>1.000000e-03</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6112</th>\n",
" <td>4.932540e-01</td>\n",
" <td>2017-11-27 14:11:17</td>\n",
" <td>6112</td>\n",
" <td>1.000000e-03</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8311</th>\n",
" <td>4.803550e-01</td>\n",
" <td>2017-11-28 07:53:38</td>\n",
" <td>8311</td>\n",
" <td>1.000000e-03</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8882</th>\n",
" <td>4.815180e-01</td>\n",
" <td>2017-11-28 14:11:43</td>\n",
" <td>8882</td>\n",
" <td>1.000000e-03</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9110</th>\n",
" <td>4.815180e-01</td>\n",
" <td>2017-11-28 14:12:43</td>\n",
" <td>9110</td>\n",
" <td>1.000000e-03</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6853</th>\n",
" <td>4.886860e-01</td>\n",
" <td>2017-11-29 10:00:49</td>\n",
" <td>6853</td>\n",
" <td>1.000000e-03</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9199</th>\n",
" <td>4.886860e-01</td>\n",
" <td>2017-11-29 10:06:22</td>\n",
" <td>9199</td>\n",
" <td>1.000000e-03</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7946</th>\n",
" <td>4.886860e-01</td>\n",
" <td>2017-11-29 10:19:55</td>\n",
" <td>7946</td>\n",
" <td>1.000000e-03</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4137</th>\n",
" <td>4.842060e-01</td>\n",
" <td>2017-11-29 11:12:36</td>\n",
" <td>4137</td>\n",
" <td>1.000000e-03</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8296</th>\n",
" <td>4.842060e-01</td>\n",
" <td>2017-11-29 11:15:34</td>\n",
" <td>8296</td>\n",
" <td>1.000000e-03</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11172</th>\n",
" <td>4.611260e-01</td>\n",
" <td>2017-11-30 09:38:46</td>\n",
" <td>11172</td>\n",
" <td>1.000000e-03</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13314</th>\n",
" <td>4.342620e-01</td>\n",
" <td>2017-11-30 20:23:40</td>\n",
" <td>13314</td>\n",
" <td>1.000000e-03</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13771</th>\n",
" <td>4.715570e-01</td>\n",
" <td>2017-12-02 05:52:01</td>\n",
" <td>13771</td>\n",
" <td>1.000000e-03</td>\n",
" </tr>\n",
" <tr>\n",
" <th>54364</th>\n",
" <td>4.547190e-01</td>\n",
" <td>2017-12-07 02:45:38</td>\n",
" <td>54364</td>\n",
" <td>1.000000e-03</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7545</th>\n",
" <td>4.471072e-01</td>\n",
" <td>2017-12-01 07:20:59</td>\n",
" <td>7545</td>\n",
" <td>9.999847e-04</td>\n",
" </tr>\n",
" <tr>\n",
" <th>113539</th>\n",
" <td>1.684144e-02</td>\n",
" <td>2017-12-07 22:52:26</td>\n",
" <td>113539</td>\n",
" <td>3.703704e-05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>113534</th>\n",
" <td>1.294686e-02</td>\n",
" <td>2017-12-07 22:23:15</td>\n",
" <td>113534</td>\n",
" <td>2.847222e-05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>109415</th>\n",
" <td>8.947017e-03</td>\n",
" <td>2017-12-07 04:45:23</td>\n",
" <td>109415</td>\n",
" <td>1.967593e-05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>86900</th>\n",
" <td>7.916684e-03</td>\n",
" <td>2017-12-06 11:46:53</td>\n",
" <td>86900</td>\n",
" <td>1.759259e-05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>43283</th>\n",
" <td>5.618865e-03</td>\n",
" <td>2017-12-06 05:03:29</td>\n",
" <td>43283</td>\n",
" <td>1.203704e-05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>41574</th>\n",
" <td>5.365162e-03</td>\n",
" <td>2017-12-05 23:11:30</td>\n",
" <td>41574</td>\n",
" <td>1.157407e-05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30173</th>\n",
" <td>4.558781e-03</td>\n",
" <td>2017-12-04 07:13:30</td>\n",
" <td>30173</td>\n",
" <td>9.785880e-06</td>\n",
" </tr>\n",
" <tr>\n",
" <th>91591</th>\n",
" <td>3.526177e-03</td>\n",
" <td>2017-12-07 14:02:35</td>\n",
" <td>91591</td>\n",
" <td>7.754630e-06</td>\n",
" </tr>\n",
" <tr>\n",
" <th>136018</th>\n",
" <td>1.539413e-03</td>\n",
" <td>2017-12-08 05:03:21</td>\n",
" <td>136018</td>\n",
" <td>3.385417e-06</td>\n",
" </tr>\n",
" <tr>\n",
" <th>127036</th>\n",
" <td>3.947214e-04</td>\n",
" <td>2017-12-08 00:26:49</td>\n",
" <td>127036</td>\n",
" <td>8.680556e-07</td>\n",
" </tr>\n",
" <tr>\n",
" <th>111960</th>\n",
" <td>3.157771e-04</td>\n",
" <td>2017-12-08 11:45:07</td>\n",
" <td>111960</td>\n",
" <td>6.944444e-07</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45652</th>\n",
" <td>1.023946e-13</td>\n",
" <td>2017-12-06 01:29:05</td>\n",
" <td>45652</td>\n",
" <td>2.220000e-16</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>78124 rows × 4 columns</p>\n",
"</div>"
],
"text/plain": [
" sold_price_usd date kitty_id price_eth\n",
"kitty_id \n",
"18 1.151970e+05 2017-12-07 11:28:18 18 2.533368e+02\n",
"4 1.123156e+05 2017-12-07 03:41:57 4 2.470000e+02\n",
"1 1.144816e+05 2017-12-03 04:32:36 1 2.469255e+02\n",
"21 1.080061e+05 2017-12-08 17:31:03 21 2.375228e+02\n",
"22 1.023118e+05 2017-12-08 17:34:36 22 2.250000e+02\n",
"5 1.016005e+05 2017-12-06 00:45:01 5 2.220000e+02\n",
"7 8.767734e+04 2017-12-05 03:45:47 7 1.900468e+02\n",
"35 8.500053e+04 2017-12-06 15:18:02 35 1.888897e+02\n",
"87 8.142809e+04 2017-12-07 02:11:42 87 1.790734e+02\n",
"101 8.199325e+04 2017-12-04 11:28:49 101 1.757532e+02\n",
"30 7.792517e+04 2017-12-06 00:28:28 30 1.686849e+02\n",
"78 7.349530e+04 2017-12-05 14:49:17 78 1.568700e+02\n",
"14 7.048144e+04 2017-12-07 05:59:58 14 1.550000e+02\n",
"18 6.930015e+04 2017-12-06 10:37:44 18 1.540000e+02\n",
"19 6.930015e+04 2017-12-06 10:19:43 19 1.540000e+02\n",
"102 6.982621e+04 2017-12-08 16:18:33 102 1.535590e+02\n",
"2 7.016610e+04 2017-12-04 09:16:36 2 1.500000e+02\n",
"37 6.772737e+04 2017-12-05 16:14:40 37 1.432795e+02\n",
"23 6.293852e+04 2017-12-05 15:07:48 23 1.338756e+02\n",
"38 6.033274e+04 2017-12-05 20:59:48 38 1.300000e+02\n",
"102 5.991045e+04 2017-12-04 11:43:16 102 1.284185e+02\n",
"93 5.671367e+04 2017-12-06 15:26:53 93 1.260301e+02\n",
"52 5.657864e+04 2017-12-06 14:01:35 52 1.257300e+02\n",
"62 5.203606e+04 2017-12-06 15:23:07 62 1.156354e+02\n",
"40 5.229268e+04 2017-12-07 13:51:53 40 1.150000e+02\n",
"43 4.501718e+04 2017-12-07 23:51:39 43 9.900000e+01\n",
"55 4.461293e+04 2017-12-07 12:20:39 55 9.811100e+01\n",
"27 4.335030e+04 2017-12-07 21:27:04 27 9.533427e+01\n",
"31 4.450235e+04 2017-12-05 05:47:30 31 9.526291e+01\n",
"40 4.251421e+04 2017-12-08 18:02:20 40 9.349556e+01\n",
"... ... ... ... ...\n",
"3464 4.130450e-01 2017-11-24 13:31:30 3464 1.000000e-03\n",
"4391 4.661040e-01 2017-11-25 12:22:40 4391 1.000000e-03\n",
"6067 4.601970e-01 2017-11-26 11:11:44 6067 1.000000e-03\n",
"3629 4.733770e-01 2017-11-27 11:13:18 3629 1.000000e-03\n",
"6112 4.932540e-01 2017-11-27 14:11:17 6112 1.000000e-03\n",
"8311 4.803550e-01 2017-11-28 07:53:38 8311 1.000000e-03\n",
"8882 4.815180e-01 2017-11-28 14:11:43 8882 1.000000e-03\n",
"9110 4.815180e-01 2017-11-28 14:12:43 9110 1.000000e-03\n",
"6853 4.886860e-01 2017-11-29 10:00:49 6853 1.000000e-03\n",
"9199 4.886860e-01 2017-11-29 10:06:22 9199 1.000000e-03\n",
"7946 4.886860e-01 2017-11-29 10:19:55 7946 1.000000e-03\n",
"4137 4.842060e-01 2017-11-29 11:12:36 4137 1.000000e-03\n",
"8296 4.842060e-01 2017-11-29 11:15:34 8296 1.000000e-03\n",
"11172 4.611260e-01 2017-11-30 09:38:46 11172 1.000000e-03\n",
"13314 4.342620e-01 2017-11-30 20:23:40 13314 1.000000e-03\n",
"13771 4.715570e-01 2017-12-02 05:52:01 13771 1.000000e-03\n",
"54364 4.547190e-01 2017-12-07 02:45:38 54364 1.000000e-03\n",
"7545 4.471072e-01 2017-12-01 07:20:59 7545 9.999847e-04\n",
"113539 1.684144e-02 2017-12-07 22:52:26 113539 3.703704e-05\n",
"113534 1.294686e-02 2017-12-07 22:23:15 113534 2.847222e-05\n",
"109415 8.947017e-03 2017-12-07 04:45:23 109415 1.967593e-05\n",
"86900 7.916684e-03 2017-12-06 11:46:53 86900 1.759259e-05\n",
"43283 5.618865e-03 2017-12-06 05:03:29 43283 1.203704e-05\n",
"41574 5.365162e-03 2017-12-05 23:11:30 41574 1.157407e-05\n",
"30173 4.558781e-03 2017-12-04 07:13:30 30173 9.785880e-06\n",
"91591 3.526177e-03 2017-12-07 14:02:35 91591 7.754630e-06\n",
"136018 1.539413e-03 2017-12-08 05:03:21 136018 3.385417e-06\n",
"127036 3.947214e-04 2017-12-08 00:26:49 127036 8.680556e-07\n",
"111960 3.157771e-04 2017-12-08 11:45:07 111960 6.944444e-07\n",
"45652 1.023946e-13 2017-12-06 01:29:05 45652 2.220000e-16\n",
"\n",
"[78124 rows x 4 columns]"
]
},
"execution_count": 129,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# convert to dataframe\n",
"df = pd.DataFrame(sales['sales'])\n",
"\n",
"# convert to pandas timestamp\n",
"datetimes = df['blocktimeStamp'].apply(datetime.datetime.fromtimestamp)\n",
"df['date'] = pd.to_datetime(datetimes)\n",
"\n",
"# grab some of the fields under return values for the dataframe\n",
"df2=pd.DataFrame.from_records(df['returnValues'].values)\n",
"df2.columns=['kitty_id','price_18eth','address']\n",
"df2['price_eth']=df2['price_18eth'].apply(lambda x:float(x)*1e-18)\n",
"df2['kitty_id'] = pd.to_numeric(df2['kitty_id'])\n",
"for col in ['kitty_id','price_eth']:\n",
" df[col] = df2[col]\n",
" \n",
"# rename cols\n",
"df['soldPrice'] = df['soldPrice'].rename('soldPrice_USD')\n",
"df = df.rename(columns={\"soldPrice\":\"sold_price_usd\"})\n",
"df.index = df['kitty_id']\n",
"\n",
"# drop uneeded columns\n",
"df = df.drop(['id', 'blockNumber', 'rank', 'returnValues', 'blocktimeStamp'], axis=1)\n",
"df_sales = df\n",
"df_sales"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Load genetic data"
]
},
{
"cell_type": "code",
"execution_count": 109,
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-09T00:07:43.349887Z",
"start_time": "2017-12-09T00:07:43.048072Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"43488"
]
},
"execution_count": 109,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"genetics_file = '.cache/genes.json'\n",
"genetics = json.load(open(genetics_file))\n",
"len(genetics)"
]
},
{
"cell_type": "code",
"execution_count": 496,
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-09T01:49:06.810924Z",
"start_time": "2017-12-09T01:49:03.676050Z"
},
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>birth_time</th>\n",
" <th>matron_id</th>\n",
" <th>sire_id</th>\n",
" <th>generation</th>\n",
" <th>genes</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1511417999</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>6268376211548016160889809226598771686091543863...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1511417999</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>6233328247424174420738016520205540105237269755...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1511417999</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>5163523354162354170567022901547386224918079227...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1511417999</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>6268375141947334719316716288420757560178523965...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>1511417999</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>6233328806923846998926376260807366625937483650...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>1511417999</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>4613035485150908523120757036068930199538348135...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>1511417999</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>6233277698034429017103950567765524970954426879...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>1511418008</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>4559620020693848583707206074171681675830775819...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>1511418035</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>6233833779874278041852346338088492342734244547...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>1511418044</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>5163523337171367126011753839819537067276020035...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>1511418044</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>4611367880921070440157963212743285505842704654...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>1511418044</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>4578493054511227949035857584594486760104829763...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>1511418112</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>4560159221201941276348499729156645386396250750...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>1511418116</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>5129554889428984613286854531398112217255378602...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>1511418116</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>4613035452223835287331024509742580987888675330...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>1511418116</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>6233833252284378338724434974413836525523562295...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>1511418116</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>6269404553147363984118345854639337024260173607...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>1511418116</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>4560192904665667822832111046880560033060704840...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>1511418116</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>5129049373951532651003023567579923289793462567...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>1511418149</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>6269421452513848782205821543180235199856079283...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>1511418149</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>6216023906598010121394201352319905816623933883...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>1511418149</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>5129538055862746223357733958711974998244902552...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>1511418239</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>4613002328763362082249999317894476883917193731...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>1511418239</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>6233866409217284196160692456666556233901127417...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>1511418239</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>6216073403359021113389331319842603070273775510...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>1511418239</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>4611367355436383673714579266113856136150479633...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>1511418239</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>5112332628896149655482179525762049643336261414...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>1511418239</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>6234945333635884915515939895611296479031266622...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>1511418239</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>5111793972432994898422441895738492541345210887...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>1511418239</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>5164095758889984122005573356320380613355077493...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45615</th>\n",
" <td>1512333845</td>\n",
" <td>16747</td>\n",
" <td>8707</td>\n",
" <td>15</td>\n",
" <td>6269453578415381943516255760284043326213056811...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45616</th>\n",
" <td>1512333853</td>\n",
" <td>16752</td>\n",
" <td>14356</td>\n",
" <td>16</td>\n",
" <td>6274256848369521403290224743805255098953710821...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45617</th>\n",
" <td>1512333853</td>\n",
" <td>16759</td>\n",
" <td>10781</td>\n",
" <td>18</td>\n",
" <td>6216579413460865674109906598893983985233123945...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45618</th>\n",
" <td>1512333853</td>\n",
" <td>16779</td>\n",
" <td>3129</td>\n",
" <td>15</td>\n",
" <td>5113411010303687998100933201783764826643580312...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45619</th>\n",
" <td>1512333870</td>\n",
" <td>16785</td>\n",
" <td>26791</td>\n",
" <td>7</td>\n",
" <td>5163523370084392770969021128124236334163811383...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45620</th>\n",
" <td>1512333903</td>\n",
" <td>16812</td>\n",
" <td>30917</td>\n",
" <td>8</td>\n",
" <td>1125665612349183931157596564365780411787821413...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45621</th>\n",
" <td>1512333941</td>\n",
" <td>16838</td>\n",
" <td>21772</td>\n",
" <td>20</td>\n",
" <td>5129015690991404686765294140461041275344784455...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45622</th>\n",
" <td>1512333943</td>\n",
" <td>16881</td>\n",
" <td>22417</td>\n",
" <td>9</td>\n",
" <td>6233884335447604873748743543094761863725880936...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45623</th>\n",
" <td>1512334078</td>\n",
" <td>16889</td>\n",
" <td>14801</td>\n",
" <td>17</td>\n",
" <td>4559621634831099400769715992700498680286764411...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45624</th>\n",
" <td>1512334078</td>\n",
" <td>16906</td>\n",
" <td>22726</td>\n",
" <td>17</td>\n",
" <td>5164063062683703662909948084918540684004499716...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45625</th>\n",
" <td>1512334078</td>\n",
" <td>17005</td>\n",
" <td>40401</td>\n",
" <td>18</td>\n",
" <td>4576909156825801026091186298516853686702166042...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45626</th>\n",
" <td>1512334078</td>\n",
" <td>17007</td>\n",
" <td>18698</td>\n",
" <td>5</td>\n",
" <td>5112283131601826856222393066936544803756918176...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45627</th>\n",
" <td>1512334078</td>\n",
" <td>17014</td>\n",
" <td>4026</td>\n",
" <td>16</td>\n",
" <td>5128997229134311199621080030231934548551440779...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45628</th>\n",
" <td>1512334078</td>\n",
" <td>17048</td>\n",
" <td>11538</td>\n",
" <td>2</td>\n",
" <td>5130683853628148456670481052173151647647645194...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45629</th>\n",
" <td>1512334078</td>\n",
" <td>17187</td>\n",
" <td>17460</td>\n",
" <td>17</td>\n",
" <td>5164095741922126726071764639350042066763227222...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45630</th>\n",
" <td>1512334078</td>\n",
" <td>17189</td>\n",
" <td>30399</td>\n",
" <td>11</td>\n",
" <td>6267785376692115586123185654357364764310432318...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45631</th>\n",
" <td>1512334078</td>\n",
" <td>17207</td>\n",
" <td>21691</td>\n",
" <td>11</td>\n",
" <td>5112283148576568425285464734611270849724426078...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45632</th>\n",
" <td>1512334078</td>\n",
" <td>17228</td>\n",
" <td>30507</td>\n",
" <td>6</td>\n",
" <td>6785467971343760798530560564557499310539827456...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45633</th>\n",
" <td>1512334078</td>\n",
" <td>17231</td>\n",
" <td>28310</td>\n",
" <td>15</td>\n",
" <td>6429545616359495633152585752099073668690663239...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45634</th>\n",
" <td>1512334078</td>\n",
" <td>17241</td>\n",
" <td>18605</td>\n",
" <td>19</td>\n",
" <td>4611418102266473210778517038652661250506831269...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45635</th>\n",
" <td>1512334078</td>\n",
" <td>17249</td>\n",
" <td>16165</td>\n",
" <td>17</td>\n",
" <td>5112282587556835590741740255473440867729208112...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45636</th>\n",
" <td>1512334078</td>\n",
" <td>17250</td>\n",
" <td>14644</td>\n",
" <td>17</td>\n",
" <td>5320430242218365032649964898064686653005504838...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45637</th>\n",
" <td>1512334078</td>\n",
" <td>17332</td>\n",
" <td>11538</td>\n",
" <td>2</td>\n",
" <td>5129587503499545887800398241586485522317051291...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45638</th>\n",
" <td>1512334078</td>\n",
" <td>17358</td>\n",
" <td>26820</td>\n",
" <td>9</td>\n",
" <td>6234018569512224369657786035770197463952746524...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45639</th>\n",
" <td>1512334078</td>\n",
" <td>17397</td>\n",
" <td>21492</td>\n",
" <td>14</td>\n",
" <td>4576874896703348387734864012261754610135465392...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45640</th>\n",
" <td>1512334078</td>\n",
" <td>17442</td>\n",
" <td>22869</td>\n",
" <td>5</td>\n",
" <td>4611906011319878245491527305060291690203662556...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45641</th>\n",
" <td>1512334078</td>\n",
" <td>17456</td>\n",
" <td>42818</td>\n",
" <td>14</td>\n",
" <td>6268376743958601894923265566941986372723849946...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45642</th>\n",
" <td>1512334088</td>\n",
" <td>17495</td>\n",
" <td>28301</td>\n",
" <td>19</td>\n",
" <td>4768274754087843061098657370537325266142097512...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45643</th>\n",
" <td>1512334088</td>\n",
" <td>17523</td>\n",
" <td>17920</td>\n",
" <td>12</td>\n",
" <td>4559604750943350203969277452538726732270344691...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45644</th>\n",
" <td>1512334088</td>\n",
" <td>17553</td>\n",
" <td>34876</td>\n",
" <td>19</td>\n",
" <td>5165140456826221028155736310509814307546921341...</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>43468 rows × 5 columns</p>\n",
"</div>"
],
"text/plain": [
" birth_time matron_id sire_id generation \\\n",
"1 1511417999 0 0 0 \n",
"2 1511417999 0 0 0 \n",
"3 1511417999 0 0 0 \n",
"4 1511417999 0 0 0 \n",
"5 1511417999 0 0 0 \n",
"6 1511417999 0 0 0 \n",
"7 1511417999 0 0 0 \n",
"8 1511418008 0 0 0 \n",
"9 1511418035 0 0 0 \n",
"10 1511418044 0 0 0 \n",
"11 1511418044 0 0 0 \n",
"12 1511418044 0 0 0 \n",
"13 1511418112 0 0 0 \n",
"14 1511418116 0 0 0 \n",
"15 1511418116 0 0 0 \n",
"16 1511418116 0 0 0 \n",
"17 1511418116 0 0 0 \n",
"18 1511418116 0 0 0 \n",
"19 1511418116 0 0 0 \n",
"20 1511418149 0 0 0 \n",
"21 1511418149 0 0 0 \n",
"22 1511418149 0 0 0 \n",
"23 1511418239 0 0 0 \n",
"24 1511418239 0 0 0 \n",
"25 1511418239 0 0 0 \n",
"26 1511418239 0 0 0 \n",
"27 1511418239 0 0 0 \n",
"28 1511418239 0 0 0 \n",
"29 1511418239 0 0 0 \n",
"30 1511418239 0 0 0 \n",
"... ... ... ... ... \n",
"45615 1512333845 16747 8707 15 \n",
"45616 1512333853 16752 14356 16 \n",
"45617 1512333853 16759 10781 18 \n",
"45618 1512333853 16779 3129 15 \n",
"45619 1512333870 16785 26791 7 \n",
"45620 1512333903 16812 30917 8 \n",
"45621 1512333941 16838 21772 20 \n",
"45622 1512333943 16881 22417 9 \n",
"45623 1512334078 16889 14801 17 \n",
"45624 1512334078 16906 22726 17 \n",
"45625 1512334078 17005 40401 18 \n",
"45626 1512334078 17007 18698 5 \n",
"45627 1512334078 17014 4026 16 \n",
"45628 1512334078 17048 11538 2 \n",
"45629 1512334078 17187 17460 17 \n",
"45630 1512334078 17189 30399 11 \n",
"45631 1512334078 17207 21691 11 \n",
"45632 1512334078 17228 30507 6 \n",
"45633 1512334078 17231 28310 15 \n",
"45634 1512334078 17241 18605 19 \n",
"45635 1512334078 17249 16165 17 \n",
"45636 1512334078 17250 14644 17 \n",
"45637 1512334078 17332 11538 2 \n",
"45638 1512334078 17358 26820 9 \n",
"45639 1512334078 17397 21492 14 \n",
"45640 1512334078 17442 22869 5 \n",
"45641 1512334078 17456 42818 14 \n",
"45642 1512334088 17495 28301 19 \n",
"45643 1512334088 17523 17920 12 \n",
"45644 1512334088 17553 34876 19 \n",
"\n",
" genes \n",
"1 6268376211548016160889809226598771686091543863... \n",
"2 6233328247424174420738016520205540105237269755... \n",
"3 5163523354162354170567022901547386224918079227... \n",
"4 6268375141947334719316716288420757560178523965... \n",
"5 6233328806923846998926376260807366625937483650... \n",
"6 4613035485150908523120757036068930199538348135... \n",
"7 6233277698034429017103950567765524970954426879... \n",
"8 4559620020693848583707206074171681675830775819... \n",
"9 6233833779874278041852346338088492342734244547... \n",
"10 5163523337171367126011753839819537067276020035... \n",
"11 4611367880921070440157963212743285505842704654... \n",
"12 4578493054511227949035857584594486760104829763... \n",
"13 4560159221201941276348499729156645386396250750... \n",
"14 5129554889428984613286854531398112217255378602... \n",
"15 4613035452223835287331024509742580987888675330... \n",
"16 6233833252284378338724434974413836525523562295... \n",
"17 6269404553147363984118345854639337024260173607... \n",
"18 4560192904665667822832111046880560033060704840... \n",
"19 5129049373951532651003023567579923289793462567... \n",
"20 6269421452513848782205821543180235199856079283... \n",
"21 6216023906598010121394201352319905816623933883... \n",
"22 5129538055862746223357733958711974998244902552... \n",
"23 4613002328763362082249999317894476883917193731... \n",
"24 6233866409217284196160692456666556233901127417... \n",
"25 6216073403359021113389331319842603070273775510... \n",
"26 4611367355436383673714579266113856136150479633... \n",
"27 5112332628896149655482179525762049643336261414... \n",
"28 6234945333635884915515939895611296479031266622... \n",
"29 5111793972432994898422441895738492541345210887... \n",
"30 5164095758889984122005573356320380613355077493... \n",
"... ... \n",
"45615 6269453578415381943516255760284043326213056811... \n",
"45616 6274256848369521403290224743805255098953710821... \n",
"45617 6216579413460865674109906598893983985233123945... \n",
"45618 5113411010303687998100933201783764826643580312... \n",
"45619 5163523370084392770969021128124236334163811383... \n",
"45620 1125665612349183931157596564365780411787821413... \n",
"45621 5129015690991404686765294140461041275344784455... \n",
"45622 6233884335447604873748743543094761863725880936... \n",
"45623 4559621634831099400769715992700498680286764411... \n",
"45624 5164063062683703662909948084918540684004499716... \n",
"45625 4576909156825801026091186298516853686702166042... \n",
"45626 5112283131601826856222393066936544803756918176... \n",
"45627 5128997229134311199621080030231934548551440779... \n",
"45628 5130683853628148456670481052173151647647645194... \n",
"45629 5164095741922126726071764639350042066763227222... \n",
"45630 6267785376692115586123185654357364764310432318... \n",
"45631 5112283148576568425285464734611270849724426078... \n",
"45632 6785467971343760798530560564557499310539827456... \n",
"45633 6429545616359495633152585752099073668690663239... \n",
"45634 4611418102266473210778517038652661250506831269... \n",
"45635 5112282587556835590741740255473440867729208112... \n",
"45636 5320430242218365032649964898064686653005504838... \n",
"45637 5129587503499545887800398241586485522317051291... \n",
"45638 6234018569512224369657786035770197463952746524... \n",
"45639 4576874896703348387734864012261754610135465392... \n",
"45640 4611906011319878245491527305060291690203662556... \n",
"45641 6268376743958601894923265566941986372723849946... \n",
"45642 4768274754087843061098657370537325266142097512... \n",
"45643 4559604750943350203969277452538726732270344691... \n",
"45644 5165140456826221028155736310509814307546921341... \n",
"\n",
"[43468 rows x 5 columns]"
]
},
"execution_count": 496,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# convert to dataframe\n",
"df = pd.DataFrame.from_dict(genetics).T\n",
"df.columns=['is_gestating', 'is_ready', 'cooldown_index', 'next_action_at', 'siring_with_id', 'birth_time', 'matron_id', 'sire_id', 'generation', 'genes']\n",
"df.index = pd.to_numeric(df.index)\n",
"df['generation'] = pd.to_numeric(df['generation'])\n",
"df['matron_id'] = pd.to_numeric(df['matron_id'])\n",
"df['sire_id'] = pd.to_numeric(df['sire_id'])\n",
"df['birth_time'] = pd.to_numeric(df['birth_time'])\n",
"df = df.sort_index()\n",
"df = df.drop(['is_gestating', 'is_ready', 'cooldown_index', 'next_action_at', 'siring_with_id'], axis=1)\n",
"df = df[df.genes!='0'] # remove rows with no genes\n",
"df = df[1:] # remove origin kitty\n",
"df_genetics = df\n",
"df_genetics"
]
},
{
"cell_type": "markdown",
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-09T01:49:06.835748Z",
"start_time": "2017-12-09T01:49:06.812605Z"
}
},
"source": [
"## Merge & convert genes from int to bits"
]
},
{
"cell_type": "code",
"execution_count": 518,
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-09T01:53:55.043121Z",
"start_time": "2017-12-09T01:53:55.034712Z"
}
},
"outputs": [],
"source": [
"def genestr_to_bits(x):\n",
" \"\"\"Gene data is a uint256 string, but I think the genes are it's bytes so lets convert to a bit array\"\"\"\n",
" bits = bin(int(x))[2:]\n",
" bitarray = [1 if b=='1' else 0 for b in bits]\n",
" bitarray = (256-len(bitarray))*[0] + bitarray # pad\n",
" return bitarray"
]
},
{
"cell_type": "code",
"execution_count": 692,
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-09T04:28:21.487030Z",
"start_time": "2017-12-09T04:27:59.757404Z"
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/wassname/.pyenv/versions/3.5.3/envs/jupyter3/lib/python3.5/site-packages/pandas/core/computation/expressions.py:183: UserWarning: evaluating in Python space because the '*' operator is not supported by numexpr for the bool dtype, use '&' instead\n",
" unsupported[op_str]))\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>birth_time</th>\n",
" <th>matron_id</th>\n",
" <th>sire_id</th>\n",
" <th>generation</th>\n",
" <th>genes</th>\n",
" <th>sold_price_usd</th>\n",
" <th>date</th>\n",
" <th>kitty_id</th>\n",
" <th>price_eth</th>\n",
" <th>sire_genes</th>\n",
" <th>sire_gen</th>\n",
" <th>matron_genes</th>\n",
" <th>matron_gen</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>3005</th>\n",
" <td>1511466911</td>\n",
" <td>1045</td>\n",
" <td>1003</td>\n",
" <td>1</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>75.475318</td>\n",
" <td>2017-12-02 05:08:56</td>\n",
" <td>3005</td>\n",
" <td>0.160056</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3007</th>\n",
" <td>1511466918</td>\n",
" <td>1044</td>\n",
" <td>1006</td>\n",
" <td>1</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>101.317700</td>\n",
" <td>2017-12-03 00:22:07</td>\n",
" <td>3007</td>\n",
" <td>0.220000</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3008</th>\n",
" <td>1511466918</td>\n",
" <td>1097</td>\n",
" <td>1099</td>\n",
" <td>1</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>5.555534</td>\n",
" <td>2017-11-24 08:25:32</td>\n",
" <td>3008</td>\n",
" <td>0.013552</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3010</th>\n",
" <td>1511467040</td>\n",
" <td>1041</td>\n",
" <td>1058</td>\n",
" <td>1</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>23.645100</td>\n",
" <td>2017-11-29 07:17:53</td>\n",
" <td>3010</td>\n",
" <td>0.050000</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3010</th>\n",
" <td>1511467040</td>\n",
" <td>1041</td>\n",
" <td>1058</td>\n",
" <td>1</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>9.974763</td>\n",
" <td>2017-11-30 06:41:14</td>\n",
" <td>3010</td>\n",
" <td>0.022729</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3010</th>\n",
" <td>1511467040</td>\n",
" <td>1041</td>\n",
" <td>1058</td>\n",
" <td>1</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>4.200592</td>\n",
" <td>2017-11-24 04:15:04</td>\n",
" <td>3010</td>\n",
" <td>0.009996</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3011</th>\n",
" <td>1511467040</td>\n",
" <td>1093</td>\n",
" <td>1099</td>\n",
" <td>1</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>6.281243</td>\n",
" <td>2017-11-24 06:00:39</td>\n",
" <td>3011</td>\n",
" <td>0.014819</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3012</th>\n",
" <td>1511467189</td>\n",
" <td>1046</td>\n",
" <td>1087</td>\n",
" <td>1</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>478.842000</td>\n",
" <td>2017-12-04 00:15:11</td>\n",
" <td>3012</td>\n",
" <td>1.000000</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3012</th>\n",
" <td>1511467189</td>\n",
" <td>1046</td>\n",
" <td>1087</td>\n",
" <td>1</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>399.712992</td>\n",
" <td>2017-12-05 09:53:38</td>\n",
" <td>3012</td>\n",
" <td>0.856569</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3012</th>\n",
" <td>1511467189</td>\n",
" <td>1046</td>\n",
" <td>1087</td>\n",
" <td>1</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>4.096416</td>\n",
" <td>2017-11-24 10:23:41</td>\n",
" <td>3012</td>\n",
" <td>0.009984</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3013</th>\n",
" <td>1511467349</td>\n",
" <td>1088</td>\n",
" <td>1019</td>\n",
" <td>1</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>231.375440</td>\n",
" <td>2017-12-05 00:18:59</td>\n",
" <td>3013</td>\n",
" <td>0.499733</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3017</th>\n",
" <td>1511467461</td>\n",
" <td>1078</td>\n",
" <td>1056</td>\n",
" <td>1</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>195.708110</td>\n",
" <td>2017-12-08 02:05:55</td>\n",
" <td>3017</td>\n",
" <td>0.430394</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3018</th>\n",
" <td>1511467461</td>\n",
" <td>1043</td>\n",
" <td>3003</td>\n",
" <td>2</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>7.777746</td>\n",
" <td>2017-11-24 09:43:28</td>\n",
" <td>3018</td>\n",
" <td>0.019250</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>1</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3018</th>\n",
" <td>1511467461</td>\n",
" <td>1043</td>\n",
" <td>3003</td>\n",
" <td>2</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>3.529732</td>\n",
" <td>2017-11-25 03:49:18</td>\n",
" <td>3018</td>\n",
" <td>0.007695</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>1</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3020</th>\n",
" <td>1511467461</td>\n",
" <td>1087</td>\n",
" <td>3006</td>\n",
" <td>2</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>124.010446</td>\n",
" <td>2017-12-05 03:36:28</td>\n",
" <td>3020</td>\n",
" <td>0.268801</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>1</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3020</th>\n",
" <td>1511467461</td>\n",
" <td>1087</td>\n",
" <td>3006</td>\n",
" <td>2</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>82.108207</td>\n",
" <td>2017-12-05 02:59:27</td>\n",
" <td>3020</td>\n",
" <td>0.177975</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>1</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3020</th>\n",
" <td>1511467461</td>\n",
" <td>1087</td>\n",
" <td>3006</td>\n",
" <td>2</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>8.249211</td>\n",
" <td>2017-11-24 11:04:56</td>\n",
" <td>3020</td>\n",
" <td>0.019992</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>1</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3021</th>\n",
" <td>1511467461</td>\n",
" <td>1093</td>\n",
" <td>3008</td>\n",
" <td>2</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>5.974832</td>\n",
" <td>2017-11-25 13:08:18</td>\n",
" <td>3021</td>\n",
" <td>0.012687</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>1</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3022</th>\n",
" <td>1511467549</td>\n",
" <td>1062</td>\n",
" <td>1005</td>\n",
" <td>1</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>46.714600</td>\n",
" <td>2017-12-02 13:53:03</td>\n",
" <td>3022</td>\n",
" <td>0.100000</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3024</th>\n",
" <td>1511467642</td>\n",
" <td>1077</td>\n",
" <td>1002</td>\n",
" <td>1</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>598.399623</td>\n",
" <td>2017-12-06 01:31:35</td>\n",
" <td>3024</td>\n",
" <td>1.297431</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3029</th>\n",
" <td>1511467718</td>\n",
" <td>1053</td>\n",
" <td>1010</td>\n",
" <td>1</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>551.445594</td>\n",
" <td>2017-12-04 05:27:15</td>\n",
" <td>3029</td>\n",
" <td>1.200295</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3029</th>\n",
" <td>1511467718</td>\n",
" <td>1053</td>\n",
" <td>1010</td>\n",
" <td>1</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>25.891600</td>\n",
" <td>2017-12-02 00:18:55</td>\n",
" <td>3029</td>\n",
" <td>0.056251</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3029</th>\n",
" <td>1511467718</td>\n",
" <td>1053</td>\n",
" <td>1010</td>\n",
" <td>1</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>18.916080</td>\n",
" <td>2017-11-29 07:21:59</td>\n",
" <td>3029</td>\n",
" <td>0.040000</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3030</th>\n",
" <td>1511467718</td>\n",
" <td>1036</td>\n",
" <td>1047</td>\n",
" <td>1</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>4.121639</td>\n",
" <td>2017-11-24 11:28:35</td>\n",
" <td>3030</td>\n",
" <td>0.009989</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3031</th>\n",
" <td>1511467718</td>\n",
" <td>1098</td>\n",
" <td>1017</td>\n",
" <td>1</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>937.400000</td>\n",
" <td>2017-12-05 10:11:05</td>\n",
" <td>3031</td>\n",
" <td>2.000000</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3031</th>\n",
" <td>1511467718</td>\n",
" <td>1098</td>\n",
" <td>1017</td>\n",
" <td>1</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>2.289915</td>\n",
" <td>2017-11-26 13:20:38</td>\n",
" <td>3031</td>\n",
" <td>0.005000</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3032</th>\n",
" <td>1511467718</td>\n",
" <td>1054</td>\n",
" <td>1004</td>\n",
" <td>1</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>981.295931</td>\n",
" <td>2017-12-06 06:53:53</td>\n",
" <td>3032</td>\n",
" <td>2.180653</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3032</th>\n",
" <td>1511467718</td>\n",
" <td>1054</td>\n",
" <td>1004</td>\n",
" <td>1</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>314.984033</td>\n",
" <td>2017-12-06 06:13:25</td>\n",
" <td>3032</td>\n",
" <td>0.699963</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3032</th>\n",
" <td>1511467718</td>\n",
" <td>1054</td>\n",
" <td>1004</td>\n",
" <td>1</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>7.705208</td>\n",
" <td>2017-11-28 21:47:07</td>\n",
" <td>3032</td>\n",
" <td>0.016276</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3033</th>\n",
" <td>1511467823</td>\n",
" <td>1039</td>\n",
" <td>1051</td>\n",
" <td>1</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>47.888720</td>\n",
" <td>2017-11-29 16:19:38</td>\n",
" <td>3033</td>\n",
" <td>0.099592</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>0</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",
" </tr>\n",
" <tr>\n",
" <th>45592</th>\n",
" <td>1512333116</td>\n",
" <td>16162</td>\n",
" <td>28528</td>\n",
" <td>17</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>15.392169</td>\n",
" <td>2017-12-04 07:42:22</td>\n",
" <td>45592</td>\n",
" <td>0.033041</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>15</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>16</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45594</th>\n",
" <td>1512333116</td>\n",
" <td>16176</td>\n",
" <td>38530</td>\n",
" <td>17</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>12.723501</td>\n",
" <td>2017-12-08 00:43:11</td>\n",
" <td>45594</td>\n",
" <td>0.027981</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>16</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>16</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45597</th>\n",
" <td>1512333116</td>\n",
" <td>16262</td>\n",
" <td>5646</td>\n",
" <td>4</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>71.372034</td>\n",
" <td>2017-12-06 06:00:54</td>\n",
" <td>45597</td>\n",
" <td>0.158604</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>3</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45597</th>\n",
" <td>1512333116</td>\n",
" <td>16262</td>\n",
" <td>5646</td>\n",
" <td>4</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>23.875589</td>\n",
" <td>2017-12-07 13:46:57</td>\n",
" <td>45597</td>\n",
" <td>0.052506</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>3</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45598</th>\n",
" <td>1512333116</td>\n",
" <td>16274</td>\n",
" <td>27366</td>\n",
" <td>17</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>32.143957</td>\n",
" <td>2017-12-04 05:13:35</td>\n",
" <td>45598</td>\n",
" <td>0.069966</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>13</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>16</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45598</th>\n",
" <td>1512333116</td>\n",
" <td>16274</td>\n",
" <td>27366</td>\n",
" <td>17</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>17.731081</td>\n",
" <td>2017-12-06 14:13:00</td>\n",
" <td>45598</td>\n",
" <td>0.039402</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>13</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>16</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45599</th>\n",
" <td>1512333116</td>\n",
" <td>16331</td>\n",
" <td>6439</td>\n",
" <td>14</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>26.936386</td>\n",
" <td>2017-12-04 13:25:22</td>\n",
" <td>45599</td>\n",
" <td>0.057391</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>13</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>11</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45599</th>\n",
" <td>1512333116</td>\n",
" <td>16331</td>\n",
" <td>6439</td>\n",
" <td>14</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>22.709755</td>\n",
" <td>2017-12-05 21:59:24</td>\n",
" <td>45599</td>\n",
" <td>0.048933</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>13</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>11</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45599</th>\n",
" <td>1512333116</td>\n",
" <td>16331</td>\n",
" <td>6439</td>\n",
" <td>14</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>13.582793</td>\n",
" <td>2017-12-07 06:29:50</td>\n",
" <td>45599</td>\n",
" <td>0.029871</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>13</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>11</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45600</th>\n",
" <td>1512333116</td>\n",
" <td>16364</td>\n",
" <td>13561</td>\n",
" <td>13</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>26.837560</td>\n",
" <td>2017-12-06 08:07:35</td>\n",
" <td>45600</td>\n",
" <td>0.059639</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>11</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>12</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45601</th>\n",
" <td>1512333116</td>\n",
" <td>16365</td>\n",
" <td>40842</td>\n",
" <td>6</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>66.577622</td>\n",
" <td>2017-12-04 05:07:14</td>\n",
" <td>45601</td>\n",
" <td>0.144915</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>5</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45601</th>\n",
" <td>1512333116</td>\n",
" <td>16365</td>\n",
" <td>40842</td>\n",
" <td>6</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>30.555222</td>\n",
" <td>2017-12-07 02:10:26</td>\n",
" <td>45601</td>\n",
" <td>0.067196</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>5</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45602</th>\n",
" <td>1512333116</td>\n",
" <td>16386</td>\n",
" <td>19319</td>\n",
" <td>20</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>111.586185</td>\n",
" <td>2017-12-06 11:31:01</td>\n",
" <td>45602</td>\n",
" <td>0.247969</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>19</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>12</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45604</th>\n",
" <td>1512333394</td>\n",
" <td>16392</td>\n",
" <td>32070</td>\n",
" <td>16</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>17.635940</td>\n",
" <td>2017-12-08 12:44:17</td>\n",
" <td>45604</td>\n",
" <td>0.038784</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>15</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45607</th>\n",
" <td>1512333492</td>\n",
" <td>25943</td>\n",
" <td>13947</td>\n",
" <td>16</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>31.803504</td>\n",
" <td>2017-12-05 00:49:27</td>\n",
" <td>45607</td>\n",
" <td>0.068690</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>14</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>15</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45609</th>\n",
" <td>1512333564</td>\n",
" <td>16557</td>\n",
" <td>35617</td>\n",
" <td>12</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>42.137717</td>\n",
" <td>2017-12-05 10:21:51</td>\n",
" <td>45609</td>\n",
" <td>0.089903</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>11</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>11</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45610</th>\n",
" <td>1512333654</td>\n",
" <td>16561</td>\n",
" <td>30199</td>\n",
" <td>21</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>26.655555</td>\n",
" <td>2017-12-05 22:01:17</td>\n",
" <td>45610</td>\n",
" <td>0.057435</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>20</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>15</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45621</th>\n",
" <td>1512333941</td>\n",
" <td>16838</td>\n",
" <td>21772</td>\n",
" <td>20</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>89.230785</td>\n",
" <td>2017-12-04 04:58:55</td>\n",
" <td>45621</td>\n",
" <td>0.188659</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>19</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>14</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45622</th>\n",
" <td>1512333943</td>\n",
" <td>16881</td>\n",
" <td>22417</td>\n",
" <td>9</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>11.356870</td>\n",
" <td>2017-12-07 19:04:46</td>\n",
" <td>45622</td>\n",
" <td>0.024976</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>8</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45624</th>\n",
" <td>1512334078</td>\n",
" <td>16906</td>\n",
" <td>22726</td>\n",
" <td>17</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>38.217005</td>\n",
" <td>2017-12-04 21:52:03</td>\n",
" <td>45624</td>\n",
" <td>0.082567</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>16</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>12</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45624</th>\n",
" <td>1512334078</td>\n",
" <td>16906</td>\n",
" <td>22726</td>\n",
" <td>17</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>23.142950</td>\n",
" <td>2017-12-04 21:34:21</td>\n",
" <td>45624</td>\n",
" <td>0.050000</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>16</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>12</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45628</th>\n",
" <td>1512334078</td>\n",
" <td>17048</td>\n",
" <td>11538</td>\n",
" <td>2</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>163.355168</td>\n",
" <td>2017-12-05 16:15:09</td>\n",
" <td>45628</td>\n",
" <td>0.345583</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>1</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45629</th>\n",
" <td>1512334078</td>\n",
" <td>17187</td>\n",
" <td>17460</td>\n",
" <td>17</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>32.375588</td>\n",
" <td>2017-12-04 16:55:59</td>\n",
" <td>45629</td>\n",
" <td>0.068417</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>16</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45629</th>\n",
" <td>1512334078</td>\n",
" <td>17187</td>\n",
" <td>17460</td>\n",
" <td>17</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>18.923884</td>\n",
" <td>2017-12-04 16:07:52</td>\n",
" <td>45629</td>\n",
" <td>0.039991</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>16</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45629</th>\n",
" <td>1512334078</td>\n",
" <td>17187</td>\n",
" <td>17460</td>\n",
" <td>17</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>13.773179</td>\n",
" <td>2017-12-04 05:01:55</td>\n",
" <td>45629</td>\n",
" <td>0.029979</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>16</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45630</th>\n",
" <td>1512334078</td>\n",
" <td>17189</td>\n",
" <td>30399</td>\n",
" <td>11</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>30.228184</td>\n",
" <td>2017-12-04 23:06:07</td>\n",
" <td>45630</td>\n",
" <td>0.064918</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>10</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45630</th>\n",
" <td>1512334078</td>\n",
" <td>17189</td>\n",
" <td>30399</td>\n",
" <td>11</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>20.756527</td>\n",
" <td>2017-12-04 17:36:33</td>\n",
" <td>45630</td>\n",
" <td>0.044004</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>10</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45630</th>\n",
" <td>1512334078</td>\n",
" <td>17189</td>\n",
" <td>30399</td>\n",
" <td>11</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>4.770418</td>\n",
" <td>2017-12-04 17:17:38</td>\n",
" <td>45630</td>\n",
" <td>0.010113</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>10</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45631</th>\n",
" <td>1512334078</td>\n",
" <td>17207</td>\n",
" <td>21691</td>\n",
" <td>11</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>13.970090</td>\n",
" <td>2017-12-04 07:33:42</td>\n",
" <td>45631</td>\n",
" <td>0.029988</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>9</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45637</th>\n",
" <td>1512334078</td>\n",
" <td>17332</td>\n",
" <td>11538</td>\n",
" <td>2</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>213.853079</td>\n",
" <td>2017-12-06 06:47:25</td>\n",
" <td>45637</td>\n",
" <td>0.475228</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>1</td>\n",
" <td>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>27727 rows × 13 columns</p>\n",
"</div>"
],
"text/plain": [
" birth_time matron_id sire_id generation \\\n",
"3005 1511466911 1045 1003 1 \n",
"3007 1511466918 1044 1006 1 \n",
"3008 1511466918 1097 1099 1 \n",
"3010 1511467040 1041 1058 1 \n",
"3010 1511467040 1041 1058 1 \n",
"3010 1511467040 1041 1058 1 \n",
"3011 1511467040 1093 1099 1 \n",
"3012 1511467189 1046 1087 1 \n",
"3012 1511467189 1046 1087 1 \n",
"3012 1511467189 1046 1087 1 \n",
"3013 1511467349 1088 1019 1 \n",
"3017 1511467461 1078 1056 1 \n",
"3018 1511467461 1043 3003 2 \n",
"3018 1511467461 1043 3003 2 \n",
"3020 1511467461 1087 3006 2 \n",
"3020 1511467461 1087 3006 2 \n",
"3020 1511467461 1087 3006 2 \n",
"3021 1511467461 1093 3008 2 \n",
"3022 1511467549 1062 1005 1 \n",
"3024 1511467642 1077 1002 1 \n",
"3029 1511467718 1053 1010 1 \n",
"3029 1511467718 1053 1010 1 \n",
"3029 1511467718 1053 1010 1 \n",
"3030 1511467718 1036 1047 1 \n",
"3031 1511467718 1098 1017 1 \n",
"3031 1511467718 1098 1017 1 \n",
"3032 1511467718 1054 1004 1 \n",
"3032 1511467718 1054 1004 1 \n",
"3032 1511467718 1054 1004 1 \n",
"3033 1511467823 1039 1051 1 \n",
"... ... ... ... ... \n",
"45592 1512333116 16162 28528 17 \n",
"45594 1512333116 16176 38530 17 \n",
"45597 1512333116 16262 5646 4 \n",
"45597 1512333116 16262 5646 4 \n",
"45598 1512333116 16274 27366 17 \n",
"45598 1512333116 16274 27366 17 \n",
"45599 1512333116 16331 6439 14 \n",
"45599 1512333116 16331 6439 14 \n",
"45599 1512333116 16331 6439 14 \n",
"45600 1512333116 16364 13561 13 \n",
"45601 1512333116 16365 40842 6 \n",
"45601 1512333116 16365 40842 6 \n",
"45602 1512333116 16386 19319 20 \n",
"45604 1512333394 16392 32070 16 \n",
"45607 1512333492 25943 13947 16 \n",
"45609 1512333564 16557 35617 12 \n",
"45610 1512333654 16561 30199 21 \n",
"45621 1512333941 16838 21772 20 \n",
"45622 1512333943 16881 22417 9 \n",
"45624 1512334078 16906 22726 17 \n",
"45624 1512334078 16906 22726 17 \n",
"45628 1512334078 17048 11538 2 \n",
"45629 1512334078 17187 17460 17 \n",
"45629 1512334078 17187 17460 17 \n",
"45629 1512334078 17187 17460 17 \n",
"45630 1512334078 17189 30399 11 \n",
"45630 1512334078 17189 30399 11 \n",
"45630 1512334078 17189 30399 11 \n",
"45631 1512334078 17207 21691 11 \n",
"45637 1512334078 17332 11538 2 \n",
"\n",
" genes sold_price_usd \\\n",
"3005 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 75.475318 \n",
"3007 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 101.317700 \n",
"3008 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 5.555534 \n",
"3010 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 23.645100 \n",
"3010 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 9.974763 \n",
"3010 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 4.200592 \n",
"3011 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 6.281243 \n",
"3012 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 478.842000 \n",
"3012 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 399.712992 \n",
"3012 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 4.096416 \n",
"3013 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 231.375440 \n",
"3017 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 195.708110 \n",
"3018 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 7.777746 \n",
"3018 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 3.529732 \n",
"3020 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 124.010446 \n",
"3020 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 82.108207 \n",
"3020 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 8.249211 \n",
"3021 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 5.974832 \n",
"3022 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 46.714600 \n",
"3024 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 598.399623 \n",
"3029 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 551.445594 \n",
"3029 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 25.891600 \n",
"3029 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 18.916080 \n",
"3030 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 4.121639 \n",
"3031 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 937.400000 \n",
"3031 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 2.289915 \n",
"3032 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 981.295931 \n",
"3032 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 314.984033 \n",
"3032 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 7.705208 \n",
"3033 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 47.888720 \n",
"... ... ... \n",
"45592 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 15.392169 \n",
"45594 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 12.723501 \n",
"45597 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 71.372034 \n",
"45597 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 23.875589 \n",
"45598 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 32.143957 \n",
"45598 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 17.731081 \n",
"45599 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 26.936386 \n",
"45599 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 22.709755 \n",
"45599 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 13.582793 \n",
"45600 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 26.837560 \n",
"45601 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 66.577622 \n",
"45601 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 30.555222 \n",
"45602 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 111.586185 \n",
"45604 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 17.635940 \n",
"45607 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 31.803504 \n",
"45609 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 42.137717 \n",
"45610 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 26.655555 \n",
"45621 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 89.230785 \n",
"45622 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 11.356870 \n",
"45624 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 38.217005 \n",
"45624 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 23.142950 \n",
"45628 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 163.355168 \n",
"45629 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 32.375588 \n",
"45629 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 18.923884 \n",
"45629 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 13.773179 \n",
"45630 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 30.228184 \n",
"45630 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 20.756527 \n",
"45630 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 4.770418 \n",
"45631 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 13.970090 \n",
"45637 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 213.853079 \n",
"\n",
" date kitty_id price_eth \\\n",
"3005 2017-12-02 05:08:56 3005 0.160056 \n",
"3007 2017-12-03 00:22:07 3007 0.220000 \n",
"3008 2017-11-24 08:25:32 3008 0.013552 \n",
"3010 2017-11-29 07:17:53 3010 0.050000 \n",
"3010 2017-11-30 06:41:14 3010 0.022729 \n",
"3010 2017-11-24 04:15:04 3010 0.009996 \n",
"3011 2017-11-24 06:00:39 3011 0.014819 \n",
"3012 2017-12-04 00:15:11 3012 1.000000 \n",
"3012 2017-12-05 09:53:38 3012 0.856569 \n",
"3012 2017-11-24 10:23:41 3012 0.009984 \n",
"3013 2017-12-05 00:18:59 3013 0.499733 \n",
"3017 2017-12-08 02:05:55 3017 0.430394 \n",
"3018 2017-11-24 09:43:28 3018 0.019250 \n",
"3018 2017-11-25 03:49:18 3018 0.007695 \n",
"3020 2017-12-05 03:36:28 3020 0.268801 \n",
"3020 2017-12-05 02:59:27 3020 0.177975 \n",
"3020 2017-11-24 11:04:56 3020 0.019992 \n",
"3021 2017-11-25 13:08:18 3021 0.012687 \n",
"3022 2017-12-02 13:53:03 3022 0.100000 \n",
"3024 2017-12-06 01:31:35 3024 1.297431 \n",
"3029 2017-12-04 05:27:15 3029 1.200295 \n",
"3029 2017-12-02 00:18:55 3029 0.056251 \n",
"3029 2017-11-29 07:21:59 3029 0.040000 \n",
"3030 2017-11-24 11:28:35 3030 0.009989 \n",
"3031 2017-12-05 10:11:05 3031 2.000000 \n",
"3031 2017-11-26 13:20:38 3031 0.005000 \n",
"3032 2017-12-06 06:53:53 3032 2.180653 \n",
"3032 2017-12-06 06:13:25 3032 0.699963 \n",
"3032 2017-11-28 21:47:07 3032 0.016276 \n",
"3033 2017-11-29 16:19:38 3033 0.099592 \n",
"... ... ... ... \n",
"45592 2017-12-04 07:42:22 45592 0.033041 \n",
"45594 2017-12-08 00:43:11 45594 0.027981 \n",
"45597 2017-12-06 06:00:54 45597 0.158604 \n",
"45597 2017-12-07 13:46:57 45597 0.052506 \n",
"45598 2017-12-04 05:13:35 45598 0.069966 \n",
"45598 2017-12-06 14:13:00 45598 0.039402 \n",
"45599 2017-12-04 13:25:22 45599 0.057391 \n",
"45599 2017-12-05 21:59:24 45599 0.048933 \n",
"45599 2017-12-07 06:29:50 45599 0.029871 \n",
"45600 2017-12-06 08:07:35 45600 0.059639 \n",
"45601 2017-12-04 05:07:14 45601 0.144915 \n",
"45601 2017-12-07 02:10:26 45601 0.067196 \n",
"45602 2017-12-06 11:31:01 45602 0.247969 \n",
"45604 2017-12-08 12:44:17 45604 0.038784 \n",
"45607 2017-12-05 00:49:27 45607 0.068690 \n",
"45609 2017-12-05 10:21:51 45609 0.089903 \n",
"45610 2017-12-05 22:01:17 45610 0.057435 \n",
"45621 2017-12-04 04:58:55 45621 0.188659 \n",
"45622 2017-12-07 19:04:46 45622 0.024976 \n",
"45624 2017-12-04 21:52:03 45624 0.082567 \n",
"45624 2017-12-04 21:34:21 45624 0.050000 \n",
"45628 2017-12-05 16:15:09 45628 0.345583 \n",
"45629 2017-12-04 16:55:59 45629 0.068417 \n",
"45629 2017-12-04 16:07:52 45629 0.039991 \n",
"45629 2017-12-04 05:01:55 45629 0.029979 \n",
"45630 2017-12-04 23:06:07 45630 0.064918 \n",
"45630 2017-12-04 17:36:33 45630 0.044004 \n",
"45630 2017-12-04 17:17:38 45630 0.010113 \n",
"45631 2017-12-04 07:33:42 45631 0.029988 \n",
"45637 2017-12-06 06:47:25 45637 0.475228 \n",
"\n",
" sire_genes sire_gen \\\n",
"3005 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3007 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3008 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3010 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3010 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3010 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3011 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3012 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3012 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3012 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3013 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3017 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3018 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 1 \n",
"3018 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 1 \n",
"3020 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 1 \n",
"3020 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 1 \n",
"3020 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 1 \n",
"3021 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 1 \n",
"3022 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3024 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3029 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3029 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3029 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3030 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3031 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3031 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3032 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3032 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3032 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3033 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"... ... ... \n",
"45592 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 15 \n",
"45594 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 16 \n",
"45597 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 3 \n",
"45597 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 3 \n",
"45598 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 13 \n",
"45598 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 13 \n",
"45599 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 13 \n",
"45599 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 13 \n",
"45599 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 13 \n",
"45600 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 11 \n",
"45601 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 5 \n",
"45601 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 5 \n",
"45602 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 19 \n",
"45604 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 15 \n",
"45607 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 14 \n",
"45609 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 11 \n",
"45610 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 20 \n",
"45621 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 19 \n",
"45622 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 8 \n",
"45624 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 16 \n",
"45624 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 16 \n",
"45628 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 1 \n",
"45629 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 16 \n",
"45629 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 16 \n",
"45629 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 16 \n",
"45630 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 10 \n",
"45630 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 10 \n",
"45630 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 10 \n",
"45631 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 9 \n",
"45637 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 1 \n",
"\n",
" matron_genes matron_gen \n",
"3005 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3007 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3008 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3010 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3010 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3010 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3011 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3012 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3012 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3012 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3013 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3017 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3018 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3018 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3020 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3020 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3020 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3021 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3022 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3024 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3029 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3029 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3029 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3030 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3031 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3031 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3032 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3032 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3032 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"3033 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 0 \n",
"... ... ... \n",
"45592 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 16 \n",
"45594 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 16 \n",
"45597 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 3 \n",
"45597 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 3 \n",
"45598 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 16 \n",
"45598 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 16 \n",
"45599 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 11 \n",
"45599 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 11 \n",
"45599 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 11 \n",
"45600 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 12 \n",
"45601 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 5 \n",
"45601 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 5 \n",
"45602 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 12 \n",
"45604 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 8 \n",
"45607 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 15 \n",
"45609 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 11 \n",
"45610 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 15 \n",
"45621 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 14 \n",
"45622 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 5 \n",
"45624 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 12 \n",
"45624 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 12 \n",
"45628 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 1 \n",
"45629 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 6 \n",
"45629 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 6 \n",
"45629 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 6 \n",
"45630 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 9 \n",
"45630 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 9 \n",
"45630 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 9 \n",
"45631 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 10 \n",
"45637 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... 1 \n",
"\n",
"[27727 rows x 13 columns]"
]
},
"execution_count": 692,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# merge and add parent genes\n",
"df = pd.merge(df_genetics, df_sales, how='inner', left_index=True, right_index=True)\n",
"df\n",
"\n",
"# remove rows where we don't have the parent genetics\n",
"mask1 = df['sire_id'].apply(lambda x:int(x) in df_genetics.index)\n",
"mask2 = df['matron_id'].apply(lambda x:int(x) in df_genetics.index)\n",
"df = df[mask1*mask2]\n",
"\n",
"# remove generation 0\n",
"df = df[df['generation']>0]\n",
"len(df)\n",
"\n",
"df['sire_genes']=df['sire_id'].apply(lambda x:df_genetics.loc[x].genes).apply(genestr_to_bits)\n",
"df['sire_gen']=df['sire_id'].apply(lambda x:df_genetics.loc[x].generation)\n",
"df['matron_genes']=df['matron_id'].apply(lambda x:df_genetics.loc[x].genes).apply(genestr_to_bits)\n",
"df['matron_gen']=df['matron_id'].apply(lambda x:df_genetics.loc[x].generation)\n",
"df['genes']=df['genes'].apply(genestr_to_bits)\n",
"\n",
"df"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Collect training data"
]
},
{
"cell_type": "code",
"execution_count": 674,
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-09T04:23:03.112410Z",
"start_time": "2017-12-09T04:23:02.283349Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"((27727, 256, 2), (27727, 256))"
]
},
"execution_count": 674,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# parent genes\n",
"X = np.array([df['sire_genes'], df['matron_genes']])\n",
"X = np.transpose(X, (1,2,0))\n",
"\n",
"# child genes\n",
"Y = np.stack(df['genes'].values)\n",
"X.shape, Y.shape"
]
},
{
"cell_type": "code",
"execution_count": 675,
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-09T04:23:03.622111Z",
"start_time": "2017-12-09T04:23:03.113800Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"((24954, 256, 2), (24954, 256))"
]
},
"execution_count": 675,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# split into test and train, val (& shuffle)\n",
"import sklearn.model_selection\n",
"X_train, X_test, y_train, y_test = sklearn.model_selection.train_test_split(X,Y, random_state=42, test_size=0.1)\n",
"X_train.shape, y_train.shape"
]
},
{
"cell_type": "code",
"execution_count": 676,
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-09T04:23:03.649822Z",
"start_time": "2017-12-09T04:23:03.646653Z"
}
},
"outputs": [],
"source": [
"# # NOTE: there is ~50% overlap between test and train y values :( because of repeated breeding\n",
"# # For now I'll just leave it and try to get an accuracy higher than the overlap\n",
"\n",
"# # check for overlap\n",
"# overlaps = []\n",
"# for y in tqdm(y_test[:1000]):\n",
"# overlaps.append(((y - y_train)==0).all(-1).sum()>0)\n",
"# overlaps = np.array(overlaps)\n",
"# print('overlap fraction', overlaps.sum()/len(overlaps))"
]
},
{
"cell_type": "markdown",
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-09T02:24:43.706674Z",
"start_time": "2017-12-09T02:24:43.701528Z"
}
},
"source": [
"# Baseline performance\n",
"\n",
"How easy is this problem? Lets see how well dummy models do\n",
"\n",
"http://scikit-learn.org/stable/modules/generated/sklearn.dummy.DummyClassifier.html"
]
},
{
"cell_type": "code",
"execution_count": 681,
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-09T04:24:05.999163Z",
"start_time": "2017-12-09T04:24:03.898293Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"stratified loss 1666.43792773 accuracy 0.0\n",
"prior loss 1166.88507952 accuracy 0.0\n",
"uniform loss 2205.66894511 accuracy 0.0\n",
"most_frequent loss 1166.88507952 accuracy 0.0\n"
]
}
],
"source": [
"from sklearn.dummy import DummyClassifier\n",
"for strategy in ['stratified', 'prior', 'uniform', 'most_frequent']:\n",
" clf = DummyClassifier(strategy=strategy, random_state=0)\n",
" clf.fit(X_train.reshape((-1,512)), y_train)\n",
" acc = clf.score(X_test.reshape((-1,512)), y_test)\n",
" \n",
" y_pred = clf.predict(X_test.reshape((-1,512)))\n",
" loss = sklearn.metrics.log_loss(y_test, y_pred)\n",
" print(strategy,'loss',loss,'accuracy',acc)"
]
},
{
"cell_type": "markdown",
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-09T01:07:43.456217Z",
"start_time": "2017-12-09T01:07:43.453853Z"
}
},
"source": [
"# Train"
]
},
{
"cell_type": "code",
"execution_count": 592,
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-09T02:36:41.018418Z",
"start_time": "2017-12-09T02:36:41.015836Z"
}
},
"outputs": [],
"source": [
"import keras"
]
},
{
"cell_type": "code",
"execution_count": 595,
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-09T02:37:58.641298Z",
"start_time": "2017-12-09T02:37:58.583706Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"_________________________________________________________________\n",
"Layer (type) Output Shape Param # \n",
"=================================================================\n",
"input_42 (InputLayer) (None, 256, 2) 0 \n",
"_________________________________________________________________\n",
"flatten_38 (Flatten) (None, 512) 0 \n",
"_________________________________________________________________\n",
"dense_40 (Dense) (None, 256) 131328 \n",
"_________________________________________________________________\n",
"dense_41 (Dense) (None, 256) 65792 \n",
"=================================================================\n",
"Total params: 197,120\n",
"Trainable params: 197,120\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n"
]
}
],
"source": [
"# Simple model with two layers\n",
"model = keras.models.Sequential()\n",
"model.add(keras.layers.InputLayer((256,2)))\n",
"model.add(keras.layers.Flatten())\n",
"model.add(keras.layers.Dense(256, activation='elu'))\n",
"model.add(keras.layers.Dense(256, activation='sigmoid'))\n",
"\n",
"model.compile(loss='categorical_crossentropy',\n",
" optimizer=keras.optimizers.Adam(lr=1e-3),\n",
" metrics=['accuracy'])\n",
"model.summary()"
]
},
{
"cell_type": "code",
"execution_count": 596,
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-09T03:13:35.708609Z",
"start_time": "2017-12-09T02:37:59.273886Z"
},
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Train on 19963 samples, validate on 4991 samples\n",
"Epoch 1/500\n",
"19963/19963 [==============================] - 4s - loss: 509.6478 - acc: 0.2359 - val_loss: 505.6140 - val_acc: 0.0950\n",
"Epoch 2/500\n",
"19963/19963 [==============================] - 4s - loss: 503.6146 - acc: 0.0947 - val_loss: 503.8711 - val_acc: 0.1052\n",
"Epoch 3/500\n",
"19963/19963 [==============================] - 4s - loss: 502.3385 - acc: 0.1134 - val_loss: 503.3724 - val_acc: 0.2637\n",
"Epoch 4/500\n",
"19963/19963 [==============================] - 3s - loss: 501.8278 - acc: 0.2307 - val_loss: 503.1031 - val_acc: 0.3264\n",
"Epoch 5/500\n",
"19963/19963 [==============================] - 3s - loss: 501.5010 - acc: 0.3075 - val_loss: 503.0677 - val_acc: 0.3364\n",
"Epoch 6/500\n",
"19963/19963 [==============================] - 3s - loss: 501.2706 - acc: 0.3177 - val_loss: 502.9476 - val_acc: 0.3881\n",
"Epoch 7/500\n",
"19963/19963 [==============================] - 3s - loss: 501.1096 - acc: 0.2912 - val_loss: 502.9000 - val_acc: 0.2176\n",
"Epoch 8/500\n",
"19963/19963 [==============================] - 4s - loss: 500.9237 - acc: 0.2650 - val_loss: 502.9253 - val_acc: 0.1867\n",
"Epoch 9/500\n",
"19963/19963 [==============================] - 4s - loss: 500.7793 - acc: 0.2410 - val_loss: 502.9301 - val_acc: 0.2645\n",
"Epoch 10/500\n",
"19963/19963 [==============================] - 4s - loss: 500.6340 - acc: 0.2070 - val_loss: 502.9690 - val_acc: 0.1268\n",
"Epoch 11/500\n",
"19963/19963 [==============================] - 4s - loss: 500.5172 - acc: 0.2013 - val_loss: 502.9286 - val_acc: 0.2114\n",
"Epoch 12/500\n",
"19963/19963 [==============================] - 4s - loss: 500.3877 - acc: 0.1923 - val_loss: 502.9189 - val_acc: 0.2659\n",
"Epoch 13/500\n",
"19963/19963 [==============================] - 4s - loss: 500.2545 - acc: 0.2060 - val_loss: 503.0023 - val_acc: 0.2589\n",
"Epoch 14/500\n",
"19963/19963 [==============================] - 4s - loss: 500.1431 - acc: 0.1919 - val_loss: 502.9604 - val_acc: 0.2731\n",
"Epoch 15/500\n",
"19963/19963 [==============================] - 4s - loss: 500.0178 - acc: 0.1983 - val_loss: 502.9331 - val_acc: 0.2152\n",
"Epoch 16/500\n",
"19963/19963 [==============================] - 4s - loss: 499.9065 - acc: 0.1946 - val_loss: 503.0404 - val_acc: 0.1399\n",
"Epoch 17/500\n",
"19963/19963 [==============================] - 4s - loss: 499.7670 - acc: 0.2007 - val_loss: 503.0182 - val_acc: 0.1837\n",
"Epoch 18/500\n",
"19963/19963 [==============================] - 4s - loss: 499.6611 - acc: 0.1996 - val_loss: 503.0419 - val_acc: 0.2180\n",
"Epoch 19/500\n",
"19963/19963 [==============================] - 4s - loss: 499.5488 - acc: 0.1936 - val_loss: 503.0547 - val_acc: 0.1356\n",
"Epoch 20/500\n",
"19963/19963 [==============================] - 4s - loss: 499.4477 - acc: 0.1777 - val_loss: 503.0849 - val_acc: 0.1016\n",
"Epoch 21/500\n",
"19963/19963 [==============================] - 4s - loss: 499.3326 - acc: 0.1825 - val_loss: 503.1680 - val_acc: 0.1453\n",
"Epoch 22/500\n",
"19963/19963 [==============================] - 4s - loss: 499.2215 - acc: 0.1853 - val_loss: 503.2883 - val_acc: 0.1907\n",
"Epoch 23/500\n",
"19963/19963 [==============================] - 4s - loss: 499.1185 - acc: 0.1853 - val_loss: 503.2227 - val_acc: 0.2266\n",
"Epoch 24/500\n",
"19963/19963 [==============================] - 4s - loss: 499.0264 - acc: 0.1903 - val_loss: 503.2855 - val_acc: 0.1120\n",
"Epoch 25/500\n",
"19963/19963 [==============================] - 4s - loss: 498.9257 - acc: 0.1727 - val_loss: 503.2961 - val_acc: 0.1348\n",
"Epoch 26/500\n",
"19963/19963 [==============================] - 4s - loss: 498.8296 - acc: 0.1854 - val_loss: 503.4510 - val_acc: 0.1126\n",
"Epoch 27/500\n",
"19963/19963 [==============================] - 4s - loss: 498.7325 - acc: 0.1931 - val_loss: 503.4958 - val_acc: 0.2967\n",
"Epoch 28/500\n",
"19963/19963 [==============================] - 4s - loss: 498.6436 - acc: 0.1994 - val_loss: 503.6021 - val_acc: 0.2166\n",
"Epoch 29/500\n",
"19963/19963 [==============================] - 4s - loss: 498.5487 - acc: 0.1954 - val_loss: 503.6562 - val_acc: 0.2861\n",
"Epoch 30/500\n",
"19963/19963 [==============================] - 4s - loss: 498.4737 - acc: 0.2154 - val_loss: 503.6285 - val_acc: 0.2174\n",
"Epoch 31/500\n",
"19963/19963 [==============================] - 4s - loss: 498.3974 - acc: 0.2214 - val_loss: 503.6386 - val_acc: 0.2565\n",
"Epoch 32/500\n",
"19963/19963 [==============================] - 4s - loss: 498.3082 - acc: 0.2308 - val_loss: 503.7773 - val_acc: 0.2016\n",
"Epoch 33/500\n",
"19963/19963 [==============================] - 4s - loss: 498.2250 - acc: 0.2446 - val_loss: 503.8567 - val_acc: 0.2847\n",
"Epoch 34/500\n",
"19963/19963 [==============================] - 4s - loss: 498.1548 - acc: 0.2580 - val_loss: 503.8739 - val_acc: 0.2448\n",
"Epoch 35/500\n",
"19963/19963 [==============================] - 4s - loss: 498.0624 - acc: 0.2640 - val_loss: 504.0535 - val_acc: 0.2849\n",
"Epoch 36/500\n",
"19963/19963 [==============================] - 4s - loss: 497.9936 - acc: 0.2831 - val_loss: 503.9876 - val_acc: 0.3270\n",
"Epoch 37/500\n",
"19963/19963 [==============================] - 4s - loss: 497.9291 - acc: 0.3028 - val_loss: 503.9642 - val_acc: 0.2663\n",
"Epoch 38/500\n",
"19963/19963 [==============================] - 4s - loss: 497.8539 - acc: 0.3249 - val_loss: 504.2965 - val_acc: 0.3466\n",
"Epoch 39/500\n",
"19963/19963 [==============================] - 4s - loss: 497.7858 - acc: 0.3371 - val_loss: 504.2448 - val_acc: 0.3306\n",
"Epoch 40/500\n",
"19963/19963 [==============================] - 4s - loss: 497.7325 - acc: 0.3455 - val_loss: 504.3414 - val_acc: 0.4392\n",
"Epoch 41/500\n",
"19963/19963 [==============================] - 4s - loss: 497.6698 - acc: 0.3735 - val_loss: 504.2452 - val_acc: 0.3953\n",
"Epoch 42/500\n",
"19963/19963 [==============================] - 4s - loss: 497.5922 - acc: 0.3984 - val_loss: 504.4114 - val_acc: 0.4714\n",
"Epoch 43/500\n",
"19963/19963 [==============================] - 4s - loss: 497.5279 - acc: 0.4100 - val_loss: 504.5356 - val_acc: 0.4210\n",
"Epoch 44/500\n",
"19963/19963 [==============================] - 4s - loss: 497.4763 - acc: 0.4366 - val_loss: 504.4461 - val_acc: 0.4025\n",
"Epoch 45/500\n",
"19963/19963 [==============================] - 4s - loss: 497.4147 - acc: 0.4499 - val_loss: 504.6093 - val_acc: 0.3779\n",
"Epoch 46/500\n",
"19963/19963 [==============================] - 4s - loss: 497.3665 - acc: 0.4681 - val_loss: 504.5588 - val_acc: 0.4562\n",
"Epoch 47/500\n",
"19963/19963 [==============================] - 4s - loss: 497.3015 - acc: 0.4885 - val_loss: 504.7112 - val_acc: 0.5013\n",
"Epoch 48/500\n",
"19963/19963 [==============================] - 4s - loss: 497.2564 - acc: 0.4987 - val_loss: 504.8900 - val_acc: 0.4682\n",
"Epoch 49/500\n",
"19963/19963 [==============================] - 4s - loss: 497.2158 - acc: 0.5140 - val_loss: 504.7040 - val_acc: 0.4073\n",
"Epoch 50/500\n",
"19963/19963 [==============================] - 4s - loss: 497.1621 - acc: 0.5254 - val_loss: 504.9764 - val_acc: 0.5554\n",
"Epoch 51/500\n",
"19963/19963 [==============================] - 4s - loss: 497.1012 - acc: 0.5548 - val_loss: 505.1522 - val_acc: 0.5580\n",
"Epoch 52/500\n",
"19963/19963 [==============================] - 4s - loss: 497.0671 - acc: 0.5633 - val_loss: 505.0681 - val_acc: 0.5223\n",
"Epoch 53/500\n",
"19963/19963 [==============================] - 4s - loss: 497.0238 - acc: 0.5708 - val_loss: 505.1494 - val_acc: 0.4372\n",
"Epoch 54/500\n",
"19963/19963 [==============================] - 3s - loss: 496.9774 - acc: 0.5798 - val_loss: 505.1545 - val_acc: 0.6067\n",
"Epoch 55/500\n",
"19963/19963 [==============================] - 3s - loss: 496.9288 - acc: 0.5975 - val_loss: 505.2224 - val_acc: 0.5837\n",
"Epoch 56/500\n",
"19963/19963 [==============================] - 3s - loss: 496.8779 - acc: 0.6084 - val_loss: 505.4580 - val_acc: 0.4873\n",
"Epoch 57/500\n",
"19963/19963 [==============================] - 4s - loss: 496.8303 - acc: 0.6223 - val_loss: 505.2500 - val_acc: 0.6672\n",
"Epoch 58/500\n",
"19963/19963 [==============================] - 4s - loss: 496.8028 - acc: 0.6384 - val_loss: 505.4695 - val_acc: 0.6117\n",
"Epoch 59/500\n",
"19963/19963 [==============================] - 3s - loss: 496.7449 - acc: 0.6367 - val_loss: 505.4026 - val_acc: 0.7291\n",
"Epoch 60/500\n",
"19963/19963 [==============================] - 3s - loss: 496.7252 - acc: 0.6485 - val_loss: 505.3404 - val_acc: 0.6854\n",
"Epoch 61/500\n",
"19963/19963 [==============================] - 3s - loss: 496.6695 - acc: 0.6537 - val_loss: 505.6919 - val_acc: 0.6754\n",
"Epoch 62/500\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"19963/19963 [==============================] - 4s - loss: 496.6298 - acc: 0.6739 - val_loss: 505.6031 - val_acc: 0.5893\n",
"Epoch 63/500\n",
"19963/19963 [==============================] - 4s - loss: 496.5867 - acc: 0.6749 - val_loss: 505.6839 - val_acc: 0.6959\n",
"Epoch 64/500\n",
"19963/19963 [==============================] - 4s - loss: 496.5602 - acc: 0.6896 - val_loss: 505.7272 - val_acc: 0.6295\n",
"Epoch 65/500\n",
"19963/19963 [==============================] - 4s - loss: 496.5212 - acc: 0.6915 - val_loss: 505.9080 - val_acc: 0.7077\n",
"Epoch 66/500\n",
"19963/19963 [==============================] - 4s - loss: 496.4646 - acc: 0.7001 - val_loss: 505.9090 - val_acc: 0.6872\n",
"Epoch 67/500\n",
"19963/19963 [==============================] - 4s - loss: 496.4422 - acc: 0.7116 - val_loss: 506.0468 - val_acc: 0.6922\n",
"Epoch 68/500\n",
"19963/19963 [==============================] - 4s - loss: 496.4119 - acc: 0.7199 - val_loss: 505.9182 - val_acc: 0.7652\n",
"Epoch 69/500\n",
"19963/19963 [==============================] - 4s - loss: 496.3752 - acc: 0.7226 - val_loss: 505.8799 - val_acc: 0.6650\n",
"Epoch 70/500\n",
"19963/19963 [==============================] - 4s - loss: 496.3287 - acc: 0.7313 - val_loss: 506.0791 - val_acc: 0.7381\n",
"Epoch 71/500\n",
"19963/19963 [==============================] - 4s - loss: 496.2896 - acc: 0.7475 - val_loss: 506.2530 - val_acc: 0.7047\n",
"Epoch 72/500\n",
"19963/19963 [==============================] - 4s - loss: 496.2791 - acc: 0.7421 - val_loss: 506.3418 - val_acc: 0.7532\n",
"Epoch 73/500\n",
"19963/19963 [==============================] - 4s - loss: 496.2597 - acc: 0.7520 - val_loss: 506.1495 - val_acc: 0.6776\n",
"Epoch 74/500\n",
"19963/19963 [==============================] - 4s - loss: 496.2109 - acc: 0.7509 - val_loss: 506.2464 - val_acc: 0.7782\n",
"Epoch 75/500\n",
"19963/19963 [==============================] - 4s - loss: 496.1969 - acc: 0.7563 - val_loss: 506.3127 - val_acc: 0.7542\n",
"Epoch 76/500\n",
"19963/19963 [==============================] - 4s - loss: 496.1508 - acc: 0.7721 - val_loss: 506.4001 - val_acc: 0.8010\n",
"Epoch 77/500\n",
"19963/19963 [==============================] - 4s - loss: 496.1274 - acc: 0.7610 - val_loss: 506.4066 - val_acc: 0.7674\n",
"Epoch 78/500\n",
"19963/19963 [==============================] - 4s - loss: 496.0915 - acc: 0.7793 - val_loss: 506.6890 - val_acc: 0.8014\n",
"Epoch 79/500\n",
"19963/19963 [==============================] - 4s - loss: 496.0701 - acc: 0.7838 - val_loss: 506.4873 - val_acc: 0.8235\n",
"Epoch 80/500\n",
"19963/19963 [==============================] - 4s - loss: 496.0370 - acc: 0.7872 - val_loss: 506.5870 - val_acc: 0.7349\n",
"Epoch 81/500\n",
"19963/19963 [==============================] - 4s - loss: 496.0149 - acc: 0.7900 - val_loss: 506.7571 - val_acc: 0.7542\n",
"Epoch 82/500\n",
"19963/19963 [==============================] - 4s - loss: 495.9887 - acc: 0.7949 - val_loss: 506.6772 - val_acc: 0.7956\n",
"Epoch 83/500\n",
"19963/19963 [==============================] - 4s - loss: 495.9526 - acc: 0.7947 - val_loss: 506.9624 - val_acc: 0.7822\n",
"Epoch 84/500\n",
"19963/19963 [==============================] - 4s - loss: 495.9517 - acc: 0.7978 - val_loss: 506.7497 - val_acc: 0.8101\n",
"Epoch 85/500\n",
"19963/19963 [==============================] - 4s - loss: 495.9068 - acc: 0.8045 - val_loss: 506.8190 - val_acc: 0.8171\n",
"Epoch 86/500\n",
"19963/19963 [==============================] - 4s - loss: 495.8695 - acc: 0.8036 - val_loss: 506.9736 - val_acc: 0.8253\n",
"Epoch 87/500\n",
"19963/19963 [==============================] - 4s - loss: 495.8618 - acc: 0.8105 - val_loss: 507.1757 - val_acc: 0.7660\n",
"Epoch 88/500\n",
"19963/19963 [==============================] - 4s - loss: 495.8229 - acc: 0.8107 - val_loss: 506.8222 - val_acc: 0.8042\n",
"Epoch 89/500\n",
"19963/19963 [==============================] - 4s - loss: 495.8041 - acc: 0.8150 - val_loss: 506.9486 - val_acc: 0.8479\n",
"Epoch 90/500\n",
"19963/19963 [==============================] - 4s - loss: 495.7913 - acc: 0.8247 - val_loss: 507.3672 - val_acc: 0.8275\n",
"Epoch 91/500\n",
"19963/19963 [==============================] - 4s - loss: 495.7597 - acc: 0.8239 - val_loss: 506.9244 - val_acc: 0.8509\n",
"Epoch 92/500\n",
"19963/19963 [==============================] - 4s - loss: 495.7321 - acc: 0.8296 - val_loss: 507.0505 - val_acc: 0.8319\n",
"Epoch 93/500\n",
"19963/19963 [==============================] - 4s - loss: 495.7026 - acc: 0.8340 - val_loss: 507.1182 - val_acc: 0.8291\n",
"Epoch 94/500\n",
"19963/19963 [==============================] - 4s - loss: 495.6915 - acc: 0.8330 - val_loss: 507.2960 - val_acc: 0.7906\n",
"Epoch 95/500\n",
"19963/19963 [==============================] - 4s - loss: 495.6799 - acc: 0.8375 - val_loss: 507.3805 - val_acc: 0.7890\n",
"Epoch 96/500\n",
"19963/19963 [==============================] - 4s - loss: 495.6380 - acc: 0.8381 - val_loss: 507.5264 - val_acc: 0.8239\n",
"Epoch 97/500\n",
"19963/19963 [==============================] - 4s - loss: 495.6330 - acc: 0.8362 - val_loss: 507.4712 - val_acc: 0.8425\n",
"Epoch 98/500\n",
"19963/19963 [==============================] - 4s - loss: 495.5924 - acc: 0.8460 - val_loss: 507.7760 - val_acc: 0.8662\n",
"Epoch 99/500\n",
"19963/19963 [==============================] - 4s - loss: 495.5892 - acc: 0.8517 - val_loss: 507.5328 - val_acc: 0.8545\n",
"Epoch 100/500\n",
"19963/19963 [==============================] - 4s - loss: 495.5482 - acc: 0.8501 - val_loss: 507.7463 - val_acc: 0.8591\n",
"Epoch 101/500\n",
"19963/19963 [==============================] - 4s - loss: 495.5459 - acc: 0.8532 - val_loss: 507.5970 - val_acc: 0.8794\n",
"Epoch 102/500\n",
"19963/19963 [==============================] - 4s - loss: 495.5041 - acc: 0.8543 - val_loss: 507.7565 - val_acc: 0.8485\n",
"Epoch 103/500\n",
"19963/19963 [==============================] - 4s - loss: 495.4949 - acc: 0.8554 - val_loss: 507.9597 - val_acc: 0.8539\n",
"Epoch 104/500\n",
"19963/19963 [==============================] - 4s - loss: 495.4827 - acc: 0.8570 - val_loss: 507.9951 - val_acc: 0.8740\n",
"Epoch 105/500\n",
"19963/19963 [==============================] - 4s - loss: 495.4498 - acc: 0.8573 - val_loss: 507.9802 - val_acc: 0.7648\n",
"Epoch 106/500\n",
"19963/19963 [==============================] - 4s - loss: 495.4317 - acc: 0.8588 - val_loss: 507.7718 - val_acc: 0.8688\n",
"Epoch 107/500\n",
"19963/19963 [==============================] - 4s - loss: 495.4141 - acc: 0.8672 - val_loss: 508.1052 - val_acc: 0.8427\n",
"Epoch 108/500\n",
"19963/19963 [==============================] - 4s - loss: 495.4020 - acc: 0.8632 - val_loss: 508.1533 - val_acc: 0.8409\n",
"Epoch 109/500\n",
"19963/19963 [==============================] - 4s - loss: 495.3818 - acc: 0.8669 - val_loss: 508.2390 - val_acc: 0.8654\n",
"Epoch 110/500\n",
"19963/19963 [==============================] - 4s - loss: 495.3660 - acc: 0.8647 - val_loss: 508.1105 - val_acc: 0.8876\n",
"Epoch 111/500\n",
"19963/19963 [==============================] - 4s - loss: 495.3293 - acc: 0.8679 - val_loss: 508.4268 - val_acc: 0.8593\n",
"Epoch 112/500\n",
"19963/19963 [==============================] - 4s - loss: 495.3288 - acc: 0.8737 - val_loss: 508.0949 - val_acc: 0.8405\n",
"Epoch 113/500\n",
"19963/19963 [==============================] - 4s - loss: 495.2931 - acc: 0.8702 - val_loss: 508.1951 - val_acc: 0.8593\n",
"Epoch 114/500\n",
"19963/19963 [==============================] - 4s - loss: 495.2874 - acc: 0.8720 - val_loss: 508.2544 - val_acc: 0.8806\n",
"Epoch 115/500\n",
"19963/19963 [==============================] - 4s - loss: 495.2631 - acc: 0.8737 - val_loss: 507.9510 - val_acc: 0.8978\n",
"Epoch 116/500\n",
"19963/19963 [==============================] - 4s - loss: 495.2437 - acc: 0.8731 - val_loss: 508.0695 - val_acc: 0.8375\n",
"Epoch 117/500\n",
"19963/19963 [==============================] - 4s - loss: 495.2461 - acc: 0.8738 - val_loss: 508.4074 - val_acc: 0.8658\n",
"Epoch 118/500\n",
"19963/19963 [==============================] - 4s - loss: 495.2379 - acc: 0.8734 - val_loss: 508.4292 - val_acc: 0.8463\n",
"Epoch 119/500\n",
"19963/19963 [==============================] - 4s - loss: 495.2113 - acc: 0.8739 - val_loss: 508.9919 - val_acc: 0.8347\n",
"Epoch 120/500\n",
"19963/19963 [==============================] - 4s - loss: 495.1892 - acc: 0.8794 - val_loss: 508.5061 - val_acc: 0.8692\n",
"Epoch 121/500\n",
"19963/19963 [==============================] - 4s - loss: 495.1607 - acc: 0.8852 - val_loss: 508.4319 - val_acc: 0.8597\n",
"Epoch 122/500\n",
"19963/19963 [==============================] - 4s - loss: 495.1425 - acc: 0.8823 - val_loss: 508.6568 - val_acc: 0.8752\n",
"Epoch 123/500\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"19963/19963 [==============================] - 4s - loss: 495.1186 - acc: 0.8851 - val_loss: 508.7714 - val_acc: 0.8730\n",
"Epoch 124/500\n",
"19963/19963 [==============================] - 4s - loss: 495.1231 - acc: 0.8882 - val_loss: 508.4651 - val_acc: 0.8978\n",
"Epoch 125/500\n",
"19963/19963 [==============================] - 4s - loss: 495.1060 - acc: 0.8877 - val_loss: 509.0085 - val_acc: 0.9203\n",
"Epoch 126/500\n",
"19963/19963 [==============================] - 4s - loss: 495.0852 - acc: 0.8858 - val_loss: 508.9583 - val_acc: 0.8499\n",
"Epoch 127/500\n",
"19963/19963 [==============================] - 4s - loss: 495.0680 - acc: 0.8819 - val_loss: 508.7727 - val_acc: 0.8784\n",
"Epoch 128/500\n",
"19963/19963 [==============================] - 4s - loss: 495.0595 - acc: 0.8847 - val_loss: 508.9968 - val_acc: 0.8786\n",
"Epoch 129/500\n",
"19963/19963 [==============================] - 4s - loss: 495.0271 - acc: 0.8868 - val_loss: 508.9998 - val_acc: 0.8511\n",
"Epoch 130/500\n",
"19963/19963 [==============================] - 4s - loss: 495.0220 - acc: 0.8853 - val_loss: 509.0853 - val_acc: 0.8804\n",
"Epoch 131/500\n",
"19963/19963 [==============================] - 4s - loss: 495.0011 - acc: 0.8863 - val_loss: 509.2207 - val_acc: 0.8527\n",
"Epoch 132/500\n",
"19963/19963 [==============================] - 4s - loss: 495.0155 - acc: 0.8931 - val_loss: 509.0804 - val_acc: 0.8880\n",
"Epoch 133/500\n",
"19963/19963 [==============================] - 4s - loss: 494.9755 - acc: 0.8913 - val_loss: 509.0576 - val_acc: 0.9038\n",
"Epoch 134/500\n",
"19963/19963 [==============================] - 4s - loss: 494.9738 - acc: 0.8908 - val_loss: 509.2794 - val_acc: 0.8541\n",
"Epoch 135/500\n",
"19963/19963 [==============================] - 4s - loss: 494.9564 - acc: 0.8922 - val_loss: 509.6963 - val_acc: 0.8371\n",
"Epoch 136/500\n",
"19963/19963 [==============================] - 4s - loss: 494.9171 - acc: 0.8952 - val_loss: 509.2114 - val_acc: 0.8966\n",
"Epoch 137/500\n",
"19963/19963 [==============================] - 4s - loss: 494.9248 - acc: 0.8952 - val_loss: 509.4895 - val_acc: 0.8682\n",
"Epoch 138/500\n",
"19963/19963 [==============================] - 4s - loss: 494.9100 - acc: 0.8951 - val_loss: 509.4049 - val_acc: 0.8908\n",
"Epoch 139/500\n",
"19963/19963 [==============================] - 4s - loss: 494.8894 - acc: 0.8993 - val_loss: 509.3632 - val_acc: 0.8724\n",
"Epoch 140/500\n",
"19963/19963 [==============================] - 4s - loss: 494.8787 - acc: 0.8992 - val_loss: 509.5401 - val_acc: 0.8908\n",
"Epoch 141/500\n",
"19963/19963 [==============================] - 4s - loss: 494.8604 - acc: 0.8975 - val_loss: 509.8726 - val_acc: 0.9140\n",
"Epoch 142/500\n",
"19963/19963 [==============================] - 4s - loss: 494.8521 - acc: 0.9044 - val_loss: 509.3432 - val_acc: 0.8830\n",
"Epoch 143/500\n",
"19963/19963 [==============================] - 4s - loss: 494.8378 - acc: 0.9029 - val_loss: 509.8774 - val_acc: 0.8575\n",
"Epoch 144/500\n",
"19963/19963 [==============================] - 4s - loss: 494.8332 - acc: 0.9009 - val_loss: 509.9265 - val_acc: 0.8964\n",
"Epoch 145/500\n",
"19963/19963 [==============================] - 4s - loss: 494.8141 - acc: 0.9026 - val_loss: 509.7003 - val_acc: 0.9118\n",
"Epoch 146/500\n",
"19963/19963 [==============================] - 4s - loss: 494.8138 - acc: 0.9071 - val_loss: 509.8207 - val_acc: 0.8922\n",
"Epoch 147/500\n",
"19963/19963 [==============================] - 4s - loss: 494.7802 - acc: 0.9055 - val_loss: 509.6696 - val_acc: 0.8900\n",
"Epoch 148/500\n",
"19963/19963 [==============================] - 4s - loss: 494.7762 - acc: 0.9023 - val_loss: 509.7778 - val_acc: 0.9209\n",
"Epoch 149/500\n",
"19963/19963 [==============================] - 4s - loss: 494.7642 - acc: 0.9060 - val_loss: 509.9377 - val_acc: 0.9130\n",
"Epoch 150/500\n",
"19963/19963 [==============================] - 4s - loss: 494.7440 - acc: 0.9111 - val_loss: 510.2611 - val_acc: 0.8928\n",
"Epoch 151/500\n",
"19963/19963 [==============================] - 4s - loss: 494.7320 - acc: 0.9066 - val_loss: 509.9017 - val_acc: 0.9225\n",
"Epoch 152/500\n",
"19963/19963 [==============================] - 4s - loss: 494.7211 - acc: 0.9080 - val_loss: 510.2036 - val_acc: 0.9046\n",
"Epoch 153/500\n",
"19963/19963 [==============================] - 4s - loss: 494.7028 - acc: 0.9082 - val_loss: 509.9755 - val_acc: 0.9158\n",
"Epoch 154/500\n",
"19963/19963 [==============================] - 4s - loss: 494.6833 - acc: 0.9098 - val_loss: 509.9168 - val_acc: 0.8872\n",
"Epoch 155/500\n",
"19963/19963 [==============================] - 4s - loss: 494.6870 - acc: 0.9107 - val_loss: 509.8072 - val_acc: 0.8842\n",
"Epoch 156/500\n",
"19963/19963 [==============================] - 4s - loss: 494.6775 - acc: 0.9117 - val_loss: 510.2043 - val_acc: 0.9078\n",
"Epoch 157/500\n",
"19963/19963 [==============================] - 4s - loss: 494.6643 - acc: 0.9099 - val_loss: 510.3874 - val_acc: 0.9054\n",
"Epoch 158/500\n",
"19963/19963 [==============================] - 4s - loss: 494.6609 - acc: 0.9114 - val_loss: 510.2125 - val_acc: 0.8994\n",
"Epoch 159/500\n",
"19963/19963 [==============================] - 4s - loss: 494.6342 - acc: 0.9135 - val_loss: 510.7567 - val_acc: 0.8882\n",
"Epoch 160/500\n",
"19963/19963 [==============================] - 4s - loss: 494.6283 - acc: 0.9123 - val_loss: 510.7425 - val_acc: 0.9044\n",
"Epoch 161/500\n",
"19963/19963 [==============================] - 4s - loss: 494.6078 - acc: 0.9143 - val_loss: 510.8797 - val_acc: 0.9086\n",
"Epoch 162/500\n",
"19963/19963 [==============================] - 4s - loss: 494.5912 - acc: 0.9164 - val_loss: 510.6641 - val_acc: 0.9142\n",
"Epoch 163/500\n",
"19963/19963 [==============================] - 4s - loss: 494.5934 - acc: 0.9154 - val_loss: 510.5877 - val_acc: 0.9060\n",
"Epoch 164/500\n",
"19963/19963 [==============================] - 4s - loss: 494.5855 - acc: 0.9164 - val_loss: 510.8551 - val_acc: 0.9235\n",
"Epoch 165/500\n",
"19963/19963 [==============================] - 4s - loss: 494.5503 - acc: 0.9229 - val_loss: 510.7812 - val_acc: 0.9335\n",
"Epoch 166/500\n",
"19963/19963 [==============================] - 4s - loss: 494.5422 - acc: 0.9226 - val_loss: 510.6672 - val_acc: 0.9183\n",
"Epoch 167/500\n",
"19963/19963 [==============================] - 4s - loss: 494.5441 - acc: 0.9217 - val_loss: 510.9202 - val_acc: 0.9173\n",
"Epoch 168/500\n",
"19963/19963 [==============================] - 4s - loss: 494.5300 - acc: 0.9200 - val_loss: 510.8307 - val_acc: 0.8992\n",
"Epoch 169/500\n",
"19963/19963 [==============================] - 4s - loss: 494.5317 - acc: 0.9216 - val_loss: 510.9512 - val_acc: 0.9297\n",
"Epoch 170/500\n",
"19963/19963 [==============================] - 4s - loss: 494.5035 - acc: 0.9251 - val_loss: 511.2561 - val_acc: 0.9118\n",
"Epoch 171/500\n",
"19963/19963 [==============================] - 4s - loss: 494.4820 - acc: 0.9210 - val_loss: 510.9530 - val_acc: 0.9217\n",
"Epoch 172/500\n",
"19963/19963 [==============================] - 4s - loss: 494.4756 - acc: 0.9248 - val_loss: 510.6623 - val_acc: 0.9088\n",
"Epoch 173/500\n",
"19963/19963 [==============================] - 4s - loss: 494.4650 - acc: 0.9267 - val_loss: 510.8010 - val_acc: 0.9239\n",
"Epoch 174/500\n",
"19963/19963 [==============================] - 4s - loss: 494.4804 - acc: 0.9231 - val_loss: 511.1056 - val_acc: 0.9114\n",
"Epoch 175/500\n",
"19963/19963 [==============================] - 4s - loss: 494.4666 - acc: 0.9227 - val_loss: 511.2407 - val_acc: 0.9337\n",
"Epoch 176/500\n",
"19963/19963 [==============================] - 4s - loss: 494.4561 - acc: 0.9264 - val_loss: 511.2170 - val_acc: 0.9251\n",
"Epoch 177/500\n",
"19963/19963 [==============================] - 4s - loss: 494.4301 - acc: 0.9259 - val_loss: 511.1347 - val_acc: 0.9054\n",
"Epoch 178/500\n",
"19963/19963 [==============================] - 4s - loss: 494.4055 - acc: 0.9239 - val_loss: 511.1440 - val_acc: 0.8962\n",
"Epoch 179/500\n",
"19963/19963 [==============================] - 4s - loss: 494.4178 - acc: 0.9284 - val_loss: 511.8084 - val_acc: 0.9090\n",
"Epoch 180/500\n",
"19963/19963 [==============================] - 4s - loss: 494.3943 - acc: 0.9258 - val_loss: 511.4693 - val_acc: 0.9203\n",
"Epoch 181/500\n",
"19963/19963 [==============================] - 4s - loss: 494.3763 - acc: 0.9291 - val_loss: 511.4683 - val_acc: 0.9179\n",
"Epoch 182/500\n",
"19963/19963 [==============================] - 4s - loss: 494.3780 - acc: 0.9291 - val_loss: 511.8275 - val_acc: 0.9183\n",
"Epoch 183/500\n",
"19963/19963 [==============================] - 4s - loss: 494.3834 - acc: 0.9301 - val_loss: 511.3238 - val_acc: 0.9393\n",
"Epoch 184/500\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"19963/19963 [==============================] - 4s - loss: 494.3424 - acc: 0.9300 - val_loss: 512.0930 - val_acc: 0.9217\n",
"Epoch 185/500\n",
"19963/19963 [==============================] - 4s - loss: 494.3438 - acc: 0.9284 - val_loss: 510.9834 - val_acc: 0.9269\n",
"Epoch 186/500\n",
"19963/19963 [==============================] - 4s - loss: 494.3195 - acc: 0.9291 - val_loss: 511.9937 - val_acc: 0.9126\n",
"Epoch 187/500\n",
"19963/19963 [==============================] - 4s - loss: 494.3074 - acc: 0.9290 - val_loss: 511.9741 - val_acc: 0.9074\n",
"Epoch 188/500\n",
"19963/19963 [==============================] - 4s - loss: 494.3191 - acc: 0.9289 - val_loss: 511.4462 - val_acc: 0.9337\n",
"Epoch 189/500\n",
"19963/19963 [==============================] - 4s - loss: 494.2997 - acc: 0.9299 - val_loss: 511.5951 - val_acc: 0.9223\n",
"Epoch 190/500\n",
"19963/19963 [==============================] - 4s - loss: 494.2854 - acc: 0.9302 - val_loss: 511.7262 - val_acc: 0.9253\n",
"Epoch 191/500\n",
"19963/19963 [==============================] - 4s - loss: 494.2832 - acc: 0.9328 - val_loss: 511.9000 - val_acc: 0.9120\n",
"Epoch 192/500\n",
"19963/19963 [==============================] - 4s - loss: 494.2785 - acc: 0.9301 - val_loss: 512.1108 - val_acc: 0.9144\n",
"Epoch 193/500\n",
"19963/19963 [==============================] - 4s - loss: 494.2654 - acc: 0.9324 - val_loss: 511.8300 - val_acc: 0.9269\n",
"Epoch 194/500\n",
"19963/19963 [==============================] - 4s - loss: 494.2517 - acc: 0.9340 - val_loss: 511.8326 - val_acc: 0.9295\n",
"Epoch 195/500\n",
"19963/19963 [==============================] - 4s - loss: 494.2496 - acc: 0.9335 - val_loss: 511.6844 - val_acc: 0.9197\n",
"Epoch 196/500\n",
"19963/19963 [==============================] - 4s - loss: 494.2229 - acc: 0.9326 - val_loss: 511.9269 - val_acc: 0.9245\n",
"Epoch 197/500\n",
"19963/19963 [==============================] - 4s - loss: 494.2298 - acc: 0.9350 - val_loss: 512.0595 - val_acc: 0.9160\n",
"Epoch 198/500\n",
"19963/19963 [==============================] - 4s - loss: 494.2225 - acc: 0.9326 - val_loss: 512.3188 - val_acc: 0.9309\n",
"Epoch 199/500\n",
"19963/19963 [==============================] - 4s - loss: 494.1885 - acc: 0.9357 - val_loss: 512.5320 - val_acc: 0.9255\n",
"Epoch 200/500\n",
"19963/19963 [==============================] - 4s - loss: 494.1947 - acc: 0.9355 - val_loss: 512.3463 - val_acc: 0.9241\n",
"Epoch 201/500\n",
"19963/19963 [==============================] - 4s - loss: 494.1628 - acc: 0.9344 - val_loss: 512.0463 - val_acc: 0.9385\n",
"Epoch 202/500\n",
"19963/19963 [==============================] - 4s - loss: 494.1620 - acc: 0.9349 - val_loss: 512.0062 - val_acc: 0.9291\n",
"Epoch 203/500\n",
"19963/19963 [==============================] - 4s - loss: 494.1768 - acc: 0.9362 - val_loss: 512.4322 - val_acc: 0.9391\n",
"Epoch 204/500\n",
"19963/19963 [==============================] - 4s - loss: 494.1721 - acc: 0.9350 - val_loss: 512.4579 - val_acc: 0.9307\n",
"Epoch 205/500\n",
"19963/19963 [==============================] - 4s - loss: 494.1354 - acc: 0.9362 - val_loss: 512.4993 - val_acc: 0.9257\n",
"Epoch 206/500\n",
"19963/19963 [==============================] - 4s - loss: 494.1246 - acc: 0.9390 - val_loss: 512.5899 - val_acc: 0.9535\n",
"Epoch 207/500\n",
"19963/19963 [==============================] - 4s - loss: 494.1312 - acc: 0.9381 - val_loss: 512.6548 - val_acc: 0.9293\n",
"Epoch 208/500\n",
"19963/19963 [==============================] - 4s - loss: 494.1335 - acc: 0.9390 - val_loss: 512.5760 - val_acc: 0.8958\n",
"Epoch 209/500\n",
"19963/19963 [==============================] - 4s - loss: 494.1104 - acc: 0.9365 - val_loss: 513.0113 - val_acc: 0.9399\n",
"Epoch 210/500\n",
"19963/19963 [==============================] - 4s - loss: 494.0968 - acc: 0.9393 - val_loss: 513.2433 - val_acc: 0.9263\n",
"Epoch 211/500\n",
"19963/19963 [==============================] - 4s - loss: 494.0933 - acc: 0.9395 - val_loss: 512.7495 - val_acc: 0.9281\n",
"Epoch 212/500\n",
"19963/19963 [==============================] - 4s - loss: 494.1035 - acc: 0.9399 - val_loss: 512.7977 - val_acc: 0.9205\n",
"Epoch 213/500\n",
"19963/19963 [==============================] - 4s - loss: 494.0760 - acc: 0.9382 - val_loss: 512.5744 - val_acc: 0.9205\n",
"Epoch 214/500\n",
"19963/19963 [==============================] - 4s - loss: 494.0583 - acc: 0.9380 - val_loss: 512.7637 - val_acc: 0.9423\n",
"Epoch 215/500\n",
"19963/19963 [==============================] - 4s - loss: 494.0423 - acc: 0.9410 - val_loss: 512.8654 - val_acc: 0.9197\n",
"Epoch 216/500\n",
"19963/19963 [==============================] - 4s - loss: 494.0524 - acc: 0.9424 - val_loss: 512.8313 - val_acc: 0.9317\n",
"Epoch 217/500\n",
"19963/19963 [==============================] - 4s - loss: 494.0609 - acc: 0.9409 - val_loss: 513.4910 - val_acc: 0.9090\n",
"Epoch 218/500\n",
"19963/19963 [==============================] - 4s - loss: 494.0287 - acc: 0.9435 - val_loss: 512.5612 - val_acc: 0.9437\n",
"Epoch 219/500\n",
"19963/19963 [==============================] - 4s - loss: 494.0340 - acc: 0.9425 - val_loss: 513.4890 - val_acc: 0.9373\n",
"Epoch 220/500\n",
"19963/19963 [==============================] - 4s - loss: 494.0093 - acc: 0.9421 - val_loss: 513.5374 - val_acc: 0.9301\n",
"Epoch 221/500\n",
"19963/19963 [==============================] - 4s - loss: 494.0179 - acc: 0.9431 - val_loss: 512.9200 - val_acc: 0.9401\n",
"Epoch 222/500\n",
"19963/19963 [==============================] - 4s - loss: 493.9808 - acc: 0.9443 - val_loss: 513.4616 - val_acc: 0.9423\n",
"Epoch 223/500\n",
"19963/19963 [==============================] - 4s - loss: 493.9903 - acc: 0.9446 - val_loss: 513.4754 - val_acc: 0.9333\n",
"Epoch 224/500\n",
"19963/19963 [==============================] - 4s - loss: 493.9987 - acc: 0.9447 - val_loss: 513.8150 - val_acc: 0.9363\n",
"Epoch 225/500\n",
"19963/19963 [==============================] - 4s - loss: 493.9723 - acc: 0.9450 - val_loss: 513.1297 - val_acc: 0.9539\n",
"Epoch 226/500\n",
"19963/19963 [==============================] - 4s - loss: 493.9611 - acc: 0.9433 - val_loss: 513.7288 - val_acc: 0.9411\n",
"Epoch 227/500\n",
"19963/19963 [==============================] - 4s - loss: 493.9515 - acc: 0.9440 - val_loss: 513.4886 - val_acc: 0.9331\n",
"Epoch 228/500\n",
"19963/19963 [==============================] - 4s - loss: 493.9436 - acc: 0.9437 - val_loss: 513.0628 - val_acc: 0.9377\n",
"Epoch 229/500\n",
"19963/19963 [==============================] - 4s - loss: 493.9549 - acc: 0.9464 - val_loss: 513.8014 - val_acc: 0.9435\n",
"Epoch 230/500\n",
"19963/19963 [==============================] - 4s - loss: 493.9336 - acc: 0.9467 - val_loss: 513.6699 - val_acc: 0.9285\n",
"Epoch 231/500\n",
"19963/19963 [==============================] - 4s - loss: 493.9257 - acc: 0.9456 - val_loss: 514.0978 - val_acc: 0.9449\n",
"Epoch 232/500\n",
"19963/19963 [==============================] - 4s - loss: 493.9111 - acc: 0.9447 - val_loss: 513.4519 - val_acc: 0.9381\n",
"Epoch 233/500\n",
"19963/19963 [==============================] - 4s - loss: 493.8898 - acc: 0.9436 - val_loss: 513.4694 - val_acc: 0.9311\n",
"Epoch 234/500\n",
"19963/19963 [==============================] - 4s - loss: 493.8833 - acc: 0.9465 - val_loss: 513.9420 - val_acc: 0.9321\n",
"Epoch 235/500\n",
"19963/19963 [==============================] - 4s - loss: 493.8900 - acc: 0.9471 - val_loss: 513.5383 - val_acc: 0.9387\n",
"Epoch 236/500\n",
"19963/19963 [==============================] - 4s - loss: 493.8811 - acc: 0.9476 - val_loss: 514.1607 - val_acc: 0.9421\n",
"Epoch 237/500\n",
"19963/19963 [==============================] - 4s - loss: 493.8919 - acc: 0.9445 - val_loss: 514.2876 - val_acc: 0.9361\n",
"Epoch 238/500\n",
"19963/19963 [==============================] - 4s - loss: 493.8529 - acc: 0.9440 - val_loss: 513.8998 - val_acc: 0.9311\n",
"Epoch 239/500\n",
"19963/19963 [==============================] - 4s - loss: 493.8561 - acc: 0.9488 - val_loss: 513.5985 - val_acc: 0.9463\n",
"Epoch 240/500\n",
"19963/19963 [==============================] - 4s - loss: 493.8504 - acc: 0.9478 - val_loss: 513.8540 - val_acc: 0.9579\n",
"Epoch 241/500\n",
"19963/19963 [==============================] - 4s - loss: 493.8443 - acc: 0.9468 - val_loss: 513.8317 - val_acc: 0.9475\n",
"Epoch 242/500\n",
"19963/19963 [==============================] - 4s - loss: 493.8297 - acc: 0.9462 - val_loss: 514.6547 - val_acc: 0.9513\n",
"Epoch 243/500\n",
"19963/19963 [==============================] - 4s - loss: 493.8303 - acc: 0.9475 - val_loss: 514.4881 - val_acc: 0.9507\n",
"Epoch 244/500\n",
"19963/19963 [==============================] - 4s - loss: 493.8313 - acc: 0.9481 - val_loss: 514.7005 - val_acc: 0.9519\n",
"Epoch 245/500\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"19963/19963 [==============================] - 4s - loss: 493.8071 - acc: 0.9487 - val_loss: 514.3960 - val_acc: 0.9405\n",
"Epoch 246/500\n",
"19963/19963 [==============================] - 4s - loss: 493.8041 - acc: 0.9489 - val_loss: 514.0023 - val_acc: 0.9319\n",
"Epoch 247/500\n",
"19963/19963 [==============================] - 4s - loss: 493.7912 - acc: 0.9510 - val_loss: 514.8714 - val_acc: 0.9495\n",
"Epoch 248/500\n",
"19963/19963 [==============================] - 4s - loss: 493.8028 - acc: 0.9486 - val_loss: 514.3183 - val_acc: 0.9349\n",
"Epoch 249/500\n",
"19963/19963 [==============================] - 4s - loss: 493.7943 - acc: 0.9494 - val_loss: 514.6188 - val_acc: 0.9337\n",
"Epoch 250/500\n",
"19963/19963 [==============================] - 4s - loss: 493.7955 - acc: 0.9485 - val_loss: 514.5264 - val_acc: 0.9413\n",
"Epoch 251/500\n",
"19963/19963 [==============================] - 4s - loss: 493.7814 - acc: 0.9492 - val_loss: 514.4235 - val_acc: 0.9405\n",
"Epoch 252/500\n",
"19963/19963 [==============================] - 4s - loss: 493.7353 - acc: 0.9522 - val_loss: 514.3801 - val_acc: 0.9475\n",
"Epoch 253/500\n",
"19963/19963 [==============================] - 4s - loss: 493.7448 - acc: 0.9470 - val_loss: 514.2343 - val_acc: 0.9331\n",
"Epoch 254/500\n",
"19963/19963 [==============================] - 4s - loss: 493.7596 - acc: 0.9505 - val_loss: 514.6797 - val_acc: 0.9439\n",
"Epoch 255/500\n",
"19963/19963 [==============================] - 4s - loss: 493.7345 - acc: 0.9480 - val_loss: 515.0977 - val_acc: 0.9341\n",
"Epoch 256/500\n",
"19963/19963 [==============================] - 4s - loss: 493.7258 - acc: 0.9479 - val_loss: 514.2398 - val_acc: 0.9397\n",
"Epoch 257/500\n",
"19963/19963 [==============================] - 4s - loss: 493.7318 - acc: 0.9488 - val_loss: 514.9191 - val_acc: 0.9491\n",
"Epoch 258/500\n",
"19963/19963 [==============================] - 4s - loss: 493.7321 - acc: 0.9485 - val_loss: 515.0298 - val_acc: 0.9551\n",
"Epoch 259/500\n",
"19963/19963 [==============================] - 4s - loss: 493.7037 - acc: 0.9482 - val_loss: 514.5596 - val_acc: 0.9469\n",
"Epoch 260/500\n",
"19963/19963 [==============================] - 4s - loss: 493.6986 - acc: 0.9493 - val_loss: 514.8626 - val_acc: 0.9367\n",
"Epoch 261/500\n",
"19963/19963 [==============================] - 4s - loss: 493.6958 - acc: 0.9509 - val_loss: 515.1639 - val_acc: 0.9527\n",
"Epoch 262/500\n",
"19963/19963 [==============================] - 4s - loss: 493.6874 - acc: 0.9494 - val_loss: 515.0715 - val_acc: 0.9551\n",
"Epoch 263/500\n",
"19963/19963 [==============================] - 4s - loss: 493.6756 - acc: 0.9498 - val_loss: 514.1674 - val_acc: 0.9427\n",
"Epoch 264/500\n",
"19963/19963 [==============================] - 4s - loss: 493.6773 - acc: 0.9506 - val_loss: 515.0842 - val_acc: 0.9433\n",
"Epoch 265/500\n",
"19963/19963 [==============================] - 4s - loss: 493.6870 - acc: 0.9511 - val_loss: 515.6192 - val_acc: 0.9289\n",
"Epoch 266/500\n",
"19963/19963 [==============================] - 4s - loss: 493.6729 - acc: 0.9494 - val_loss: 515.6511 - val_acc: 0.9261\n",
"Epoch 267/500\n",
"19963/19963 [==============================] - 4s - loss: 493.6542 - acc: 0.9517 - val_loss: 515.4828 - val_acc: 0.9403\n",
"Epoch 268/500\n",
"19963/19963 [==============================] - 4s - loss: 493.6481 - acc: 0.9521 - val_loss: 515.6330 - val_acc: 0.9275\n",
"Epoch 269/500\n",
"19963/19963 [==============================] - 4s - loss: 493.6367 - acc: 0.9529 - val_loss: 515.9627 - val_acc: 0.9503\n",
"Epoch 270/500\n",
"19963/19963 [==============================] - 4s - loss: 493.6380 - acc: 0.9525 - val_loss: 515.7559 - val_acc: 0.9429\n",
"Epoch 271/500\n",
"19963/19963 [==============================] - 4s - loss: 493.6359 - acc: 0.9530 - val_loss: 515.1681 - val_acc: 0.9555\n",
"Epoch 272/500\n",
"19963/19963 [==============================] - 4s - loss: 493.6245 - acc: 0.9499 - val_loss: 515.8812 - val_acc: 0.9529\n",
"Epoch 273/500\n",
"19963/19963 [==============================] - 4s - loss: 493.6090 - acc: 0.9546 - val_loss: 515.5764 - val_acc: 0.9467\n",
"Epoch 274/500\n",
"19963/19963 [==============================] - 4s - loss: 493.6160 - acc: 0.9533 - val_loss: 515.7477 - val_acc: 0.9461\n",
"Epoch 275/500\n",
"19963/19963 [==============================] - 4s - loss: 493.6063 - acc: 0.9523 - val_loss: 515.3288 - val_acc: 0.9509\n",
"Epoch 276/500\n",
"19963/19963 [==============================] - 4s - loss: 493.5916 - acc: 0.9537 - val_loss: 515.5664 - val_acc: 0.9513\n",
"Epoch 277/500\n",
"19963/19963 [==============================] - 4s - loss: 493.5915 - acc: 0.9542 - val_loss: 516.1525 - val_acc: 0.9535\n",
"Epoch 278/500\n",
"19963/19963 [==============================] - 4s - loss: 493.5844 - acc: 0.9530 - val_loss: 515.4103 - val_acc: 0.9557\n",
"Epoch 279/500\n",
"19963/19963 [==============================] - 4s - loss: 493.5705 - acc: 0.9520 - val_loss: 515.9302 - val_acc: 0.9461\n",
"Epoch 280/500\n",
"19963/19963 [==============================] - 4s - loss: 493.5680 - acc: 0.9539 - val_loss: 515.8831 - val_acc: 0.9497\n",
"Epoch 281/500\n",
"19963/19963 [==============================] - 4s - loss: 493.5684 - acc: 0.9517 - val_loss: 515.8381 - val_acc: 0.9309\n",
"Epoch 282/500\n",
"19963/19963 [==============================] - 4s - loss: 493.5525 - acc: 0.9524 - val_loss: 516.3065 - val_acc: 0.9489\n",
"Epoch 283/500\n",
"19963/19963 [==============================] - 4s - loss: 493.5566 - acc: 0.9530 - val_loss: 516.4894 - val_acc: 0.9487\n",
"Epoch 284/500\n",
"19963/19963 [==============================] - 4s - loss: 493.5256 - acc: 0.9536 - val_loss: 517.0733 - val_acc: 0.9591\n",
"Epoch 285/500\n",
"19963/19963 [==============================] - 4s - loss: 493.5413 - acc: 0.9552 - val_loss: 515.8981 - val_acc: 0.9499\n",
"Epoch 286/500\n",
"19963/19963 [==============================] - 4s - loss: 493.5279 - acc: 0.9537 - val_loss: 515.9369 - val_acc: 0.9625\n",
"Epoch 287/500\n",
"19963/19963 [==============================] - 4s - loss: 493.5251 - acc: 0.9566 - val_loss: 515.2999 - val_acc: 0.9519\n",
"Epoch 288/500\n",
"19963/19963 [==============================] - 4s - loss: 493.5078 - acc: 0.9560 - val_loss: 515.9258 - val_acc: 0.9537\n",
"Epoch 289/500\n",
"19963/19963 [==============================] - 4s - loss: 493.5246 - acc: 0.9547 - val_loss: 515.7352 - val_acc: 0.9621\n",
"Epoch 290/500\n",
"19963/19963 [==============================] - 4s - loss: 493.5112 - acc: 0.9540 - val_loss: 516.4518 - val_acc: 0.9499\n",
"Epoch 291/500\n",
"19963/19963 [==============================] - 4s - loss: 493.4941 - acc: 0.9570 - val_loss: 516.4888 - val_acc: 0.9609\n",
"Epoch 292/500\n",
"19963/19963 [==============================] - 4s - loss: 493.4796 - acc: 0.9532 - val_loss: 516.6315 - val_acc: 0.9503\n",
"Epoch 293/500\n",
"19963/19963 [==============================] - 4s - loss: 493.4836 - acc: 0.9577 - val_loss: 516.3505 - val_acc: 0.9567\n",
"Epoch 294/500\n",
"19963/19963 [==============================] - 4s - loss: 493.4852 - acc: 0.9554 - val_loss: 516.0478 - val_acc: 0.9569\n",
"Epoch 295/500\n",
"19963/19963 [==============================] - 4s - loss: 493.4734 - acc: 0.9552 - val_loss: 516.5111 - val_acc: 0.9585\n",
"Epoch 296/500\n",
"19963/19963 [==============================] - 4s - loss: 493.4499 - acc: 0.9557 - val_loss: 515.8930 - val_acc: 0.9547\n",
"Epoch 297/500\n",
"19963/19963 [==============================] - 4s - loss: 493.4714 - acc: 0.9562 - val_loss: 516.2444 - val_acc: 0.9585\n",
"Epoch 298/500\n",
"19963/19963 [==============================] - 4s - loss: 493.4527 - acc: 0.9550 - val_loss: 517.4130 - val_acc: 0.9437\n",
"Epoch 299/500\n",
"19963/19963 [==============================] - 4s - loss: 493.4634 - acc: 0.9562 - val_loss: 516.6477 - val_acc: 0.9553\n",
"Epoch 300/500\n",
"19963/19963 [==============================] - 4s - loss: 493.4438 - acc: 0.9553 - val_loss: 516.2735 - val_acc: 0.9559\n",
"Epoch 301/500\n",
"19963/19963 [==============================] - 4s - loss: 493.4608 - acc: 0.9550 - val_loss: 516.3542 - val_acc: 0.9523\n",
"Epoch 302/500\n",
"19963/19963 [==============================] - 4s - loss: 493.4359 - acc: 0.9567 - val_loss: 516.4326 - val_acc: 0.9583\n",
"Epoch 303/500\n",
"19963/19963 [==============================] - 4s - loss: 493.4179 - acc: 0.9546 - val_loss: 516.1241 - val_acc: 0.9497\n",
"Epoch 304/500\n",
"19963/19963 [==============================] - 4s - loss: 493.4274 - acc: 0.9550 - val_loss: 517.7369 - val_acc: 0.9427\n",
"Epoch 305/500\n",
"19963/19963 [==============================] - 4s - loss: 493.4160 - acc: 0.9563 - val_loss: 516.8111 - val_acc: 0.9571\n",
"Epoch 306/500\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"19963/19963 [==============================] - 4s - loss: 493.4076 - acc: 0.9568 - val_loss: 516.4242 - val_acc: 0.9547\n",
"Epoch 307/500\n",
"19963/19963 [==============================] - 4s - loss: 493.3829 - acc: 0.9559 - val_loss: 516.8223 - val_acc: 0.9595\n",
"Epoch 308/500\n",
"19963/19963 [==============================] - 4s - loss: 493.4070 - acc: 0.9561 - val_loss: 516.5648 - val_acc: 0.9583\n",
"Epoch 309/500\n",
"19963/19963 [==============================] - 4s - loss: 493.3681 - acc: 0.9577 - val_loss: 516.8094 - val_acc: 0.9447\n",
"Epoch 310/500\n",
"19963/19963 [==============================] - 4s - loss: 493.3924 - acc: 0.9562 - val_loss: 517.5253 - val_acc: 0.9625\n",
"Epoch 311/500\n",
"19963/19963 [==============================] - 4s - loss: 493.3689 - acc: 0.9560 - val_loss: 517.4248 - val_acc: 0.9511\n",
"Epoch 312/500\n",
"19963/19963 [==============================] - 4s - loss: 493.3694 - acc: 0.9569 - val_loss: 516.7473 - val_acc: 0.9561\n",
"Epoch 313/500\n",
"19963/19963 [==============================] - 4s - loss: 493.3511 - acc: 0.9560 - val_loss: 517.6065 - val_acc: 0.9479\n",
"Epoch 314/500\n",
"19963/19963 [==============================] - 4s - loss: 493.3551 - acc: 0.9591 - val_loss: 516.5301 - val_acc: 0.9541\n",
"Epoch 315/500\n",
"19963/19963 [==============================] - 4s - loss: 493.3529 - acc: 0.9561 - val_loss: 517.5550 - val_acc: 0.9555\n",
"Epoch 316/500\n",
"19963/19963 [==============================] - 4s - loss: 493.3333 - acc: 0.9569 - val_loss: 518.2606 - val_acc: 0.9469\n",
"Epoch 317/500\n",
"19963/19963 [==============================] - 4s - loss: 493.3525 - acc: 0.9581 - val_loss: 516.8525 - val_acc: 0.9545\n",
"Epoch 318/500\n",
"19963/19963 [==============================] - 4s - loss: 493.3532 - acc: 0.9560 - val_loss: 517.1330 - val_acc: 0.9509\n",
"Epoch 319/500\n",
"19963/19963 [==============================] - 4s - loss: 493.3487 - acc: 0.9573 - val_loss: 517.4108 - val_acc: 0.9389\n",
"Epoch 320/500\n",
"19963/19963 [==============================] - 4s - loss: 493.3159 - acc: 0.9575 - val_loss: 517.6544 - val_acc: 0.9499\n",
"Epoch 321/500\n",
"19963/19963 [==============================] - 4s - loss: 493.3206 - acc: 0.9579 - val_loss: 517.5033 - val_acc: 0.9477\n",
"Epoch 322/500\n",
"19963/19963 [==============================] - 4s - loss: 493.2915 - acc: 0.9588 - val_loss: 518.1011 - val_acc: 0.9593\n",
"Epoch 323/500\n",
"19963/19963 [==============================] - 4s - loss: 493.3020 - acc: 0.9581 - val_loss: 517.1859 - val_acc: 0.9527\n",
"Epoch 324/500\n",
"19963/19963 [==============================] - 4s - loss: 493.2971 - acc: 0.9587 - val_loss: 517.7230 - val_acc: 0.9531\n",
"Epoch 325/500\n",
"19963/19963 [==============================] - 4s - loss: 493.3108 - acc: 0.9583 - val_loss: 517.5614 - val_acc: 0.9571\n",
"Epoch 326/500\n",
"19963/19963 [==============================] - 4s - loss: 493.2838 - acc: 0.9602 - val_loss: 517.8998 - val_acc: 0.9573\n",
"Epoch 327/500\n",
"19963/19963 [==============================] - 4s - loss: 493.3117 - acc: 0.9595 - val_loss: 517.8227 - val_acc: 0.9623\n",
"Epoch 328/500\n",
"19963/19963 [==============================] - 4s - loss: 493.2910 - acc: 0.9586 - val_loss: 517.5640 - val_acc: 0.9567\n",
"Epoch 329/500\n",
"19963/19963 [==============================] - 4s - loss: 493.2700 - acc: 0.9588 - val_loss: 517.6651 - val_acc: 0.9651\n",
"Epoch 330/500\n",
"19963/19963 [==============================] - 4s - loss: 493.2673 - acc: 0.9603 - val_loss: 517.6770 - val_acc: 0.9541\n",
"Epoch 331/500\n",
"19963/19963 [==============================] - 4s - loss: 493.2672 - acc: 0.9587 - val_loss: 518.3985 - val_acc: 0.9551\n",
"Epoch 332/500\n",
"19963/19963 [==============================] - 4s - loss: 493.2508 - acc: 0.9588 - val_loss: 517.5999 - val_acc: 0.9517\n",
"Epoch 333/500\n",
"19963/19963 [==============================] - 4s - loss: 493.2355 - acc: 0.9598 - val_loss: 517.2874 - val_acc: 0.9517\n",
"Epoch 334/500\n",
"19963/19963 [==============================] - 4s - loss: 493.2562 - acc: 0.9599 - val_loss: 517.8885 - val_acc: 0.9559\n",
"Epoch 335/500\n",
"19963/19963 [==============================] - 4s - loss: 493.2527 - acc: 0.9601 - val_loss: 517.7571 - val_acc: 0.9623\n",
"Epoch 336/500\n",
"19963/19963 [==============================] - 4s - loss: 493.2429 - acc: 0.9598 - val_loss: 517.5460 - val_acc: 0.9617\n",
"Epoch 337/500\n",
"19963/19963 [==============================] - 4s - loss: 493.2272 - acc: 0.9616 - val_loss: 518.1440 - val_acc: 0.9573\n",
"Epoch 338/500\n",
"19963/19963 [==============================] - 4s - loss: 493.2339 - acc: 0.9610 - val_loss: 517.9645 - val_acc: 0.9655\n",
"Epoch 339/500\n",
"19963/19963 [==============================] - 4s - loss: 493.2229 - acc: 0.9628 - val_loss: 518.5344 - val_acc: 0.9559\n",
"Epoch 340/500\n",
"19963/19963 [==============================] - 4s - loss: 493.2468 - acc: 0.9624 - val_loss: 517.8453 - val_acc: 0.9623\n",
"Epoch 341/500\n",
"19963/19963 [==============================] - 4s - loss: 493.1929 - acc: 0.9612 - val_loss: 517.8809 - val_acc: 0.9635\n",
"Epoch 342/500\n",
"19963/19963 [==============================] - 4s - loss: 493.2012 - acc: 0.9614 - val_loss: 518.1192 - val_acc: 0.9649\n",
"Epoch 343/500\n",
"19963/19963 [==============================] - 4s - loss: 493.2104 - acc: 0.9613 - val_loss: 518.0911 - val_acc: 0.9567\n",
"Epoch 344/500\n",
"19963/19963 [==============================] - 4s - loss: 493.1742 - acc: 0.9610 - val_loss: 518.3220 - val_acc: 0.9637\n",
"Epoch 345/500\n",
"19963/19963 [==============================] - 4s - loss: 493.1951 - acc: 0.9630 - val_loss: 518.3847 - val_acc: 0.9667\n",
"Epoch 346/500\n",
"19963/19963 [==============================] - 4s - loss: 493.1822 - acc: 0.9611 - val_loss: 519.2944 - val_acc: 0.9603\n",
"Epoch 347/500\n",
"19963/19963 [==============================] - 4s - loss: 493.1843 - acc: 0.9600 - val_loss: 518.2546 - val_acc: 0.9565\n",
"Epoch 348/500\n",
"19963/19963 [==============================] - 4s - loss: 493.1722 - acc: 0.9617 - val_loss: 518.4207 - val_acc: 0.9577\n",
"Epoch 349/500\n",
"19963/19963 [==============================] - 4s - loss: 493.1673 - acc: 0.9603 - val_loss: 518.4414 - val_acc: 0.9619\n",
"Epoch 350/500\n",
"19963/19963 [==============================] - 4s - loss: 493.1564 - acc: 0.9620 - val_loss: 518.0800 - val_acc: 0.9555\n",
"Epoch 351/500\n",
"19963/19963 [==============================] - 4s - loss: 493.1728 - acc: 0.9602 - val_loss: 518.5693 - val_acc: 0.9579\n",
"Epoch 352/500\n",
"19963/19963 [==============================] - 4s - loss: 493.1423 - acc: 0.9619 - val_loss: 519.8097 - val_acc: 0.9511\n",
"Epoch 353/500\n",
"19963/19963 [==============================] - 4s - loss: 493.1604 - acc: 0.9614 - val_loss: 519.2065 - val_acc: 0.9535\n",
"Epoch 354/500\n",
"19963/19963 [==============================] - 4s - loss: 493.1419 - acc: 0.9616 - val_loss: 518.6050 - val_acc: 0.9639\n",
"Epoch 355/500\n",
"19963/19963 [==============================] - 4s - loss: 493.1349 - acc: 0.9627 - val_loss: 519.0150 - val_acc: 0.9617\n",
"Epoch 356/500\n",
"19963/19963 [==============================] - 4s - loss: 493.1445 - acc: 0.9611 - val_loss: 519.0588 - val_acc: 0.9581\n",
"Epoch 357/500\n",
"19963/19963 [==============================] - 4s - loss: 493.1316 - acc: 0.9637 - val_loss: 518.0237 - val_acc: 0.9641\n",
"Epoch 358/500\n",
"19963/19963 [==============================] - 4s - loss: 493.1233 - acc: 0.9621 - val_loss: 519.0910 - val_acc: 0.9611\n",
"Epoch 359/500\n",
"19963/19963 [==============================] - 4s - loss: 493.1112 - acc: 0.9624 - val_loss: 518.6970 - val_acc: 0.9551\n",
"Epoch 360/500\n",
"19963/19963 [==============================] - 4s - loss: 493.1054 - acc: 0.9618 - val_loss: 519.2497 - val_acc: 0.9615\n",
"Epoch 361/500\n",
"19963/19963 [==============================] - 4s - loss: 493.0960 - acc: 0.9629 - val_loss: 518.2046 - val_acc: 0.9599\n",
"Epoch 362/500\n",
"19963/19963 [==============================] - 4s - loss: 493.1001 - acc: 0.9641 - val_loss: 519.1929 - val_acc: 0.9629\n",
"Epoch 363/500\n",
"19963/19963 [==============================] - 4s - loss: 493.1127 - acc: 0.9619 - val_loss: 519.1753 - val_acc: 0.9571\n",
"Epoch 364/500\n",
"19963/19963 [==============================] - 4s - loss: 493.0781 - acc: 0.9640 - val_loss: 519.4361 - val_acc: 0.9537\n",
"Epoch 365/500\n",
"19963/19963 [==============================] - 4s - loss: 493.0829 - acc: 0.9612 - val_loss: 518.9822 - val_acc: 0.9545\n",
"Epoch 366/500\n",
"19963/19963 [==============================] - 4s - loss: 493.0743 - acc: 0.9621 - val_loss: 519.2021 - val_acc: 0.9559\n",
"Epoch 367/500\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"19963/19963 [==============================] - 4s - loss: 493.0873 - acc: 0.9627 - val_loss: 518.8594 - val_acc: 0.9633\n",
"Epoch 368/500\n",
"19963/19963 [==============================] - 4s - loss: 493.0917 - acc: 0.9612 - val_loss: 519.3507 - val_acc: 0.9679\n",
"Epoch 369/500\n",
"19963/19963 [==============================] - 4s - loss: 493.0565 - acc: 0.9628 - val_loss: 519.6654 - val_acc: 0.9619\n",
"Epoch 370/500\n",
"19963/19963 [==============================] - 4s - loss: 493.0800 - acc: 0.9632 - val_loss: 518.6537 - val_acc: 0.9513\n",
"Epoch 371/500\n",
"19963/19963 [==============================] - 4s - loss: 493.0608 - acc: 0.9632 - val_loss: 518.9980 - val_acc: 0.9601\n",
"Epoch 372/500\n",
"19963/19963 [==============================] - 4s - loss: 493.0509 - acc: 0.9627 - val_loss: 519.6773 - val_acc: 0.9601\n",
"Epoch 373/500\n",
"19963/19963 [==============================] - 4s - loss: 493.0621 - acc: 0.9632 - val_loss: 519.5024 - val_acc: 0.9635\n",
"Epoch 374/500\n",
"19963/19963 [==============================] - 4s - loss: 493.0554 - acc: 0.9635 - val_loss: 519.4172 - val_acc: 0.9605\n",
"Epoch 375/500\n",
"19963/19963 [==============================] - 4s - loss: 493.0354 - acc: 0.9630 - val_loss: 519.8720 - val_acc: 0.9623\n",
"Epoch 376/500\n",
"19963/19963 [==============================] - 4s - loss: 493.0386 - acc: 0.9631 - val_loss: 519.8483 - val_acc: 0.9593\n",
"Epoch 377/500\n",
"19963/19963 [==============================] - 4s - loss: 493.0244 - acc: 0.9644 - val_loss: 519.3271 - val_acc: 0.9653\n",
"Epoch 378/500\n",
"19963/19963 [==============================] - 4s - loss: 493.0449 - acc: 0.9663 - val_loss: 519.2957 - val_acc: 0.9659\n",
"Epoch 379/500\n",
"19963/19963 [==============================] - 4s - loss: 493.0052 - acc: 0.9649 - val_loss: 519.4381 - val_acc: 0.9671\n",
"Epoch 380/500\n",
"19963/19963 [==============================] - 4s - loss: 493.0066 - acc: 0.9645 - val_loss: 519.8262 - val_acc: 0.9607\n",
"Epoch 381/500\n",
"19963/19963 [==============================] - 4s - loss: 493.0130 - acc: 0.9637 - val_loss: 519.1387 - val_acc: 0.9533\n",
"Epoch 382/500\n",
"19963/19963 [==============================] - 4s - loss: 493.0246 - acc: 0.9626 - val_loss: 520.1953 - val_acc: 0.9659\n",
"Epoch 383/500\n",
"19963/19963 [==============================] - 4s - loss: 492.9986 - acc: 0.9654 - val_loss: 519.1214 - val_acc: 0.9651\n",
"Epoch 384/500\n",
"19963/19963 [==============================] - 4s - loss: 492.9961 - acc: 0.9648 - val_loss: 519.6214 - val_acc: 0.9625\n",
"Epoch 385/500\n",
"19963/19963 [==============================] - 4s - loss: 492.9758 - acc: 0.9648 - val_loss: 520.2041 - val_acc: 0.9579\n",
"Epoch 386/500\n",
"19963/19963 [==============================] - 4s - loss: 493.0016 - acc: 0.9646 - val_loss: 520.5088 - val_acc: 0.9549\n",
"Epoch 387/500\n",
"19963/19963 [==============================] - 4s - loss: 492.9880 - acc: 0.9626 - val_loss: 520.1781 - val_acc: 0.9575\n",
"Epoch 388/500\n",
"19963/19963 [==============================] - 4s - loss: 492.9782 - acc: 0.9644 - val_loss: 520.0854 - val_acc: 0.9657\n",
"Epoch 389/500\n",
"19963/19963 [==============================] - 4s - loss: 492.9786 - acc: 0.9666 - val_loss: 520.1671 - val_acc: 0.9595\n",
"Epoch 390/500\n",
"19963/19963 [==============================] - 4s - loss: 492.9702 - acc: 0.9639 - val_loss: 519.9188 - val_acc: 0.9581\n",
"Epoch 391/500\n",
"19963/19963 [==============================] - 4s - loss: 492.9679 - acc: 0.9647 - val_loss: 520.0878 - val_acc: 0.9555\n",
"Epoch 392/500\n",
"19963/19963 [==============================] - 4s - loss: 492.9669 - acc: 0.9646 - val_loss: 519.9207 - val_acc: 0.9697\n",
"Epoch 393/500\n",
"19963/19963 [==============================] - 4s - loss: 492.9442 - acc: 0.9663 - val_loss: 520.3296 - val_acc: 0.9557\n",
"Epoch 394/500\n",
"19963/19963 [==============================] - 4s - loss: 492.9592 - acc: 0.9663 - val_loss: 519.4713 - val_acc: 0.9665\n",
"Epoch 395/500\n",
"19963/19963 [==============================] - 4s - loss: 492.9488 - acc: 0.9657 - val_loss: 520.2319 - val_acc: 0.9631\n",
"Epoch 396/500\n",
"19963/19963 [==============================] - 4s - loss: 492.9536 - acc: 0.9650 - val_loss: 520.2598 - val_acc: 0.9577\n",
"Epoch 397/500\n",
"19963/19963 [==============================] - 4s - loss: 492.9394 - acc: 0.9651 - val_loss: 519.9015 - val_acc: 0.9675\n",
"Epoch 398/500\n",
"19963/19963 [==============================] - 4s - loss: 492.9263 - acc: 0.9659 - val_loss: 520.8958 - val_acc: 0.9561\n",
"Epoch 399/500\n",
"19963/19963 [==============================] - 4s - loss: 492.9520 - acc: 0.9656 - val_loss: 519.7258 - val_acc: 0.9621\n",
"Epoch 400/500\n",
"19963/19963 [==============================] - 4s - loss: 492.9417 - acc: 0.9642 - val_loss: 520.5040 - val_acc: 0.9621\n",
"Epoch 401/500\n",
"19963/19963 [==============================] - 4s - loss: 492.9210 - acc: 0.9659 - val_loss: 521.3742 - val_acc: 0.9611\n",
"Epoch 402/500\n",
"19963/19963 [==============================] - 4s - loss: 492.9143 - acc: 0.9662 - val_loss: 519.5412 - val_acc: 0.9663\n",
"Epoch 403/500\n",
"19963/19963 [==============================] - 4s - loss: 492.8986 - acc: 0.9663 - val_loss: 519.5819 - val_acc: 0.9683\n",
"Epoch 404/500\n",
"19963/19963 [==============================] - 4s - loss: 492.8857 - acc: 0.9658 - val_loss: 519.6098 - val_acc: 0.9707\n",
"Epoch 405/500\n",
"19963/19963 [==============================] - 4s - loss: 492.9039 - acc: 0.9667 - val_loss: 520.1227 - val_acc: 0.9665\n",
"Epoch 406/500\n",
"19963/19963 [==============================] - 4s - loss: 492.9012 - acc: 0.9677 - val_loss: 520.5466 - val_acc: 0.9603\n",
"Epoch 407/500\n",
"19963/19963 [==============================] - 4s - loss: 492.8854 - acc: 0.9675 - val_loss: 520.2357 - val_acc: 0.9645\n",
"Epoch 408/500\n",
"19963/19963 [==============================] - 4s - loss: 492.9059 - acc: 0.9665 - val_loss: 520.1481 - val_acc: 0.9683\n",
"Epoch 409/500\n",
"19963/19963 [==============================] - 4s - loss: 492.8748 - acc: 0.9675 - val_loss: 520.3279 - val_acc: 0.9575\n",
"Epoch 410/500\n",
"19963/19963 [==============================] - 4s - loss: 492.8888 - acc: 0.9657 - val_loss: 521.0789 - val_acc: 0.9649\n",
"Epoch 411/500\n",
"19963/19963 [==============================] - 4s - loss: 492.8651 - acc: 0.9660 - val_loss: 520.5602 - val_acc: 0.9651\n",
"Epoch 412/500\n",
"19963/19963 [==============================] - 4s - loss: 492.8836 - acc: 0.9653 - val_loss: 520.3040 - val_acc: 0.9571\n",
"Epoch 413/500\n",
"19963/19963 [==============================] - 4s - loss: 492.8699 - acc: 0.9661 - val_loss: 520.6866 - val_acc: 0.9625\n",
"Epoch 414/500\n",
"19963/19963 [==============================] - 4s - loss: 492.8969 - acc: 0.9652 - val_loss: 520.2972 - val_acc: 0.9645\n",
"Epoch 415/500\n",
"19963/19963 [==============================] - 4s - loss: 492.8878 - acc: 0.9658 - val_loss: 521.0742 - val_acc: 0.9615\n",
"Epoch 416/500\n",
"19963/19963 [==============================] - 4s - loss: 492.8555 - acc: 0.9673 - val_loss: 520.4082 - val_acc: 0.9653\n",
"Epoch 417/500\n",
"19963/19963 [==============================] - 4s - loss: 492.8856 - acc: 0.9664 - val_loss: 520.9310 - val_acc: 0.9709\n",
"Epoch 418/500\n",
"19963/19963 [==============================] - 4s - loss: 492.8615 - acc: 0.9668 - val_loss: 520.9935 - val_acc: 0.9631\n",
"Epoch 419/500\n",
"19963/19963 [==============================] - 4s - loss: 492.8460 - acc: 0.9662 - val_loss: 520.5001 - val_acc: 0.9633\n",
"Epoch 420/500\n",
"19963/19963 [==============================] - 4s - loss: 492.8443 - acc: 0.9667 - val_loss: 521.3756 - val_acc: 0.9607\n",
"Epoch 421/500\n",
"19963/19963 [==============================] - 4s - loss: 492.8476 - acc: 0.9648 - val_loss: 522.1200 - val_acc: 0.9633\n",
"Epoch 422/500\n",
"19963/19963 [==============================] - 4s - loss: 492.8465 - acc: 0.9665 - val_loss: 520.3546 - val_acc: 0.9615\n",
"Epoch 423/500\n",
"19963/19963 [==============================] - 4s - loss: 492.8388 - acc: 0.9659 - val_loss: 520.3208 - val_acc: 0.9651\n",
"Epoch 424/500\n",
"19963/19963 [==============================] - 4s - loss: 492.8524 - acc: 0.9650 - val_loss: 521.0591 - val_acc: 0.9675\n",
"Epoch 425/500\n",
"19963/19963 [==============================] - 4s - loss: 492.8153 - acc: 0.9646 - val_loss: 521.6589 - val_acc: 0.9657\n",
"Epoch 426/500\n",
"19963/19963 [==============================] - 4s - loss: 492.8244 - acc: 0.9655 - val_loss: 521.4534 - val_acc: 0.9643\n",
"Epoch 427/500\n",
"19963/19963 [==============================] - 4s - loss: 492.8100 - acc: 0.9667 - val_loss: 520.9625 - val_acc: 0.9637\n",
"Epoch 428/500\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"19963/19963 [==============================] - 4s - loss: 492.8158 - acc: 0.9660 - val_loss: 521.3631 - val_acc: 0.9657\n",
"Epoch 429/500\n",
"19963/19963 [==============================] - 4s - loss: 492.7940 - acc: 0.9673 - val_loss: 521.3855 - val_acc: 0.9579\n",
"Epoch 430/500\n",
"19963/19963 [==============================] - 4s - loss: 492.8105 - acc: 0.9680 - val_loss: 521.1384 - val_acc: 0.9579\n",
"Epoch 431/500\n",
"19963/19963 [==============================] - 4s - loss: 492.7924 - acc: 0.9676 - val_loss: 521.3082 - val_acc: 0.9645\n",
"Epoch 432/500\n",
"19963/19963 [==============================] - 4s - loss: 492.8049 - acc: 0.9670 - val_loss: 520.9568 - val_acc: 0.9689\n",
"Epoch 433/500\n",
"19963/19963 [==============================] - 4s - loss: 492.8227 - acc: 0.9676 - val_loss: 520.5832 - val_acc: 0.9647\n",
"Epoch 434/500\n",
"19963/19963 [==============================] - 4s - loss: 492.7795 - acc: 0.9664 - val_loss: 521.5889 - val_acc: 0.9705\n",
"Epoch 435/500\n",
"19963/19963 [==============================] - 4s - loss: 492.7713 - acc: 0.9676 - val_loss: 522.3116 - val_acc: 0.9601\n",
"Epoch 436/500\n",
"19963/19963 [==============================] - 4s - loss: 492.7715 - acc: 0.9680 - val_loss: 521.8315 - val_acc: 0.9645\n",
"Epoch 437/500\n",
"19963/19963 [==============================] - 4s - loss: 492.7555 - acc: 0.9672 - val_loss: 521.4849 - val_acc: 0.9701\n",
"Epoch 438/500\n",
"19963/19963 [==============================] - 4s - loss: 492.7608 - acc: 0.9680 - val_loss: 522.6820 - val_acc: 0.9649\n",
"Epoch 439/500\n",
"19963/19963 [==============================] - 4s - loss: 492.7764 - acc: 0.9690 - val_loss: 522.1751 - val_acc: 0.9641\n",
"Epoch 440/500\n",
"19963/19963 [==============================] - 4s - loss: 492.7604 - acc: 0.9691 - val_loss: 521.6795 - val_acc: 0.9663\n",
"Epoch 441/500\n",
"19963/19963 [==============================] - 4s - loss: 492.7596 - acc: 0.9689 - val_loss: 521.3893 - val_acc: 0.9659\n",
"Epoch 442/500\n",
"19963/19963 [==============================] - 4s - loss: 492.7838 - acc: 0.9677 - val_loss: 521.7740 - val_acc: 0.9615\n",
"Epoch 443/500\n",
"19963/19963 [==============================] - 4s - loss: 492.7367 - acc: 0.9683 - val_loss: 521.2686 - val_acc: 0.9689\n",
"Epoch 444/500\n",
"19963/19963 [==============================] - 4s - loss: 492.7491 - acc: 0.9685 - val_loss: 521.5448 - val_acc: 0.9633\n",
"Epoch 445/500\n",
"19963/19963 [==============================] - 4s - loss: 492.7301 - acc: 0.9679 - val_loss: 520.7187 - val_acc: 0.9689\n",
"Epoch 446/500\n",
"19963/19963 [==============================] - 4s - loss: 492.7486 - acc: 0.9689 - val_loss: 521.4190 - val_acc: 0.9715\n",
"Epoch 447/500\n",
"19963/19963 [==============================] - 4s - loss: 492.7361 - acc: 0.9688 - val_loss: 521.9614 - val_acc: 0.9703\n",
"Epoch 448/500\n",
"19963/19963 [==============================] - 4s - loss: 492.7605 - acc: 0.9686 - val_loss: 523.0642 - val_acc: 0.9697\n",
"Epoch 449/500\n",
"19963/19963 [==============================] - 4s - loss: 492.7571 - acc: 0.9699 - val_loss: 521.7788 - val_acc: 0.9611\n",
"Epoch 450/500\n",
"19963/19963 [==============================] - 4s - loss: 492.7147 - acc: 0.9688 - val_loss: 521.6606 - val_acc: 0.9631\n",
"Epoch 451/500\n",
"19963/19963 [==============================] - 4s - loss: 492.7104 - acc: 0.9694 - val_loss: 521.7470 - val_acc: 0.9685\n",
"Epoch 452/500\n",
"19963/19963 [==============================] - 4s - loss: 492.7251 - acc: 0.9690 - val_loss: 522.2345 - val_acc: 0.9728\n",
"Epoch 453/500\n",
"19963/19963 [==============================] - 4s - loss: 492.6935 - acc: 0.9693 - val_loss: 522.9564 - val_acc: 0.9663\n",
"Epoch 454/500\n",
"19963/19963 [==============================] - 4s - loss: 492.7229 - acc: 0.9700 - val_loss: 521.8866 - val_acc: 0.9717\n",
"Epoch 455/500\n",
"19963/19963 [==============================] - 4s - loss: 492.7183 - acc: 0.9714 - val_loss: 521.3366 - val_acc: 0.9661\n",
"Epoch 456/500\n",
"19963/19963 [==============================] - 4s - loss: 492.7180 - acc: 0.9697 - val_loss: 521.5273 - val_acc: 0.9687\n",
"Epoch 457/500\n",
"19963/19963 [==============================] - 4s - loss: 492.7086 - acc: 0.9677 - val_loss: 522.6364 - val_acc: 0.9609\n",
"Epoch 458/500\n",
"19963/19963 [==============================] - 4s - loss: 492.7111 - acc: 0.9706 - val_loss: 522.3375 - val_acc: 0.9675\n",
"Epoch 459/500\n",
"19963/19963 [==============================] - 4s - loss: 492.7032 - acc: 0.9697 - val_loss: 522.8005 - val_acc: 0.9671\n",
"Epoch 460/500\n",
"19963/19963 [==============================] - 4s - loss: 492.6893 - acc: 0.9685 - val_loss: 522.3066 - val_acc: 0.9661\n",
"Epoch 461/500\n",
"19963/19963 [==============================] - 4s - loss: 492.6880 - acc: 0.9688 - val_loss: 522.6852 - val_acc: 0.9665\n",
"Epoch 462/500\n",
"19963/19963 [==============================] - 4s - loss: 492.6817 - acc: 0.9687 - val_loss: 521.9666 - val_acc: 0.9687\n",
"Epoch 463/500\n",
"19963/19963 [==============================] - 4s - loss: 492.6995 - acc: 0.9691 - val_loss: 522.7354 - val_acc: 0.9663\n",
"Epoch 464/500\n",
"19963/19963 [==============================] - 4s - loss: 492.6805 - acc: 0.9702 - val_loss: 521.8502 - val_acc: 0.9695\n",
"Epoch 465/500\n",
"19963/19963 [==============================] - 4s - loss: 492.6601 - acc: 0.9709 - val_loss: 522.4960 - val_acc: 0.9703\n",
"Epoch 466/500\n",
"19963/19963 [==============================] - 4s - loss: 492.6794 - acc: 0.9710 - val_loss: 522.4973 - val_acc: 0.9653\n",
"Epoch 467/500\n",
"19963/19963 [==============================] - 4s - loss: 492.6659 - acc: 0.9698 - val_loss: 521.7864 - val_acc: 0.9711\n",
"Epoch 468/500\n",
"19963/19963 [==============================] - 4s - loss: 492.6674 - acc: 0.9701 - val_loss: 522.8227 - val_acc: 0.9721\n",
"Epoch 469/500\n",
"19963/19963 [==============================] - 4s - loss: 492.6550 - acc: 0.9711 - val_loss: 522.3789 - val_acc: 0.9705\n",
"Epoch 470/500\n",
"19963/19963 [==============================] - 4s - loss: 492.6781 - acc: 0.9712 - val_loss: 522.4330 - val_acc: 0.9687\n",
"Epoch 471/500\n",
"19963/19963 [==============================] - 4s - loss: 492.6779 - acc: 0.9707 - val_loss: 523.5981 - val_acc: 0.9717\n",
"Epoch 472/500\n",
"19963/19963 [==============================] - 4s - loss: 492.6333 - acc: 0.9711 - val_loss: 522.8292 - val_acc: 0.9705\n",
"Epoch 473/500\n",
"19963/19963 [==============================] - 4s - loss: 492.6372 - acc: 0.9711 - val_loss: 523.0735 - val_acc: 0.9691\n",
"Epoch 474/500\n",
"19963/19963 [==============================] - 4s - loss: 492.6338 - acc: 0.9723 - val_loss: 522.8489 - val_acc: 0.9669\n",
"Epoch 475/500\n",
"19963/19963 [==============================] - 4s - loss: 492.6367 - acc: 0.9718 - val_loss: 522.4099 - val_acc: 0.9717\n",
"Epoch 476/500\n",
"19963/19963 [==============================] - 4s - loss: 492.6085 - acc: 0.9705 - val_loss: 522.8379 - val_acc: 0.9695\n",
"Epoch 477/500\n",
"19963/19963 [==============================] - 4s - loss: 492.6392 - acc: 0.9717 - val_loss: 523.2601 - val_acc: 0.9697\n",
"Epoch 478/500\n",
"19963/19963 [==============================] - 4s - loss: 492.6270 - acc: 0.9707 - val_loss: 523.0826 - val_acc: 0.9607\n",
"Epoch 479/500\n",
"19963/19963 [==============================] - 4s - loss: 492.6469 - acc: 0.9711 - val_loss: 522.1494 - val_acc: 0.9709\n",
"Epoch 480/500\n",
"19963/19963 [==============================] - 4s - loss: 492.6032 - acc: 0.9717 - val_loss: 523.0109 - val_acc: 0.9760\n",
"Epoch 481/500\n",
"19963/19963 [==============================] - 4s - loss: 492.5939 - acc: 0.9733 - val_loss: 523.2088 - val_acc: 0.9695\n",
"Epoch 482/500\n",
"19963/19963 [==============================] - 4s - loss: 492.6055 - acc: 0.9726 - val_loss: 522.8233 - val_acc: 0.9685\n",
"Epoch 483/500\n",
"19963/19963 [==============================] - 4s - loss: 492.6285 - acc: 0.9717 - val_loss: 522.0761 - val_acc: 0.9728\n",
"Epoch 484/500\n",
"19963/19963 [==============================] - 4s - loss: 492.6015 - acc: 0.9723 - val_loss: 522.0767 - val_acc: 0.9705\n",
"Epoch 485/500\n",
"19963/19963 [==============================] - 4s - loss: 492.5926 - acc: 0.9735 - val_loss: 522.7379 - val_acc: 0.9728\n",
"Epoch 486/500\n",
"19963/19963 [==============================] - 4s - loss: 492.6344 - acc: 0.9724 - val_loss: 523.4349 - val_acc: 0.9701\n",
"Epoch 487/500\n",
"19963/19963 [==============================] - 4s - loss: 492.6152 - acc: 0.9713 - val_loss: 522.9709 - val_acc: 0.9717\n",
"Epoch 488/500\n",
"19963/19963 [==============================] - 4s - loss: 492.5943 - acc: 0.9722 - val_loss: 522.2342 - val_acc: 0.9709\n",
"Epoch 489/500\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"19963/19963 [==============================] - 4s - loss: 492.5984 - acc: 0.9722 - val_loss: 523.0990 - val_acc: 0.9693\n",
"Epoch 490/500\n",
"19963/19963 [==============================] - 4s - loss: 492.5692 - acc: 0.9723 - val_loss: 523.1680 - val_acc: 0.9687\n",
"Epoch 491/500\n",
"19963/19963 [==============================] - 4s - loss: 492.5955 - acc: 0.9722 - val_loss: 523.1605 - val_acc: 0.9711\n",
"Epoch 492/500\n",
"19963/19963 [==============================] - 4s - loss: 492.5674 - acc: 0.9730 - val_loss: 523.5230 - val_acc: 0.9709\n",
"Epoch 493/500\n",
"19963/19963 [==============================] - 4s - loss: 492.5607 - acc: 0.9719 - val_loss: 522.4805 - val_acc: 0.9705\n",
"Epoch 494/500\n",
"19963/19963 [==============================] - 4s - loss: 492.5855 - acc: 0.9726 - val_loss: 524.0435 - val_acc: 0.9701\n",
"Epoch 495/500\n",
"19963/19963 [==============================] - 4s - loss: 492.5620 - acc: 0.9731 - val_loss: 522.9716 - val_acc: 0.9657\n",
"Epoch 496/500\n",
"19963/19963 [==============================] - 4s - loss: 492.5732 - acc: 0.9718 - val_loss: 523.4193 - val_acc: 0.9697\n",
"Epoch 497/500\n",
"19963/19963 [==============================] - 4s - loss: 492.5679 - acc: 0.9719 - val_loss: 523.7644 - val_acc: 0.9717\n",
"Epoch 498/500\n",
"19963/19963 [==============================] - 4s - loss: 492.5677 - acc: 0.9723 - val_loss: 522.9556 - val_acc: 0.9719\n",
"Epoch 499/500\n",
"19963/19963 [==============================] - 4s - loss: 492.5498 - acc: 0.9729 - val_loss: 522.9463 - val_acc: 0.9738\n",
"Epoch 500/500\n",
"19963/19963 [==============================] - 4s - loss: 492.5578 - acc: 0.9728 - val_loss: 523.4870 - val_acc: 0.9669\n"
]
}
],
"source": [
"history = model.fit(X_train, y_train, validation_split=0.2, epochs=500)"
]
},
{
"cell_type": "code",
"execution_count": 600,
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-09T03:48:41.082316Z",
"start_time": "2017-12-09T03:48:40.945841Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7febf067b710>"
]
},
"execution_count": 600,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7febf0302ac8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"pd.DataFrame(history.history)['acc'].plot()"
]
},
{
"cell_type": "code",
"execution_count": 601,
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-09T03:48:43.518826Z",
"start_time": "2017-12-09T03:48:43.289736Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2592/2773 [===========================>..] - ETA: 0s"
]
},
{
"data": {
"text/plain": [
"{'acc': 0.96393797331410025, 'loss': 522.92700998696273}"
]
},
"execution_count": 601,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"metrics = model.evaluate(X_test,y_test)\n",
"metrics = dict(zip(model.metrics_names, metrics))\n",
"metrics"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Predict child price"
]
},
{
"cell_type": "markdown",
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-09T04:45:48.048118Z",
"start_time": "2017-12-09T04:45:48.041354Z"
}
},
"source": [
"The prices are not normally distributed in linear space. But in log space they are, so lets predict log price."
]
},
{
"cell_type": "code",
"execution_count": 766,
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-09T04:48:06.242181Z",
"start_time": "2017-12-09T04:48:04.768787Z"
}
},
"outputs": [
{
"data": {
"image/png": "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\n1ilm9ZsKI+oAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7febb85d4198>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAEKCAYAAAAcgp5RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAFvRJREFUeJzt3X+QXWd93/H3BwvzwzSWfyyqK4nILYoZh9TG2Timpgwg\nQ21gkNsQYtKAQtVRmxoCgQ4I0kzdNDMxJRMHT1p3VGwiCDUYY2oVXIoqm9Ay2LD+gQ021IqDkVTb\nWsA24VeIw7d/3GfhepG0d3fv7r179H7N7NxznvOce753tfqcc597zrmpKiRJ3fWEURcgSVpaBr0k\ndZxBL0kdZ9BLUscZ9JLUcQa9JHWcQS9JHTdQ0Cf5rSRfSvLFJFcneXKSU5PckmRvkg8lObb1fVKb\n39uWb1jKFyBJOrI5gz7JWuA3gcmqejZwDHAR8E7gsqp6JvAwsLWtshV4uLVf1vpJkkZk1Tz6PSXJ\nXwNPBR4AXgT8alu+E7gEuALY3KYBrgX+OEnqCJfgnnzyybVhw4b51i5JR7Vbb73161U1MVe/OYO+\nqg4k+QPga8D3gE8CtwKPVNVjrdt+YG2bXgvsa+s+luRR4CTg64fbxoYNG5iampqrFElSnyT3D9Jv\nkKGbE+gdpZ8K/B3gOOD8RVXXe95tSaaSTE1PTy/26SRJhzHIh7HnAX9RVdNV9dfAdcC5wOokM+8I\n1gEH2vQBYD1AW3488I3ZT1pVO6pqsqomJybmfOchSVqgQYL+a8A5SZ6aJMAm4G7gJuCVrc8W4Po2\nvavN05bfeKTxeUnS0poz6KvqFnofqt4G3NXW2QG8DXhzkr30xuCvbKtcCZzU2t8MbF+CuiVJA8o4\nHGxPTk6WH8ZK0vwkubWqJufq55WxktRxBr0kdZxBL0kdZ9BLUscZ9JLUcQa9JHWcQS9JHWfQS1LH\nGfSS1HEGvSR1nEEvSR1n0EtSxxn0ktRxBr0kdZxBL0kdZ9BLUscZ9JLUcQa9JHXcnEGf5LQkd/T9\nfCvJm5KcmGR3knvb4wmtf5JcnmRvkjuTnLX0L0OSdDiDfDn4V6rqzKo6E/h54LvAR+l96feeqtoI\n7OHHXwJ+AbCx/WwDrliKwiVJg5nv0M0m4M+r6n5gM7Czte8ELmzTm4H3Vc/NwOokpwylWknSvM03\n6C8Crm7Ta6rqgTb9ILCmTa8F9vWts7+1SZJGYOCgT3Is8Argw7OXVVUBNZ8NJ9mWZCrJ1PT09HxW\nlSTNw3yO6C8Abquqh9r8QzNDMu3xYGs/AKzvW29da3ucqtpRVZNVNTkxMTH/yiVJA5lP0L+aHw/b\nAOwCtrTpLcD1fe2vbWffnAM82jfEI0laZqsG6ZTkOODFwL/oa74UuCbJVuB+4FWt/QbgpcBeemfo\nvG5o1UqS5m2goK+q7wAnzWr7Br2zcGb3LeDioVQnSVo0r4yVpI4z6CWp4wx6Seo4g16SOs6gl6SO\nM+glqeMMeknqOINekjrOoJekjjPoJanjDHpJ6jiDXpI6zqCXpI4z6CWp4wx6Seo4g16SOs6gl6SO\nM+glqeMGCvokq5Ncm+TLSe5J8twkJybZneTe9nhC65sklyfZm+TOJGct7UuQJB3JoEf07wY+UVXP\nAs4A7gG2A3uqaiOwp80DXABsbD/bgCuGWrEkaV7mDPokxwPPB64EqKofVNUjwGZgZ+u2E7iwTW8G\n3lc9NwOrk5wy9MolSQMZ5Ij+VGAaeG+S25O8J8lxwJqqeqD1eRBY06bXAvv61t/f2iRJIzBI0K8C\nzgKuqKrnAN/hx8M0AFRVATWfDSfZlmQqydT09PR8VpUkzcMgQb8f2F9Vt7T5a+kF/0MzQzLt8WBb\nfgBY37f+utb2OFW1o6omq2pyYmJiofVLkuYwZ9BX1YPAviSntaZNwN3ALmBLa9sCXN+mdwGvbWff\nnAM82jfEI0laZqsG7PcG4ANJjgXuA15HbydxTZKtwP3Aq1rfG4CXAnuB77a+kqQRGSjoq+oOYPIQ\nizYdom8BFy+yLknSkHhlrCR1nEEvSR1n0EtSxxn0ktRxBr0kdZxBL0kdZ9BLUscZ9JLUcQa9JHWc\nQS9JHWfQS1LHGfSS1HEGvSR1nEEvSR1n0EtSxxn0ktRxBr0kdZxBL0kdN1DQJ/lqkruS3JFkqrWd\nmGR3knvb4wmtPUkuT7I3yZ1JzlrKFyBJOrL5HNG/sKrOrKqZ747dDuypqo3AnjYPcAGwsf1sA64Y\nVrGSpPlbzNDNZmBnm94JXNjX/r7quRlYneSURWxHkrQIgwZ9AZ9McmuSba1tTVU90KYfBNa06bXA\nvr5197c2SdIIrBqw3/Oq6kCSpwO7k3y5f2FVVZKaz4bbDmMbwDOe8Yz5rCpJmoeBjuir6kB7PAh8\nFDgbeGhmSKY9HmzdDwDr+1Zf19pmP+eOqpqsqsmJiYmFvwJJ0hHNGfRJjkvyt2amgZcAXwR2AVta\nty3A9W16F/DadvbNOcCjfUM80o9s2P7xUZcgHRUGGbpZA3w0yUz//1pVn0jyeeCaJFuB+4FXtf43\nAC8F9gLfBV439KolSQObM+ir6j7gjEO0fwPYdIj2Ai4eSnWSpEXzylhJ6jiDXpI6zqCXxoQfTmup\nGPSS1HEGvSR1nEEvSR1n0EtSxxn0ktRxBr0kdZxBL0kdZ9BLUscZ9NI8eFGTViKDXpI6zqCXpI4z\n6NVZDrNIPQa9JHWcQS9JHWfQS1LHDRz0SY5JcnuSj7X5U5PckmRvkg8lOba1P6nN723LNyxN6ZKk\nQczniP6NwD198+8ELquqZwIPA1tb+1bg4dZ+WesnSRqRgYI+yTrgZcB72nyAFwHXti47gQvb9OY2\nT1u+qfWXJI3AoEf0fwS8Ffhhmz8JeKSqHmvz+4G1bXotsA+gLX+09ZcWxNMkpcWZM+iTvBw4WFW3\nDnPDSbYlmUoyNT09Pcynlha8c3Cnoi4a5Ij+XOAVSb4KfJDekM27gdVJVrU+64ADbfoAsB6gLT8e\n+MbsJ62qHVU1WVWTExMTi3oRkqTDmzPoq+rtVbWuqjYAFwE3VtU/BW4CXtm6bQGub9O72jxt+Y1V\nVUOtWuoA3z1ouSzmPPq3AW9OspfeGPyVrf1K4KTW/mZg++JKlCQtxqq5u/xYVX0K+FSbvg84+xB9\nvg/88hBqkyQNgVfGSlLHGfSS1HEGvSR1nEEvLZJnz2jcGfSS1HEGvSR1nEEvSR1n0EtD5pi9xo1B\nL0kdZ9BLUscZ9Ooch06kxzPoJanjDHpJ6jiDXpI6zqCXpI4z6CWp4wx6Seo4g16SOm7OoE/y5CSf\nS/KFJF9K8u9a+6lJbkmyN8mHkhzb2p/U5ve25RuW9iVIko5kkCP6vwJeVFVnAGcC5yc5B3gncFlV\nPRN4GNja+m8FHm7tl7V+kqQRmTPoq+fbbfaJ7aeAFwHXtvadwIVtenObpy3flCRDq1iSNC8DjdEn\nOSbJHcBBYDfw58AjVfVY67IfWNum1wL7ANryR4GThlm0JGlwAwV9Vf1NVZ0JrAPOBp612A0n2ZZk\nKsnU9PT0Yp9OknQY8zrrpqoeAW4CngusTrKqLVoHHGjTB4D1AG358cA3DvFcO6pqsqomJyYmFli+\ntHy8WZpWqkHOuplIsrpNPwV4MXAPvcB/Zeu2Bbi+Te9q87TlN1ZVDbNoaVwY/loJVs3dhVOAnUmO\nobdjuKaqPpbkbuCDSX4PuB24svW/Enh/kr3AN4GLlqBuSdKA5gz6qroTeM4h2u+jN14/u/37wC8P\npTpJ0qJ5ZawkdZxBL0kdZ9BLI+YHulpqBr20BAxvjRODXpI6zqBXp3gkLf0kg16SOs6gl6SOM+gl\nqeMMemmJ+bmBRs2gl6SOM+glqeMMeknqOINeWiDH3rVSGPSS1HEGvSR1nEEvSR1n0EtSxw3y5eDr\nk9yU5O4kX0ryxtZ+YpLdSe5tjye09iS5PMneJHcmOWupX4S0EH6YqqPFIEf0jwFvqarTgXOAi5Oc\nDmwH9lTVRmBPmwe4ANjYfrYBVwy9ammE3EFopZkz6Kvqgaq6rU3/JXAPsBbYDOxs3XYCF7bpzcD7\nqudmYHWSU4ZeudRnXMJ3XOqQ+s1rjD7JBuA5wC3Amqp6oC16EFjTptcC+/pW29/apLG2HCE9sw13\nCFpOAwd9kqcBHwHeVFXf6l9WVQXUfDacZFuSqSRT09PT81lV6gwDX8thoKBP8kR6If+BqrquNT80\nMyTTHg+29gPA+r7V17W2x6mqHVU1WVWTExMTC61fGgoDV102yFk3Aa4E7qmqP+xbtAvY0qa3ANf3\ntb+2nX1zDvBo3xCPpENwR6OltGqAPucCrwHuSnJHa3sHcClwTZKtwP3Aq9qyG4CXAnuB7wKvG2rF\n0hgwmLWSzBn0VfV/gBxm8aZD9C/g4kXWJUkaEq+MVWd4lC0dmkGvFcUwl+bPoNdRyR2GjiYGvSR1\nnEGvo8aG7R/3SF5HJYNeI7HSAnel1Sv1M+ilIxg04A/Xzx2ExoFBL81hWGFt6GtUDHotGYNNGg8G\nvSR1nEEvSR1n0GusraThn5VUq44uBr0kdZxBr7EyyEVN8z1yHvbzSSuNQa8VbaWE9EqpU91k0EtL\nxIuoNC4Meh0VDFcdzQx6HXUMfR1tBvly8KuSHEzyxb62E5PsTnJvezyhtSfJ5Un2JrkzyVlLWbwk\naW6DHNH/CXD+rLbtwJ6q2gjsafMAFwAb28824IrhlCkdfWPeXX1dWn5zBn1VfRr45qzmzcDONr0T\nuLCv/X3VczOwOskpwypWOpoZ/FqohY7Rr6mqB9r0g8CaNr0W2NfXb39rk+Zt1Oe/G6zqikV/GFtV\nBdR810uyLclUkqnp6enFliENjQGvrllo0D80MyTTHg+29gPA+r5+61rbT6iqHVU1WVWTExMTCyxD\nXXKkgJ29zDCWBrfQoN8FbGnTW4Dr+9pf286+OQd4tG+IR5I0AoOcXnk18FngtCT7k2wFLgVenORe\n4Lw2D3ADcB+wF/gvwL9akqrVeR6xD8bfkwaxaq4OVfXqwyzadIi+BVy82KKkYRn1B7rSOPDKWEnq\nOINeGjO+y9CwGfTSIYxL2C7F/fl19DHotewMprn5O9IwGfQaCwabtHQMemmMuMPTUjDopRXqaLub\npxbOoJdWAMNbi2HQS1LHGfQaOY9WR2+Q0zi1chn0WlbehXJx5vv78vcrMOilznPnKoNe6oBRHem7\n01gZDHppBVpowBrMR6c5b1MsabwM8k1ciwn0mXW/eunLFvwcGi8e0Usd4c3PdDgGvZaNQTM68/k+\n3kHW0cpi0GtJGBLjb6Hnzg9jeEjLa0mCPsn5Sb6SZG+S7UuxDS2vxX74ZyisTDM7Ay+oWtmGHvRJ\njgH+I3ABcDrw6iSnD3s7WjkMiJVj0HH+/n79OwH/rcdTet/nPcQnTJ4LXFJV/6jNvx2gqn7/cOtM\nTk7W1NTUUOvQ8PT/5x3kTAz/s2vGof5ePKtneJLcWlWTc/VbitMr1wL7+ub3A7+4BNvRGNmw/eN8\n9dKXGfJ6nLk+BJ4J+7kOJvr7HqlNh7YUR/SvBM6vqn/e5l8D/GJVvX5Wv23AtjZ7GvCVNn0y8PWh\nFjU81rYw1rYw1rYw41rbUtT101U1MVenpTiiPwCs75tf19oep6p2ADtmtyeZGuStyChY28JY28JY\n28KMa22jrGspzrr5PLAxyalJjgUuAnYtwXYkSQMY+hF9VT2W5PXA/wSOAa6qqi8NezuSpMEsyb1u\nquoG4IYFrv4TwzljxNoWxtoWxtoWZlxrG1ldQ/8wVpI0XrwFgiR13NgGfZI3JPlyki8l+Q+jrme2\nJG9JUklOHnUtM5K8q/3O7kzy0SSrx6CmsbwdRpL1SW5Kcnf7G3vjqGvql+SYJLcn+dioa+mXZHWS\na9vf2T3tAsmxkOS32r/lF5NcneTJI6zlqiQHk3yxr+3EJLuT3NseT1iuesYy6JO8ENgMnFFVPwv8\nwYhLepwk64GXAF8bdS2z7AaeXVV/H/i/wNtHWcyY3w7jMeAtVXU6cA5w8RjVBvBG4J5RF3EI7wY+\nUVXPAs5gTGpMshb4TWCyqp5N70SQi0ZY0p8A589q2w7sqaqNwJ42vyzGMuiB3wAuraq/AqiqgyOu\nZ7bLgLcCY/UBR1V9sqoea7M307uGYZTOBvZW1X1V9QPgg/R24CNXVQ9U1W1t+i/pBdba0VbVk2Qd\n8DLgPaOupV+S44HnA1cCVNUPquqR0Vb1OKuApyRZBTwV+H+jKqSqPg18c1bzZmBnm94JXLhc9Yxr\n0P8M8A+T3JLkz5L8wqgLmpFkM3Cgqr4w6lrm8M+A/zHiGg51O4yxCNN+STYAzwFuGW0lP/JH9A4k\nfjjqQmY5FZgG3tuGld6T5LhRFwVQVQfovfP/GvAA8GhVfXK0Vf2ENVX1QJt+EFizXBse2VcJJvlf\nwN8+xKLfplfXifTeUv8CcE2Sv1vLdIrQHLW9g96wzUgcqbaqur71+W16QxMfWM7aVqIkTwM+Aryp\nqr41BvW8HDhYVbcmecGo65llFXAW8IaquiXJu+kNP/zOaMuCNt69md7O6BHgw0l+rar+dLSVHVpV\nVZJlGxEYWdBX1XmHW5bkN4DrWrB/LskP6d0nYnqUtSX5OXp/SF9IAr2hkduSnF1VD46ythlJfh14\nObBpuXaMRzDQ7TBGJckT6YX8B6rqulHX05wLvCLJS4EnAz+V5E+r6tdGXBf03pHtr6qZdz7Xsozj\nzHM4D/iLqpoGSHId8A+AcQr6h5KcUlUPJDkFWLYh6XEduvlvwAsBkvwMcCxjcJOiqrqrqp5eVRuq\nagO9P/yzlivk55LkfHpv+V9RVd8ddT2M8e0w0ttTXwncU1V/OOp6ZlTV26tqXfv7ugi4cUxCnvZ3\nvi/Jaa1pE3D3CEvq9zXgnCRPbf+2mxiTD4r77AK2tOktwPXLteGRHdHP4SrgqnZq0g+ALWNwdLoS\n/DHwJGB3e8dxc1X9y1EVM+a3wzgXeA1wV5I7Wts72lXdOrw3AB9oO+77gNeNuB4A2lDStcBt9IYt\nb2eUV6ImVwMvAE5Osh/4t8Cl9IahtwL3A69atnrMT0nqtnEdupEkDYlBL0kdZ9BLUscZ9JLUcQa9\nJHWcQa8VK8m3l3l7k0kuH+LzXTKs55KOxNMrtWIl+XZVPW2ZtrWq74Zxi32u04ErgNPo3XjrXVV1\n9TCeWzoUj+i14qXnXe0+5Hcl+ZXW/oQk/6ndO313khuSvPIQ638qybuT3NGe4+zWfkmS9yf5DPD+\nJC+YuT98kqcleW/b3p1Jfqm1vyTJZ5PcluTD7V46s11C76LA/0zvwq3PL8kvRmrG9cpYaT7+CXAm\nvfujnwx8Psmn6YXoBnr3wn86vUvirzrMczy1qs5M8vzW59mt/XTgeVX1vVk3GfsdendI/Dno3VQr\nvS+h+TfAeVX1nSRvA94M/O6sbf2g1fmEqvoesHfBr1wagEf06oLnAVdX1d9U1UPAn9G76+nzgA9X\n1Q/bfVpuOsJzXA0/uo/4T+XH3861q4XxbOfR+1IV2noP07vb6unAZ9ptFbYAP32Idd8G/Dzw+iT/\nPckZ83it0rx5RC/1zP6wamb+O/N4jgC7q+rVR9xQ797pv5rkd+kN21wH/L15bEeaF4/o1QX/G/iV\n9L5ndYLetyB9DvgM8EttrH4NvZtMHc7MuP7z6A3JPDrHNncDF8/MtPuh3wycm+SZre24dvfVx0ny\ns23yh8CtwFh8eYe6y6BXF3wUuBP4AnAj8NY2VPMRereSvpvefclvAw4X4N9Pcju9D0i3DrDN3wNO\naB/efgF4YbsX+q8DVye5E/gs8KxDrPuPk3yW3reAfZLed51KS8bTK9VpSZ5WVd9OchK9o/xzZ39/\nQJJPAf+6qqaWubZLquqS5dymjk6O0avrPtY+WD0W+Pfj8iUxzadGXYCODh7RS1LHOUYvSR1n0EtS\nxxn0ktRxBr0kdZxBL0kdZ9BLUsf9f0A02rIQBXVSAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7febd8282160>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"prices = df['sold_price_usd']\n",
"prices = prices[prices<500]\n",
"plt.hist(prices, bins=50)\n",
"plt.xlabel('$')\n",
"plt.xlim(0, 500)\n",
"plt.show()\n",
"\n",
"plt.hist(np.log(df['sold_price_usd']), bins=50)\n",
"plt.xlabel('log price $')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-09T04:46:42.401762Z",
"start_time": "2017-12-09T04:46:39.561269Z"
}
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-09T04:44:43.112358Z",
"start_time": "2017-12-09T04:44:43.105989Z"
}
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 843,
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-09T05:13:09.565697Z",
"start_time": "2017-12-09T05:13:08.517817Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"((27727, 517), (27727,))"
]
},
"execution_count": 843,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# For predicting price lets uses parent generation, genes, and birth time\n",
"# We will normalize them by constants to ~0 to ~1\n",
"sire_genes = np.array([df['sire_genes']])[0]\n",
"sire_generation = df['sire_gen']/30\n",
"\n",
"matron_genes = np.array([df['matron_genes']])[0]\n",
"matron_generation = df['matron_gen']/30\n",
"\n",
"birth_time = df['birth_time']\n",
"birth_time = (birth_time - 1511466911)/(233588*3)\n",
"\n",
"hour=df['birth_time'].apply(lambda x:datetime.datetime.fromtimestamp(x).hour)/24\n",
"weekday=df['birth_time'].apply(lambda x:datetime.datetime.fromtimestamp(x).weekday())/7\n",
"\n",
"X = np.concatenate([\n",
" sire_genes, \n",
" sire_generation[:, np.newaxis], \n",
" matron_genes,\n",
" matron_generation[:, np.newaxis],\n",
" birth_time[:, np.newaxis],\n",
" hour[:, np.newaxis],\n",
" weekday[:, np.newaxis],\n",
" ], 1)\n",
"\n",
"# child genes\n",
"use_log_y = True\n",
"\n",
"if use_log_y:\n",
" Y = np.log(np.stack(df['sold_price_usd'].values))\n",
"else:\n",
" Y = np.stack(df['sold_price_usd'].values)\n",
"X.shape, Y.shape"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-09T04:59:59.546095Z",
"start_time": "2017-12-09T04:59:59.347681Z"
}
},
"outputs": [],
"source": [
"\n"
]
},
{
"cell_type": "code",
"execution_count": 844,
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-09T05:13:09.981759Z",
"start_time": "2017-12-09T05:13:09.567376Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"((24954, 517), (24954,))"
]
},
"execution_count": 844,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# split into test and train, val (& shuffle)\n",
"import sklearn.model_selection\n",
"X_train, X_test, y_train, y_test = sklearn.model_selection.train_test_split(X,Y, random_state=42, test_size=0.1)\n",
"X_train.shape, y_train.shape"
]
},
{
"cell_type": "code",
"execution_count": 853,
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-09T05:17:03.149046Z",
"start_time": "2017-12-09T05:17:03.020120Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"mean mean absolute error ($) 28.2072223243\n",
"median mean absolute error ($) 28.1958325447\n"
]
}
],
"source": [
"from sklearn.dummy import DummyRegressor\n",
"import sklearn.metrics\n",
"for strategy in ['mean', 'median']:\n",
" clf = DummyRegressor(strategy=strategy)\n",
" clf.fit(X_train, y_train)\n",
" y_pred = clf.predict(X_test)\n",
" \n",
" if use_log_y:\n",
" mae = sklearn.metrics.mean_absolute_error(np.exp(y_test), np.exp(y_pred))\n",
" else:\n",
" mae = sklearn.metrics.mean_absolute_error(y_test, y_pred)\n",
" print(strategy,'mean absolute error ($)', mae)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-09T04:18:58.993559Z",
"start_time": "2017-12-09T04:18:58.989395Z"
},
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 857,
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-09T05:17:58.854965Z",
"start_time": "2017-12-09T05:17:58.779727Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"_________________________________________________________________\n",
"Layer (type) Output Shape Param # \n",
"=================================================================\n",
"input_74 (InputLayer) (None, 517) 0 \n",
"_________________________________________________________________\n",
"dense_126 (Dense) (None, 128) 66304 \n",
"_________________________________________________________________\n",
"dense_127 (Dense) (None, 64) 8256 \n",
"_________________________________________________________________\n",
"dense_128 (Dense) (None, 32) 2080 \n",
"_________________________________________________________________\n",
"dense_129 (Dense) (None, 16) 528 \n",
"_________________________________________________________________\n",
"dense_130 (Dense) (None, 1) 17 \n",
"=================================================================\n",
"Total params: 77,185\n",
"Trainable params: 77,185\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n"
]
}
],
"source": [
"# Simple model with two layers\n",
"model = keras.models.Sequential()\n",
"model.add(keras.layers.InputLayer((517,)))\n",
"model.add(keras.layers.Dense(128, activation='elu'))\n",
"model.add(keras.layers.Dense(64, activation='elu'))\n",
"model.add(keras.layers.Dense(32, activation='elu'))\n",
"model.add(keras.layers.Dense(16, activation='elu'))\n",
"model.add(keras.layers.Dense(1))\n",
"\n",
"model.compile(loss='mae',\n",
" optimizer=keras.optimizers.Adam(lr=1e-4),\n",
" metrics=['accuracy'])\n",
"model.summary()"
]
},
{
"cell_type": "code",
"execution_count": 858,
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-09T05:18:17.021414Z",
"start_time": "2017-12-09T05:17:59.093828Z"
},
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Train on 19963 samples, validate on 4991 samples\n",
"Epoch 1/100\n",
"19963/19963 [==============================] - 3s - loss: 1.0874 - acc: 0.0000e+00 - val_loss: 1.0069 - val_acc: 0.0000e+00\n",
"Epoch 2/100\n",
"19963/19963 [==============================] - 2s - loss: 1.0223 - acc: 0.0000e+00 - val_loss: 0.9994 - val_acc: 0.0000e+00\n",
"Epoch 3/100\n",
"19963/19963 [==============================] - 2s - loss: 1.0012 - acc: 0.0000e+00 - val_loss: 0.9899 - val_acc: 0.0000e+00\n",
"Epoch 4/100\n",
"19963/19963 [==============================] - 2s - loss: 0.9885 - acc: 0.0000e+00 - val_loss: 0.9825 - val_acc: 0.0000e+00\n",
"Epoch 5/100\n",
"19963/19963 [==============================] - 2s - loss: 0.9736 - acc: 0.0000e+00 - val_loss: 0.9748 - val_acc: 0.0000e+00\n",
"Epoch 6/100\n",
"19963/19963 [==============================] - 2s - loss: 0.9646 - acc: 0.0000e+00 - val_loss: 0.9937 - val_acc: 0.0000e+00\n",
"Epoch 7/100\n",
" 4352/19963 [=====>........................] - ETA: 2s - loss: 0.9492 - acc: 0.0000e+00"
]
},
{
"ename": "KeyboardInterrupt",
"evalue": "",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-858-f05a8e800ab9>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mhistory\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmodel\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX_train\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my_train\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalidation_split\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0.2\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mepochs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m100\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;32m~/.pyenv/versions/3.5.3/envs/jupyter3/lib/python3.5/site-packages/keras/models.py\u001b[0m in \u001b[0;36mfit\u001b[0;34m(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, **kwargs)\u001b[0m\n\u001b[1;32m 868\u001b[0m \u001b[0mclass_weight\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mclass_weight\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 869\u001b[0m \u001b[0msample_weight\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0msample_weight\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 870\u001b[0;31m initial_epoch=initial_epoch)\n\u001b[0m\u001b[1;32m 871\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 872\u001b[0m def evaluate(self, x, y, batch_size=32, verbose=1,\n",
"\u001b[0;32m~/.pyenv/versions/3.5.3/envs/jupyter3/lib/python3.5/site-packages/keras/engine/training.py\u001b[0m in \u001b[0;36mfit\u001b[0;34m(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, **kwargs)\u001b[0m\n\u001b[1;32m 1505\u001b[0m \u001b[0mval_f\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mval_f\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mval_ins\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mval_ins\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mshuffle\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mshuffle\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1506\u001b[0m \u001b[0mcallback_metrics\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mcallback_metrics\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1507\u001b[0;31m initial_epoch=initial_epoch)\n\u001b[0m\u001b[1;32m 1508\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1509\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mevaluate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbatch_size\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m32\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mverbose\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msample_weight\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/.pyenv/versions/3.5.3/envs/jupyter3/lib/python3.5/site-packages/keras/engine/training.py\u001b[0m in \u001b[0;36m_fit_loop\u001b[0;34m(self, f, ins, out_labels, batch_size, epochs, verbose, callbacks, val_f, val_ins, shuffle, callback_metrics, initial_epoch)\u001b[0m\n\u001b[1;32m 1154\u001b[0m \u001b[0mbatch_logs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'size'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mbatch_ids\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1155\u001b[0m \u001b[0mcallbacks\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mon_batch_begin\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mbatch_index\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbatch_logs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1156\u001b[0;31m \u001b[0mouts\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mins_batch\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1157\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mouts\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlist\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1158\u001b[0m \u001b[0mouts\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mouts\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/.pyenv/versions/3.5.3/envs/jupyter3/lib/python3.5/site-packages/keras/backend/tensorflow_backend.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, inputs)\u001b[0m\n\u001b[1;32m 2267\u001b[0m updated = session.run(self.outputs + [self.updates_op],\n\u001b[1;32m 2268\u001b[0m \u001b[0mfeed_dict\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mfeed_dict\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2269\u001b[0;31m **self.session_kwargs)\n\u001b[0m\u001b[1;32m 2270\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mupdated\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0moutputs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2271\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/.pyenv/versions/3.5.3/envs/jupyter3/lib/python3.5/site-packages/tensorflow/python/client/session.py\u001b[0m in \u001b[0;36mrun\u001b[0;34m(self, fetches, feed_dict, options, run_metadata)\u001b[0m\n\u001b[1;32m 893\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 894\u001b[0m result = self._run(None, fetches, feed_dict, options_ptr,\n\u001b[0;32m--> 895\u001b[0;31m run_metadata_ptr)\n\u001b[0m\u001b[1;32m 896\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mrun_metadata\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 897\u001b[0m \u001b[0mproto_data\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtf_session\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mTF_GetBuffer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrun_metadata_ptr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/.pyenv/versions/3.5.3/envs/jupyter3/lib/python3.5/site-packages/tensorflow/python/client/session.py\u001b[0m in \u001b[0;36m_run\u001b[0;34m(self, handle, fetches, feed_dict, options, run_metadata)\u001b[0m\n\u001b[1;32m 1122\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mfinal_fetches\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0mfinal_targets\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mhandle\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mfeed_dict_tensor\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1123\u001b[0m results = self._do_run(handle, final_targets, final_fetches,\n\u001b[0;32m-> 1124\u001b[0;31m feed_dict_tensor, options, run_metadata)\n\u001b[0m\u001b[1;32m 1125\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1126\u001b[0m \u001b[0mresults\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/.pyenv/versions/3.5.3/envs/jupyter3/lib/python3.5/site-packages/tensorflow/python/client/session.py\u001b[0m in \u001b[0;36m_do_run\u001b[0;34m(self, handle, target_list, fetch_list, feed_dict, options, run_metadata)\u001b[0m\n\u001b[1;32m 1319\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mhandle\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1320\u001b[0m return self._do_call(_run_fn, self._session, feeds, fetches, targets,\n\u001b[0;32m-> 1321\u001b[0;31m options, run_metadata)\n\u001b[0m\u001b[1;32m 1322\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1323\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_do_call\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0m_prun_fn\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_session\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mhandle\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfeeds\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfetches\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/.pyenv/versions/3.5.3/envs/jupyter3/lib/python3.5/site-packages/tensorflow/python/client/session.py\u001b[0m in \u001b[0;36m_do_call\u001b[0;34m(self, fn, *args)\u001b[0m\n\u001b[1;32m 1325\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_do_call\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfn\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1326\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1327\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1328\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0merrors\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mOpError\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1329\u001b[0m \u001b[0mmessage\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcompat\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mas_text\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0me\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmessage\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/.pyenv/versions/3.5.3/envs/jupyter3/lib/python3.5/site-packages/tensorflow/python/client/session.py\u001b[0m in \u001b[0;36m_run_fn\u001b[0;34m(session, feed_dict, fetch_list, target_list, options, run_metadata)\u001b[0m\n\u001b[1;32m 1304\u001b[0m return tf_session.TF_Run(session, options,\n\u001b[1;32m 1305\u001b[0m \u001b[0mfeed_dict\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfetch_list\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtarget_list\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1306\u001b[0;31m status, run_metadata)\n\u001b[0m\u001b[1;32m 1307\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1308\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_prun_fn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msession\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mhandle\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfeed_dict\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfetch_list\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mKeyboardInterrupt\u001b[0m: "
]
}
],
"source": [
"history = model.fit(X_train, y_train, validation_split=0.2, epochs=100)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-09T05:15:37.170853Z",
"start_time": "2017-12-09T05:13:35.064Z"
}
},
"outputs": [],
"source": [
"pd.DataFrame(history.history)['acc'].plot()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 859,
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-09T05:18:18.938022Z",
"start_time": "2017-12-09T05:18:18.740891Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2304/2773 [=======================>......] - ETA: 0s"
]
},
{
"data": {
"text/plain": [
"{'acc': 0.0, 'loss': 0.95822394375675557}"
]
},
"execution_count": 859,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"metrics = model.evaluate(X_test,y_test)\n",
"metrics = dict(zip(model.metrics_names, metrics))\n",
"metrics"
]
},
{
"cell_type": "code",
"execution_count": 860,
"metadata": {
"ExecuteTime": {
"end_time": "2017-12-09T05:18:19.875146Z",
"start_time": "2017-12-09T05:18:19.404365Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"26.219251685788045"
]
},
"execution_count": 860,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# I got ~26 which is not great\n",
"y_pred = model.predict(X_test)\n",
"mae = sklearn.metrics.mean_absolute_error(np.exp(y_test), np.exp(y_pred))\n",
"mae"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "jupyter3",
"language": "python",
"name": "jupyter3"
},
"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.5.3"
},
"toc": {
"colors": {
"hover_highlight": "#DAA520",
"navigate_num": "#000000",
"navigate_text": "#333333",
"running_highlight": "#FF0000",
"selected_highlight": "#FFD700",
"sidebar_border": "#EEEEEE",
"wrapper_background": "#FFFFFF"
},
"moveMenuLeft": true,
"nav_menu": {
"height": "149px",
"width": "254px"
},
"navigate_menu": true,
"number_sections": true,
"sideBar": true,
"threshold": 4,
"toc_cell": false,
"toc_section_display": "block",
"toc_window_display": false,
"widenNotebook": false
}
},
"nbformat": 4,
"nbformat_minor": 2
}