Skip to content

Instantly share code, notes, and snippets.

Created February 28, 2018 02:55
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save anonymous/546b9a6e34098f6072c937f8be67cc47 to your computer and use it in GitHub Desktop.
Save anonymous/546b9a6e34098f6072c937f8be67cc47 to your computer and use it in GitHub Desktop.
autoML_classification
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "import h2o\nimport os\nimport pandas as pd\nfrom h2o.automl import H2OAutoML\nimport matplotlib.pyplot as plt\nimport seaborn as sns\nimport pylab",
"execution_count": 178,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "os.chdir(\"/Users/bernardo/Dropbox (Personal)/Documentos/Python/H2O/\")",
"execution_count": 2,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "h2o.init(max_mem_size=\"10G\")",
"execution_count": 3,
"outputs": [
{
"output_type": "stream",
"text": "Checking whether there is an H2O instance running at http://localhost:54321..... not found.\nAttempting to start a local H2O server...\n Java Version: java version \"1.8.0_151\"; Java(TM) SE Runtime Environment (build 1.8.0_151-b12); Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)\n Starting server from /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/h2o/backend/bin/h2o.jar\n Ice root: /var/folders/hy/8z_f0wrn7qs4pgwqr2l4x4f40000gn/T/tmpqd9nzeh0\n JVM stdout: /var/folders/hy/8z_f0wrn7qs4pgwqr2l4x4f40000gn/T/tmpqd9nzeh0/h2o_bernardo_started_from_python.out\n JVM stderr: /var/folders/hy/8z_f0wrn7qs4pgwqr2l4x4f40000gn/T/tmpqd9nzeh0/h2o_bernardo_started_from_python.err\n Server is running at http://127.0.0.1:54321\nConnecting to H2O server at http://127.0.0.1:54321... successful.\n",
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"text/plain": "-------------------------- ----------------------------------------\nH2O cluster uptime: 05 secs\nH2O cluster timezone: America/Bogota\nH2O data parsing timezone: UTC\nH2O cluster version: 3.18.0.2\nH2O cluster version age: 7 days, 3 hours and 4 minutes\nH2O cluster name: H2O_from_python_bernardo_iose7b\nH2O cluster total nodes: 1\nH2O cluster free memory: 8.89 Gb\nH2O cluster total cores: 4\nH2O cluster allowed cores: 4\nH2O cluster status: accepting new members, healthy\nH2O connection url: http://127.0.0.1:54321\nH2O connection proxy:\nH2O internal security: False\nH2O API Extensions: XGBoost, Algos, AutoML, Core V3, Core V4\nPython version: 3.6.3 final\n-------------------------- ----------------------------------------",
"text/html": "<div style=\"overflow:auto\"><table style=\"width:50%\"><tr><td>H2O cluster uptime:</td>\n<td>05 secs</td></tr>\n<tr><td>H2O cluster timezone:</td>\n<td>America/Bogota</td></tr>\n<tr><td>H2O data parsing timezone:</td>\n<td>UTC</td></tr>\n<tr><td>H2O cluster version:</td>\n<td>3.18.0.2</td></tr>\n<tr><td>H2O cluster version age:</td>\n<td>7 days, 3 hours and 4 minutes </td></tr>\n<tr><td>H2O cluster name:</td>\n<td>H2O_from_python_bernardo_iose7b</td></tr>\n<tr><td>H2O cluster total nodes:</td>\n<td>1</td></tr>\n<tr><td>H2O cluster free memory:</td>\n<td>8.89 Gb</td></tr>\n<tr><td>H2O cluster total cores:</td>\n<td>4</td></tr>\n<tr><td>H2O cluster allowed cores:</td>\n<td>4</td></tr>\n<tr><td>H2O cluster status:</td>\n<td>accepting new members, healthy</td></tr>\n<tr><td>H2O connection url:</td>\n<td>http://127.0.0.1:54321</td></tr>\n<tr><td>H2O connection proxy:</td>\n<td>None</td></tr>\n<tr><td>H2O internal security:</td>\n<td>False</td></tr>\n<tr><td>H2O API Extensions:</td>\n<td>XGBoost, Algos, AutoML, Core V3, Core V4</td></tr>\n<tr><td>Python version:</td>\n<td>3.6.3 final</td></tr></table></div>"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "# Use data example from GitHub\ndata_path = \"https://github.com/h2oai/h2o-tutorials/raw/master/h2o-world-2017/automl/data/product_backorders.csv\"\ndf = h2o.import_file(data_path)",
"execution_count": 4,
"outputs": [
{
"output_type": "stream",
"text": "Parse progress: |█████████████████████████████████████████████████████████| 100%\n",
"name": "stdout"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "df.describe()",
"execution_count": 5,
"outputs": [
{
"output_type": "stream",
"text": "Rows:19053\nCols:23\n\n\n",
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"text/html": "<table>\n<thead>\n<tr><th> </th><th>sku </th><th>national_inv </th><th>lead_time </th><th>in_transit_qty </th><th>forecast_3_month </th><th>forecast_6_month </th><th>forecast_9_month </th><th>sales_1_month </th><th>sales_3_month </th><th>sales_6_month </th><th>sales_9_month </th><th>min_bank </th><th>potential_issue </th><th>pieces_past_due </th><th>perf_6_month_avg </th><th>perf_12_month_avg </th><th>local_bo_qty </th><th>deck_risk </th><th>oe_constraint </th><th>ppap_risk </th><th>stop_auto_buy </th><th>rev_stop </th><th>went_on_backorder </th></tr>\n</thead>\n<tbody>\n<tr><td>type </td><td>int </td><td>int </td><td>int </td><td>int </td><td>int </td><td>int </td><td>int </td><td>int </td><td>int </td><td>int </td><td>int </td><td>int </td><td>enum </td><td>int </td><td>real </td><td>real </td><td>int </td><td>enum </td><td>enum </td><td>enum </td><td>enum </td><td>enum </td><td>enum </td></tr>\n<tr><td>mins </td><td>1111620.0 </td><td>-1440.0 </td><td>0.0 </td><td>0.0 </td><td>0.0 </td><td>0.0 </td><td>0.0 </td><td>0.0 </td><td>0.0 </td><td>0.0 </td><td>0.0 </td><td>0.0 </td><td> </td><td>0.0 </td><td>-99.0 </td><td>-99.0 </td><td>0.0 </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr><td>mean </td><td>2059552.760562637</td><td>376.36702881436105</td><td>7.706036161335169</td><td>48.2723455623786 </td><td>182.91082769117787</td><td>344.7398309977432 </td><td>497.7924211410277 </td><td>56.118878916705825</td><td>168.5344565160339</td><td>333.53219965359915</td><td>504.25539285151933</td><td>48.84070750013141</td><td> </td><td>2.3114995013908555</td><td>-6.519833622001735</td><td>-6.053935338266914 </td><td>0.8917755734005138</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr><td>maxs </td><td>3284775.0 </td><td>730722.0 </td><td>52.0 </td><td>170920.0 </td><td>479808.0 </td><td>967776.0 </td><td>1418208.0 </td><td>186451.0 </td><td>550609.0 </td><td>1136154.0 </td><td>1759152.0 </td><td>85584.0 </td><td> </td><td>13824.0 </td><td>1.0 </td><td>1.0 </td><td>1440.0 </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr><td>sigma </td><td>663337.6456498688</td><td>7002.0716286626675</td><td>6.778665072124194</td><td>1465.999210206827</td><td>4304.865591970639 </td><td>8406.062155159232 </td><td>12180.570042918358</td><td>1544.2177775482546</td><td>4581.340080221499</td><td>9294.566153218979 </td><td>14184.145395653633</td><td>968.7738680675252</td><td> </td><td>110.24106014611986</td><td>25.975138766871826</td><td>25.184497150032502 </td><td>23.033345417338797</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr><td>zeros </td><td>0 </td><td>1858 </td><td>121 </td><td>15432 </td><td>12118 </td><td>11136 </td><td>10604 </td><td>10278 </td><td>8022 </td><td>6864 </td><td>6231 </td><td>9909 </td><td> </td><td>18601 </td><td>474 </td><td>401 </td><td>18585 </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr><td>missing</td><td>0 </td><td>0 </td><td>1078 </td><td>0 </td><td>0 </td><td>0 </td><td>0 </td><td>0 </td><td>0 </td><td>0 </td><td>0 </td><td>0 </td><td>0 </td><td>0 </td><td>0 </td><td>0 </td><td>0 </td><td>0 </td><td>0 </td><td>0 </td><td>0 </td><td>0 </td><td>0 </td></tr>\n<tr><td>0 </td><td>1113121.0 </td><td>0.0 </td><td>8.0 </td><td>1.0 </td><td>6.0 </td><td>6.0 </td><td>6.0 </td><td>0.0 </td><td>4.0 </td><td>9.0 </td><td>12.0 </td><td>0.0 </td><td>No </td><td>1.0 </td><td>0.9 </td><td>0.89 </td><td>0.0 </td><td>No </td><td>No </td><td>No </td><td>Yes </td><td>No </td><td>Yes </td></tr>\n<tr><td>1 </td><td>1113268.0 </td><td>0.0 </td><td>8.0 </td><td>0.0 </td><td>2.0 </td><td>3.0 </td><td>4.0 </td><td>1.0 </td><td>2.0 </td><td>3.0 </td><td>3.0 </td><td>0.0 </td><td>No </td><td>0.0 </td><td>0.96 </td><td>0.97 </td><td>0.0 </td><td>No </td><td>No </td><td>No </td><td>Yes </td><td>No </td><td>Yes </td></tr>\n<tr><td>2 </td><td>1113874.0 </td><td>20.0 </td><td>2.0 </td><td>0.0 </td><td>45.0 </td><td>99.0 </td><td>153.0 </td><td>16.0 </td><td>42.0 </td><td>80.0 </td><td>111.0 </td><td>10.0 </td><td>No </td><td>0.0 </td><td>0.81 </td><td>0.88 </td><td>0.0 </td><td>No </td><td>No </td><td>No </td><td>Yes </td><td>No </td><td>Yes </td></tr>\n<tr><td>3 </td><td>1114222.0 </td><td>0.0 </td><td>8.0 </td><td>0.0 </td><td>9.0 </td><td>14.0 </td><td>21.0 </td><td>5.0 </td><td>17.0 </td><td>36.0 </td><td>43.0 </td><td>0.0 </td><td>No </td><td>0.0 </td><td>0.96 </td><td>0.98 </td><td>0.0 </td><td>No </td><td>No </td><td>No </td><td>Yes </td><td>No </td><td>Yes </td></tr>\n<tr><td>4 </td><td>1114823.0 </td><td>0.0 </td><td>12.0 </td><td>0.0 </td><td>31.0 </td><td>31.0 </td><td>31.0 </td><td>7.0 </td><td>15.0 </td><td>33.0 </td><td>47.0 </td><td>2.0 </td><td>No </td><td>3.0 </td><td>0.98 </td><td>0.98 </td><td>0.0 </td><td>No </td><td>No </td><td>No </td><td>Yes </td><td>No </td><td>Yes </td></tr>\n<tr><td>5 </td><td>1115453.0 </td><td>55.0 </td><td>8.0 </td><td>0.0 </td><td>216.0 </td><td>360.0 </td><td>492.0 </td><td>30.0 </td><td>108.0 </td><td>275.0 </td><td>340.0 </td><td>51.0 </td><td>No </td><td>0.0 </td><td>0.0 </td><td>0.0 </td><td>0.0 </td><td>No </td><td>No </td><td>Yes </td><td>Yes </td><td>No </td><td>Yes </td></tr>\n<tr><td>6 </td><td>1115620.0 </td><td>-34.0 </td><td>8.0 </td><td>0.0 </td><td>120.0 </td><td>240.0 </td><td>240.0 </td><td>83.0 </td><td>122.0 </td><td>144.0 </td><td>165.0 </td><td>33.0 </td><td>No </td><td>0.0 </td><td>1.0 </td><td>0.97 </td><td>34.0 </td><td>No </td><td>No </td><td>No </td><td>Yes </td><td>No </td><td>Yes </td></tr>\n<tr><td>7 </td><td>1116446.0 </td><td>4.0 </td><td>9.0 </td><td>0.0 </td><td>43.0 </td><td>67.0 </td><td>115.0 </td><td>5.0 </td><td>22.0 </td><td>40.0 </td><td>58.0 </td><td>4.0 </td><td>No </td><td>0.0 </td><td>0.69 </td><td>0.68 </td><td>0.0 </td><td>No </td><td>No </td><td>No </td><td>Yes </td><td>No </td><td>Yes </td></tr>\n<tr><td>8 </td><td>1116834.0 </td><td>2.0 </td><td>8.0 </td><td>0.0 </td><td>4.0 </td><td>6.0 </td><td>9.0 </td><td>1.0 </td><td>5.0 </td><td>6.0 </td><td>9.0 </td><td>2.0 </td><td>No </td><td>0.0 </td><td>1.0 </td><td>0.95 </td><td>0.0 </td><td>No </td><td>No </td><td>No </td><td>Yes </td><td>No </td><td>Yes </td></tr>\n<tr><td>9 </td><td>1116868.0 </td><td>-7.0 </td><td>8.0 </td><td>0.0 </td><td>56.0 </td><td>96.0 </td><td>112.0 </td><td>13.0 </td><td>30.0 </td><td>56.0 </td><td>76.0 </td><td>0.0 </td><td>No </td><td>0.0 </td><td>0.97 </td><td>0.92 </td><td>7.0 </td><td>No </td><td>No </td><td>No </td><td>Yes </td><td>No </td><td>Yes </td></tr>\n</tbody>\n</table>"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "df.head(5)",
"execution_count": 6,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/html": "<table>\n<thead>\n<tr><th style=\"text-align: right;\"> sku</th><th style=\"text-align: right;\"> national_inv</th><th style=\"text-align: right;\"> lead_time</th><th style=\"text-align: right;\"> in_transit_qty</th><th style=\"text-align: right;\"> forecast_3_month</th><th style=\"text-align: right;\"> forecast_6_month</th><th style=\"text-align: right;\"> forecast_9_month</th><th style=\"text-align: right;\"> sales_1_month</th><th style=\"text-align: right;\"> sales_3_month</th><th style=\"text-align: right;\"> sales_6_month</th><th style=\"text-align: right;\"> sales_9_month</th><th style=\"text-align: right;\"> min_bank</th><th>potential_issue </th><th style=\"text-align: right;\"> pieces_past_due</th><th style=\"text-align: right;\"> perf_6_month_avg</th><th style=\"text-align: right;\"> perf_12_month_avg</th><th style=\"text-align: right;\"> local_bo_qty</th><th>deck_risk </th><th>oe_constraint </th><th>ppap_risk </th><th>stop_auto_buy </th><th>rev_stop </th><th>went_on_backorder </th></tr>\n</thead>\n<tbody>\n<tr><td style=\"text-align: right;\">1.11312e+06</td><td style=\"text-align: right;\"> 0</td><td style=\"text-align: right;\"> 8</td><td style=\"text-align: right;\"> 1</td><td style=\"text-align: right;\"> 6</td><td style=\"text-align: right;\"> 6</td><td style=\"text-align: right;\"> 6</td><td style=\"text-align: right;\"> 0</td><td style=\"text-align: right;\"> 4</td><td style=\"text-align: right;\"> 9</td><td style=\"text-align: right;\"> 12</td><td style=\"text-align: right;\"> 0</td><td>No </td><td style=\"text-align: right;\"> 1</td><td style=\"text-align: right;\"> 0.9 </td><td style=\"text-align: right;\"> 0.89</td><td style=\"text-align: right;\"> 0</td><td>No </td><td>No </td><td>No </td><td>Yes </td><td>No </td><td>Yes </td></tr>\n<tr><td style=\"text-align: right;\">1.11327e+06</td><td style=\"text-align: right;\"> 0</td><td style=\"text-align: right;\"> 8</td><td style=\"text-align: right;\"> 0</td><td style=\"text-align: right;\"> 2</td><td style=\"text-align: right;\"> 3</td><td style=\"text-align: right;\"> 4</td><td style=\"text-align: right;\"> 1</td><td style=\"text-align: right;\"> 2</td><td style=\"text-align: right;\"> 3</td><td style=\"text-align: right;\"> 3</td><td style=\"text-align: right;\"> 0</td><td>No </td><td style=\"text-align: right;\"> 0</td><td style=\"text-align: right;\"> 0.96</td><td style=\"text-align: right;\"> 0.97</td><td style=\"text-align: right;\"> 0</td><td>No </td><td>No </td><td>No </td><td>Yes </td><td>No </td><td>Yes </td></tr>\n<tr><td style=\"text-align: right;\">1.11387e+06</td><td style=\"text-align: right;\"> 20</td><td style=\"text-align: right;\"> 2</td><td style=\"text-align: right;\"> 0</td><td style=\"text-align: right;\"> 45</td><td style=\"text-align: right;\"> 99</td><td style=\"text-align: right;\"> 153</td><td style=\"text-align: right;\"> 16</td><td style=\"text-align: right;\"> 42</td><td style=\"text-align: right;\"> 80</td><td style=\"text-align: right;\"> 111</td><td style=\"text-align: right;\"> 10</td><td>No </td><td style=\"text-align: right;\"> 0</td><td style=\"text-align: right;\"> 0.81</td><td style=\"text-align: right;\"> 0.88</td><td style=\"text-align: right;\"> 0</td><td>No </td><td>No </td><td>No </td><td>Yes </td><td>No </td><td>Yes </td></tr>\n<tr><td style=\"text-align: right;\">1.11422e+06</td><td style=\"text-align: right;\"> 0</td><td style=\"text-align: right;\"> 8</td><td style=\"text-align: right;\"> 0</td><td style=\"text-align: right;\"> 9</td><td style=\"text-align: right;\"> 14</td><td style=\"text-align: right;\"> 21</td><td style=\"text-align: right;\"> 5</td><td style=\"text-align: right;\"> 17</td><td style=\"text-align: right;\"> 36</td><td style=\"text-align: right;\"> 43</td><td style=\"text-align: right;\"> 0</td><td>No </td><td style=\"text-align: right;\"> 0</td><td style=\"text-align: right;\"> 0.96</td><td style=\"text-align: right;\"> 0.98</td><td style=\"text-align: right;\"> 0</td><td>No </td><td>No </td><td>No </td><td>Yes </td><td>No </td><td>Yes </td></tr>\n<tr><td style=\"text-align: right;\">1.11482e+06</td><td style=\"text-align: right;\"> 0</td><td style=\"text-align: right;\"> 12</td><td style=\"text-align: right;\"> 0</td><td style=\"text-align: right;\"> 31</td><td style=\"text-align: right;\"> 31</td><td style=\"text-align: right;\"> 31</td><td style=\"text-align: right;\"> 7</td><td style=\"text-align: right;\"> 15</td><td style=\"text-align: right;\"> 33</td><td style=\"text-align: right;\"> 47</td><td style=\"text-align: right;\"> 2</td><td>No </td><td style=\"text-align: right;\"> 3</td><td style=\"text-align: right;\"> 0.98</td><td style=\"text-align: right;\"> 0.98</td><td style=\"text-align: right;\"> 0</td><td>No </td><td>No </td><td>No </td><td>Yes </td><td>No </td><td>Yes </td></tr>\n</tbody>\n</table>"
},
"metadata": {}
},
{
"output_type": "execute_result",
"execution_count": 6,
"data": {
"text/plain": ""
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "# Convert answer to factor\ndf[\"went_on_backorder\"] = df[\"went_on_backorder\"].asfactor()",
"execution_count": 7,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "# Define x and y, remove not wanted columns...\ny = \"went_on_backorder\"\nx = df.columns\nx.remove(y) # Delete answer on training matrix\nx.remove(\"sku\") # Do not use this column",
"execution_count": 8,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "# Run AutoML\naml = H2OAutoML(max_models = 10, \n seed = 1, \n max_runtime_secs = 1800, \n nfolds = 5, \n stopping_metric = \"AUC\",\n stopping_rounds = 5)\naml.train(x = x, y = y, training_frame = df)",
"execution_count": 9,
"outputs": [
{
"output_type": "stream",
"text": "AutoML progress: |████████████████████████████████████████████████████████| 100%\nParse progress: |█████████████████████████████████████████████████████████| 100%\n",
"name": "stdout"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "lb = aml.leaderboard\nlb.head(10)",
"execution_count": 10,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/html": "<table>\n<thead>\n<tr><th>model_id </th><th style=\"text-align: right;\"> auc</th><th style=\"text-align: right;\"> logloss</th></tr>\n</thead>\n<tbody>\n<tr><td>StackedEnsemble_AllModels_0_AutoML_20180227_195443 </td><td style=\"text-align: right;\">0.947379</td><td style=\"text-align: right;\"> 0.184374</td></tr>\n<tr><td>GBM_grid_0_AutoML_20180227_195443_model_3 </td><td style=\"text-align: right;\">0.946607</td><td style=\"text-align: right;\"> 0.177283</td></tr>\n<tr><td>StackedEnsemble_BestOfFamily_0_AutoML_20180227_195443</td><td style=\"text-align: right;\">0.946039</td><td style=\"text-align: right;\"> 0.185559</td></tr>\n<tr><td>GBM_grid_0_AutoML_20180227_195443_model_2 </td><td style=\"text-align: right;\">0.945586</td><td style=\"text-align: right;\"> 0.17963 </td></tr>\n<tr><td>GBM_grid_0_AutoML_20180227_195443_model_4 </td><td style=\"text-align: right;\">0.942943</td><td style=\"text-align: right;\"> 0.183479</td></tr>\n<tr><td>GBM_grid_0_AutoML_20180227_195443_model_1 </td><td style=\"text-align: right;\">0.942489</td><td style=\"text-align: right;\"> 0.185042</td></tr>\n<tr><td>GBM_grid_0_AutoML_20180227_195443_model_0 </td><td style=\"text-align: right;\">0.939966</td><td style=\"text-align: right;\"> 0.189141</td></tr>\n<tr><td>GBM_grid_0_AutoML_20180227_195443_model_5 </td><td style=\"text-align: right;\">0.935743</td><td style=\"text-align: right;\"> 0.353505</td></tr>\n<tr><td>XRT_0_AutoML_20180227_195443 </td><td style=\"text-align: right;\">0.929467</td><td style=\"text-align: right;\"> 0.214413</td></tr>\n<tr><td>DRF_0_AutoML_20180227_195443 </td><td style=\"text-align: right;\">0.921464</td><td style=\"text-align: right;\"> 0.227827</td></tr>\n</tbody>\n</table>"
},
"metadata": {}
},
{
"output_type": "execute_result",
"execution_count": 10,
"data": {
"text/plain": ""
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "# Get model ids for all models in the AutoML Leaderboard\nmodel_ids = list(lb['model_id'].as_data_frame().iloc[:,0])\n# Get the \"All Models\" Stacked Ensemble model\nse = h2o.get_model([mid for mid in model_ids if \"StackedEnsemble_AllModels\" in mid][0])\n# Get the Stacked Ensemble metalearner model\nmetalearner = h2o.get_model(aml.leader.metalearner()['name'])",
"execution_count": 11,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "# Base learner contributions to the ensemble\nmetalearner.std_coef_plot()",
"execution_count": 179,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<matplotlib.figure.Figure at 0x126a02160>",
"image/png": "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\n"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": false
},
"cell_type": "code",
"source": "# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"execution_count": null,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "# Select Model to study and export\nmodel = h2o.get_model(model_ids[1])\nmodel",
"execution_count": 13,
"outputs": [
{
"output_type": "stream",
"text": "Model Details\n=============\nH2OGradientBoostingEstimator : Gradient Boosting Machine\nModel Key: GBM_grid_0_AutoML_20180227_195443_model_3\n\n\nModelMetricsBinomial: gbm\n** Reported on train data. **\n\nMSE: 0.03424900197891428\nRMSE: 0.18506485884390445\nLogLoss: 0.1249321868073977\nMean Per-Class Error: 0.07595922295967772\nAUC: 0.979274288138554\nGini: 0.958548576277108\nConfusion Matrix (Act/Pred) for max f1 @ threshold = 0.35240292765974046: \n",
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"text/plain": " No Yes Error Rate\n----- ----- ----- ------- ---------------\nNo 13010 347 0.026 (347.0/13357.0)\nYes 316 1493 0.1747 (316.0/1809.0)\nTotal 13326 1840 0.0437 (663.0/15166.0)",
"text/html": "<div style=\"overflow:auto\"><table style=\"width:50%\"><tr><td><b></b></td>\n<td><b>No</b></td>\n<td><b>Yes</b></td>\n<td><b>Error</b></td>\n<td><b>Rate</b></td></tr>\n<tr><td>No</td>\n<td>13010.0</td>\n<td>347.0</td>\n<td>0.026</td>\n<td> (347.0/13357.0)</td></tr>\n<tr><td>Yes</td>\n<td>316.0</td>\n<td>1493.0</td>\n<td>0.1747</td>\n<td> (316.0/1809.0)</td></tr>\n<tr><td>Total</td>\n<td>13326.0</td>\n<td>1840.0</td>\n<td>0.0437</td>\n<td> (663.0/15166.0)</td></tr></table></div>"
},
"metadata": {}
},
{
"output_type": "stream",
"text": "Maximum Metrics: Maximum metrics at their respective thresholds\n\n",
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"text/plain": "metric threshold value idx\n--------------------------- ----------- -------- -----\nmax f1 0.352403 0.818306 188\nmax f2 0.202587 0.843343 244\nmax f0point5 0.540965 0.859725 135\nmax accuracy 0.442393 0.95846 162\nmax precision 0.989559 1 0\nmax recall 0.0152522 1 370\nmax specificity 0.989559 1 0\nmax absolute_mcc 0.386901 0.794202 176\nmax min_per_class_accuracy 0.171234 0.923261 258\nmax mean_per_class_accuracy 0.171234 0.924041 258",
"text/html": "<div style=\"overflow:auto\"><table style=\"width:50%\"><tr><td><b>metric</b></td>\n<td><b>threshold</b></td>\n<td><b>value</b></td>\n<td><b>idx</b></td></tr>\n<tr><td>max f1</td>\n<td>0.3524029</td>\n<td>0.8183064</td>\n<td>188.0</td></tr>\n<tr><td>max f2</td>\n<td>0.2025866</td>\n<td>0.8433426</td>\n<td>244.0</td></tr>\n<tr><td>max f0point5</td>\n<td>0.5409651</td>\n<td>0.8597254</td>\n<td>135.0</td></tr>\n<tr><td>max accuracy</td>\n<td>0.4423925</td>\n<td>0.9584597</td>\n<td>162.0</td></tr>\n<tr><td>max precision</td>\n<td>0.9895588</td>\n<td>1.0</td>\n<td>0.0</td></tr>\n<tr><td>max recall</td>\n<td>0.0152522</td>\n<td>1.0</td>\n<td>370.0</td></tr>\n<tr><td>max specificity</td>\n<td>0.9895588</td>\n<td>1.0</td>\n<td>0.0</td></tr>\n<tr><td>max absolute_mcc</td>\n<td>0.3869014</td>\n<td>0.7942022</td>\n<td>176.0</td></tr>\n<tr><td>max min_per_class_accuracy</td>\n<td>0.1712341</td>\n<td>0.9232612</td>\n<td>258.0</td></tr>\n<tr><td>max mean_per_class_accuracy</td>\n<td>0.1712341</td>\n<td>0.9240408</td>\n<td>258.0</td></tr></table></div>"
},
"metadata": {}
},
{
"output_type": "stream",
"text": "Gains/Lift Table: Avg response rate: 11.93 %\n\n",
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"text/plain": " group cumulative_data_fraction lower_threshold lift cumulative_lift response_rate cumulative_response_rate capture_rate cumulative_capture_rate gain cumulative_gain\n-- ------- -------------------------- ----------------- ---------- ----------------- --------------- -------------------------- -------------- ------------------------- -------- -----------------\n 1 0.0100224 0.928364 8.38364 8.38364 1 1 0.0840243 0.0840243 738.364 738.364\n 2 0.0200448 0.884669 8.38364 8.38364 1 1 0.0840243 0.168049 738.364 738.364\n 3 0.0300013 0.84508 8.32812 8.36521 0.993377 0.997802 0.0829187 0.250967 732.812 736.521\n 4 0.0400237 0.804884 8.27333 8.3422 0.986842 0.995058 0.0829187 0.333886 727.333 734.22\n 5 0.0500462 0.758427 8.0527 8.28423 0.960526 0.988142 0.0807076 0.414594 705.27 728.423\n 6 0.100026 0.482777 6.52552 7.40545 0.778364 0.883322 0.326147 0.740741 552.552 640.545\n 7 0.150007 0.245873 2.83141 5.88144 0.337731 0.701538 0.141515 0.882255 183.141 488.144\n 8 0.200053 0.125024 1.21502 4.71407 0.144928 0.562294 0.0608071 0.943062 21.502 371.407\n 9 0.300013 0.0496933 0.381577 3.27054 0.0455145 0.39011 0.0381426 0.981205 -61.8423 227.054\n 10 0.40004 0.0261892 0.127109 2.48455 0.0151615 0.296357 0.0127142 0.993919 -87.2891 148.455\n 11 0.5 0.0177938 0.055301 1.99889 0.00659631 0.238428 0.00552792 0.999447 -94.4699 99.8894\n 12 0.600092 0.0140514 0.00552282 1.66641 0.000658762 0.198769 0.000552792 1 -99.4477 66.641\n 13 0.699987 0.0113582 0 1.4286 0 0.170403 0 1 -100 42.8598\n 14 0.800013 0.00867556 0 1.24998 0 0.149098 0 1 -100 24.9979\n 15 0.899974 0.0055107 0 1.11114 0 0.132537 0 1 -100 11.1144\n 16 1 0.00080064 0 1 0 0.11928 0 1 -100 0",
"text/html": "<div style=\"overflow:auto\"><table style=\"width:50%\"><tr><td><b></b></td>\n<td><b>group</b></td>\n<td><b>cumulative_data_fraction</b></td>\n<td><b>lower_threshold</b></td>\n<td><b>lift</b></td>\n<td><b>cumulative_lift</b></td>\n<td><b>response_rate</b></td>\n<td><b>cumulative_response_rate</b></td>\n<td><b>capture_rate</b></td>\n<td><b>cumulative_capture_rate</b></td>\n<td><b>gain</b></td>\n<td><b>cumulative_gain</b></td></tr>\n<tr><td></td>\n<td>1</td>\n<td>0.0100224</td>\n<td>0.9283637</td>\n<td>8.3836374</td>\n<td>8.3836374</td>\n<td>1.0</td>\n<td>1.0</td>\n<td>0.0840243</td>\n<td>0.0840243</td>\n<td>738.3637369</td>\n<td>738.3637369</td></tr>\n<tr><td></td>\n<td>2</td>\n<td>0.0200448</td>\n<td>0.8846694</td>\n<td>8.3836374</td>\n<td>8.3836374</td>\n<td>1.0</td>\n<td>1.0</td>\n<td>0.0840243</td>\n<td>0.1680486</td>\n<td>738.3637369</td>\n<td>738.3637369</td></tr>\n<tr><td></td>\n<td>3</td>\n<td>0.0300013</td>\n<td>0.8450800</td>\n<td>8.3281166</td>\n<td>8.3652118</td>\n<td>0.9933775</td>\n<td>0.9978022</td>\n<td>0.0829187</td>\n<td>0.2509674</td>\n<td>732.8116591</td>\n<td>736.5211792</td></tr>\n<tr><td></td>\n<td>4</td>\n<td>0.0400237</td>\n<td>0.8048838</td>\n<td>8.2733264</td>\n<td>8.3422026</td>\n<td>0.9868421</td>\n<td>0.9950577</td>\n<td>0.0829187</td>\n<td>0.3338861</td>\n<td>727.3326351</td>\n<td>734.2202588</td></tr>\n<tr><td></td>\n<td>5</td>\n<td>0.0500462</td>\n<td>0.7584266</td>\n<td>8.0527043</td>\n<td>8.2842266</td>\n<td>0.9605263</td>\n<td>0.9881423</td>\n<td>0.0807076</td>\n<td>0.4145937</td>\n<td>705.2704315</td>\n<td>728.4226649</td></tr>\n<tr><td></td>\n<td>6</td>\n<td>0.1000264</td>\n<td>0.4827773</td>\n<td>6.5255225</td>\n<td>7.4054542</td>\n<td>0.7783641</td>\n<td>0.8833223</td>\n<td>0.3261470</td>\n<td>0.7407407</td>\n<td>552.5522490</td>\n<td>640.5454235</td></tr>\n<tr><td></td>\n<td>7</td>\n<td>0.1500066</td>\n<td>0.2458727</td>\n<td>2.8314131</td>\n<td>5.8814441</td>\n<td>0.3377309</td>\n<td>0.7015385</td>\n<td>0.1415146</td>\n<td>0.8822554</td>\n<td>183.1413148</td>\n<td>488.1444062</td></tr>\n<tr><td></td>\n<td>8</td>\n<td>0.2000527</td>\n<td>0.1250243</td>\n<td>1.2150199</td>\n<td>4.7140690</td>\n<td>0.1449275</td>\n<td>0.5622940</td>\n<td>0.0608071</td>\n<td>0.9430625</td>\n<td>21.5019909</td>\n<td>371.4069002</td></tr>\n<tr><td></td>\n<td>9</td>\n<td>0.3000132</td>\n<td>0.0496933</td>\n<td>0.3815772</td>\n<td>3.2705399</td>\n<td>0.0455145</td>\n<td>0.3901099</td>\n<td>0.0381426</td>\n<td>0.9812051</td>\n<td>-61.8422837</td>\n<td>227.0539853</td></tr>\n<tr><td></td>\n<td>10</td>\n<td>0.4000396</td>\n<td>0.0261892</td>\n<td>0.1271085</td>\n<td>2.4845525</td>\n<td>0.0151615</td>\n<td>0.2963573</td>\n<td>0.0127142</td>\n<td>0.9939193</td>\n<td>-87.2891457</td>\n<td>148.4552495</td></tr>\n<tr><td></td>\n<td>11</td>\n<td>0.5</td>\n<td>0.0177938</td>\n<td>0.0553010</td>\n<td>1.9988944</td>\n<td>0.0065963</td>\n<td>0.2384281</td>\n<td>0.0055279</td>\n<td>0.9994472</td>\n<td>-94.4698962</td>\n<td>99.8894417</td></tr>\n<tr><td></td>\n<td>12</td>\n<td>0.6000923</td>\n<td>0.0140514</td>\n<td>0.0055228</td>\n<td>1.6664103</td>\n<td>0.0006588</td>\n<td>0.1987694</td>\n<td>0.0005528</td>\n<td>1.0</td>\n<td>-99.4477182</td>\n<td>66.6410285</td></tr>\n<tr><td></td>\n<td>13</td>\n<td>0.6999868</td>\n<td>0.0113582</td>\n<td>0.0</td>\n<td>1.4285983</td>\n<td>0.0</td>\n<td>0.1704032</td>\n<td>0.0</td>\n<td>1.0</td>\n<td>-100.0</td>\n<td>42.8598342</td></tr>\n<tr><td></td>\n<td>14</td>\n<td>0.8000132</td>\n<td>0.0086756</td>\n<td>0.0</td>\n<td>1.2499794</td>\n<td>0.0</td>\n<td>0.1490975</td>\n<td>0.0</td>\n<td>1.0</td>\n<td>-100.0</td>\n<td>24.9979395</td></tr>\n<tr><td></td>\n<td>15</td>\n<td>0.8999736</td>\n<td>0.0055107</td>\n<td>0.0</td>\n<td>1.1111437</td>\n<td>0.0</td>\n<td>0.1325372</td>\n<td>0.0</td>\n<td>1.0</td>\n<td>-100.0</td>\n<td>11.1143674</td></tr>\n<tr><td></td>\n<td>16</td>\n<td>1.0</td>\n<td>0.0008006</td>\n<td>0.0</td>\n<td>1.0</td>\n<td>0.0</td>\n<td>0.1192800</td>\n<td>0.0</td>\n<td>1.0</td>\n<td>-100.0</td>\n<td>0.0</td></tr></table></div>"
},
"metadata": {}
},
{
"output_type": "stream",
"text": "\n\nModelMetricsBinomial: gbm\n** Reported on validation data. **\n\nMSE: 0.05259387316825054\nRMSE: 0.22933354130665348\nLogLoss: 0.1802555462245214\nMean Per-Class Error: 0.11971119801468566\nAUC: 0.940524143386645\nGini: 0.8810482867732901\nConfusion Matrix (Act/Pred) for max f1 @ threshold = 0.32398728724643466: \n",
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"text/plain": " No Yes Error Rate\n----- ---- ----- ------- --------------\nNo 3257 173 0.0504 (173.0/3430.0)\nYes 118 339 0.2582 (118.0/457.0)\nTotal 3375 512 0.0749 (291.0/3887.0)",
"text/html": "<div style=\"overflow:auto\"><table style=\"width:50%\"><tr><td><b></b></td>\n<td><b>No</b></td>\n<td><b>Yes</b></td>\n<td><b>Error</b></td>\n<td><b>Rate</b></td></tr>\n<tr><td>No</td>\n<td>3257.0</td>\n<td>173.0</td>\n<td>0.0504</td>\n<td> (173.0/3430.0)</td></tr>\n<tr><td>Yes</td>\n<td>118.0</td>\n<td>339.0</td>\n<td>0.2582</td>\n<td> (118.0/457.0)</td></tr>\n<tr><td>Total</td>\n<td>3375.0</td>\n<td>512.0</td>\n<td>0.0749</td>\n<td> (291.0/3887.0)</td></tr></table></div>"
},
"metadata": {}
},
{
"output_type": "stream",
"text": "Maximum Metrics: Maximum metrics at their respective thresholds\n\n",
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"text/plain": "metric threshold value idx\n--------------------------- ----------- -------- -----\nmax f1 0.323987 0.69969 204\nmax f2 0.198027 0.766291 252\nmax f0point5 0.58337 0.717501 125\nmax accuracy 0.498848 0.929509 147\nmax precision 0.983713 1 0\nmax recall 0.00540418 1 392\nmax specificity 0.983713 1 0\nmax absolute_mcc 0.233192 0.658681 238\nmax min_per_class_accuracy 0.116775 0.876676 289\nmax mean_per_class_accuracy 0.0861528 0.880289 307",
"text/html": "<div style=\"overflow:auto\"><table style=\"width:50%\"><tr><td><b>metric</b></td>\n<td><b>threshold</b></td>\n<td><b>value</b></td>\n<td><b>idx</b></td></tr>\n<tr><td>max f1</td>\n<td>0.3239873</td>\n<td>0.6996904</td>\n<td>204.0</td></tr>\n<tr><td>max f2</td>\n<td>0.1980274</td>\n<td>0.7662912</td>\n<td>252.0</td></tr>\n<tr><td>max f0point5</td>\n<td>0.5833704</td>\n<td>0.7175014</td>\n<td>125.0</td></tr>\n<tr><td>max accuracy</td>\n<td>0.4988480</td>\n<td>0.9295086</td>\n<td>147.0</td></tr>\n<tr><td>max precision</td>\n<td>0.9837127</td>\n<td>1.0</td>\n<td>0.0</td></tr>\n<tr><td>max recall</td>\n<td>0.0054042</td>\n<td>1.0</td>\n<td>392.0</td></tr>\n<tr><td>max specificity</td>\n<td>0.9837127</td>\n<td>1.0</td>\n<td>0.0</td></tr>\n<tr><td>max absolute_mcc</td>\n<td>0.2331920</td>\n<td>0.6586812</td>\n<td>238.0</td></tr>\n<tr><td>max min_per_class_accuracy</td>\n<td>0.1167749</td>\n<td>0.8766764</td>\n<td>289.0</td></tr>\n<tr><td>max mean_per_class_accuracy</td>\n<td>0.0861528</td>\n<td>0.8802888</td>\n<td>307.0</td></tr></table></div>"
},
"metadata": {}
},
{
"output_type": "stream",
"text": "Gains/Lift Table: Avg response rate: 11.76 %\n\n",
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"text/plain": " group cumulative_data_fraction lower_threshold lift cumulative_lift response_rate cumulative_response_rate capture_rate cumulative_capture_rate gain cumulative_gain\n-- ------- -------------------------- ----------------- --------- ----------------- --------------- -------------------------- -------------- ------------------------- -------- -----------------\n 1 0.0100334 0.906005 7.41503 7.41503 0.871795 0.871795 0.0743982 0.0743982 641.503 641.503\n 2 0.0200669 0.852461 7.19694 7.30598 0.846154 0.858974 0.0722101 0.146608 619.694 630.598\n 3 0.0301003 0.815274 7.41503 7.34233 0.871795 0.863248 0.0743982 0.221007 641.503 634.233\n 4 0.0401338 0.771151 6.54267 7.14241 0.769231 0.839744 0.0656455 0.286652 554.267 614.241\n 5 0.0501672 0.726959 6.10649 6.93523 0.717949 0.815385 0.0612691 0.347921 510.649 593.523\n 6 0.100077 0.484493 5.52417 6.23151 0.649485 0.732648 0.275711 0.623632 452.417 523.151\n 7 0.149987 0.249637 3.33204 5.26668 0.391753 0.619211 0.166302 0.789934 233.204 426.668\n 8 0.200154 0.138192 1.52662 4.32926 0.179487 0.508997 0.0765864 0.866521 52.6623 332.926\n 9 0.299974 0.0553514 0.657639 3.10749 0.0773196 0.365352 0.0656455 0.932166 -34.2361 210.749\n 10 0.400051 0.0282966 0.327974 2.41216 0.0385604 0.283601 0.0328228 0.964989 -67.2026 141.216\n 11 0.500129 0.0181356 0.0874599 1.94698 0.0102828 0.228909 0.00875274 0.973742 -91.254 94.6983\n 12 0.599949 0.0143201 0.0876853 1.63763 0.0103093 0.192539 0.00875274 0.982495 -91.2315 63.7631\n 13 0.700026 0.0115627 0.0437299 1.40976 0.00514139 0.165748 0.00437637 0.986871 -95.627 40.9764\n 14 0.800103 0.00912651 0.0655949 1.24163 0.00771208 0.145981 0.00656455 0.993435 -93.4405 24.1635\n 15 0.899923 0.00566391 0.0438426 1.10877 0.00515464 0.13036 0.00437637 0.997812 -95.6157 10.8775\n 16 1 0.00110823 0.021865 1 0.00257069 0.117571 0.00218818 1 -97.8135 0",
"text/html": "<div style=\"overflow:auto\"><table style=\"width:50%\"><tr><td><b></b></td>\n<td><b>group</b></td>\n<td><b>cumulative_data_fraction</b></td>\n<td><b>lower_threshold</b></td>\n<td><b>lift</b></td>\n<td><b>cumulative_lift</b></td>\n<td><b>response_rate</b></td>\n<td><b>cumulative_response_rate</b></td>\n<td><b>capture_rate</b></td>\n<td><b>cumulative_capture_rate</b></td>\n<td><b>gain</b></td>\n<td><b>cumulative_gain</b></td></tr>\n<tr><td></td>\n<td>1</td>\n<td>0.0100334</td>\n<td>0.9060046</td>\n<td>7.4150255</td>\n<td>7.4150255</td>\n<td>0.8717949</td>\n<td>0.8717949</td>\n<td>0.0743982</td>\n<td>0.0743982</td>\n<td>641.5025529</td>\n<td>641.5025529</td></tr>\n<tr><td></td>\n<td>2</td>\n<td>0.0200669</td>\n<td>0.8524608</td>\n<td>7.1969365</td>\n<td>7.3059810</td>\n<td>0.8461538</td>\n<td>0.8589744</td>\n<td>0.0722101</td>\n<td>0.1466083</td>\n<td>619.6936543</td>\n<td>630.5981036</td></tr>\n<tr><td></td>\n<td>3</td>\n<td>0.0301003</td>\n<td>0.8152743</td>\n<td>7.4150255</td>\n<td>7.3423292</td>\n<td>0.8717949</td>\n<td>0.8632479</td>\n<td>0.0743982</td>\n<td>0.2210066</td>\n<td>641.5025529</td>\n<td>634.2329200</td></tr>\n<tr><td></td>\n<td>4</td>\n<td>0.0401338</td>\n<td>0.7711511</td>\n<td>6.5426696</td>\n<td>7.1424143</td>\n<td>0.7692308</td>\n<td>0.8397436</td>\n<td>0.0656455</td>\n<td>0.2866521</td>\n<td>554.2669584</td>\n<td>614.2414296</td></tr>\n<tr><td></td>\n<td>5</td>\n<td>0.0501672</td>\n<td>0.7269586</td>\n<td>6.1064916</td>\n<td>6.9352298</td>\n<td>0.7179487</td>\n<td>0.8153846</td>\n<td>0.0612691</td>\n<td>0.3479212</td>\n<td>510.6491612</td>\n<td>593.5229759</td></tr>\n<tr><td></td>\n<td>6</td>\n<td>0.1000772</td>\n<td>0.4844933</td>\n<td>5.5241715</td>\n<td>6.2315143</td>\n<td>0.6494845</td>\n<td>0.7326478</td>\n<td>0.2757112</td>\n<td>0.6236324</td>\n<td>452.4171536</td>\n<td>523.1514347</td></tr>\n<tr><td></td>\n<td>7</td>\n<td>0.1499871</td>\n<td>0.2496368</td>\n<td>3.3320400</td>\n<td>5.2666807</td>\n<td>0.3917526</td>\n<td>0.6192110</td>\n<td>0.1663020</td>\n<td>0.7899344</td>\n<td>233.2039974</td>\n<td>426.6680679</td></tr>\n<tr><td></td>\n<td>8</td>\n<td>0.2001544</td>\n<td>0.1381922</td>\n<td>1.5266229</td>\n<td>4.3292626</td>\n<td>0.1794872</td>\n<td>0.5089974</td>\n<td>0.0765864</td>\n<td>0.8665208</td>\n<td>52.6622903</td>\n<td>332.9262599</td></tr>\n<tr><td></td>\n<td>9</td>\n<td>0.2999743</td>\n<td>0.0553514</td>\n<td>0.6576395</td>\n<td>3.1074875</td>\n<td>0.0773196</td>\n<td>0.3653516</td>\n<td>0.0656455</td>\n<td>0.9321663</td>\n<td>-34.2360531</td>\n<td>210.7487492</td></tr>\n<tr><td></td>\n<td>10</td>\n<td>0.4000515</td>\n<td>0.0282966</td>\n<td>0.3279744</td>\n<td>2.4121624</td>\n<td>0.0385604</td>\n<td>0.2836013</td>\n<td>0.0328228</td>\n<td>0.9649891</td>\n<td>-67.2025561</td>\n<td>141.2162362</td></tr>\n<tr><td></td>\n<td>11</td>\n<td>0.5001286</td>\n<td>0.0181356</td>\n<td>0.0874599</td>\n<td>1.9469827</td>\n<td>0.0102828</td>\n<td>0.2289095</td>\n<td>0.0087527</td>\n<td>0.9737418</td>\n<td>-91.2540150</td>\n<td>94.6982693</td></tr>\n<tr><td></td>\n<td>12</td>\n<td>0.5999485</td>\n<td>0.0143201</td>\n<td>0.0876853</td>\n<td>1.6376313</td>\n<td>0.0103093</td>\n<td>0.1925386</td>\n<td>0.0087527</td>\n<td>0.9824945</td>\n<td>-91.2314738</td>\n<td>63.7631319</td></tr>\n<tr><td></td>\n<td>13</td>\n<td>0.7000257</td>\n<td>0.0115627</td>\n<td>0.0437299</td>\n<td>1.4097638</td>\n<td>0.0051414</td>\n<td>0.1657479</td>\n<td>0.0043764</td>\n<td>0.9868709</td>\n<td>-95.6270075</td>\n<td>40.9763755</td></tr>\n<tr><td></td>\n<td>14</td>\n<td>0.8001029</td>\n<td>0.0091265</td>\n<td>0.0655949</td>\n<td>1.2416346</td>\n<td>0.0077121</td>\n<td>0.1459807</td>\n<td>0.0065646</td>\n<td>0.9934354</td>\n<td>-93.4405112</td>\n<td>24.1634594</td></tr>\n<tr><td></td>\n<td>15</td>\n<td>0.8999228</td>\n<td>0.0056639</td>\n<td>0.0438426</td>\n<td>1.1087749</td>\n<td>0.0051546</td>\n<td>0.1303602</td>\n<td>0.0043764</td>\n<td>0.9978118</td>\n<td>-95.6157369</td>\n<td>10.8774880</td></tr>\n<tr><td></td>\n<td>16</td>\n<td>1.0</td>\n<td>0.0011082</td>\n<td>0.0218650</td>\n<td>1.0</td>\n<td>0.0025707</td>\n<td>0.1175714</td>\n<td>0.0021882</td>\n<td>1.0</td>\n<td>-97.8135037</td>\n<td>0.0</td></tr></table></div>"
},
"metadata": {}
},
{
"output_type": "stream",
"text": "\n\nModelMetricsBinomial: gbm\n** Reported on cross-validation data. **\n\nMSE: 0.052086708166482885\nRMSE: 0.2282251260630233\nLogLoss: 0.1772831356603712\nMean Per-Class Error: 0.11540779626941611\nAUC: 0.9466068375399834\nGini: 0.8932136750799669\nConfusion Matrix (Act/Pred) for max f1 @ threshold = 0.2920510556337048: \n",
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"text/plain": " No Yes Error Rate\n----- ----- ----- ------- ----------------\nNo 12612 745 0.0558 (745.0/13357.0)\nYes 433 1376 0.2394 (433.0/1809.0)\nTotal 13045 2121 0.0777 (1178.0/15166.0)",
"text/html": "<div style=\"overflow:auto\"><table style=\"width:50%\"><tr><td><b></b></td>\n<td><b>No</b></td>\n<td><b>Yes</b></td>\n<td><b>Error</b></td>\n<td><b>Rate</b></td></tr>\n<tr><td>No</td>\n<td>12612.0</td>\n<td>745.0</td>\n<td>0.0558</td>\n<td> (745.0/13357.0)</td></tr>\n<tr><td>Yes</td>\n<td>433.0</td>\n<td>1376.0</td>\n<td>0.2394</td>\n<td> (433.0/1809.0)</td></tr>\n<tr><td>Total</td>\n<td>13045.0</td>\n<td>2121.0</td>\n<td>0.0777</td>\n<td> (1178.0/15166.0)</td></tr></table></div>"
},
"metadata": {}
},
{
"output_type": "stream",
"text": "Maximum Metrics: Maximum metrics at their respective thresholds\n\n",
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"text/plain": "metric threshold value idx\n--------------------------- ----------- -------- -----\nmax f1 0.292051 0.700254 216\nmax f2 0.143118 0.77433 273\nmax f0point5 0.549109 0.721411 134\nmax accuracy 0.459634 0.929909 160\nmax precision 0.993889 1 0\nmax recall 0.00433776 1 394\nmax specificity 0.993889 1 0\nmax absolute_mcc 0.292051 0.6587 216\nmax min_per_class_accuracy 0.122329 0.884181 283\nmax mean_per_class_accuracy 0.143118 0.884592 273",
"text/html": "<div style=\"overflow:auto\"><table style=\"width:50%\"><tr><td><b>metric</b></td>\n<td><b>threshold</b></td>\n<td><b>value</b></td>\n<td><b>idx</b></td></tr>\n<tr><td>max f1</td>\n<td>0.2920511</td>\n<td>0.7002545</td>\n<td>216.0</td></tr>\n<tr><td>max f2</td>\n<td>0.1431180</td>\n<td>0.7743298</td>\n<td>273.0</td></tr>\n<tr><td>max f0point5</td>\n<td>0.5491087</td>\n<td>0.7214110</td>\n<td>134.0</td></tr>\n<tr><td>max accuracy</td>\n<td>0.4596342</td>\n<td>0.9299090</td>\n<td>160.0</td></tr>\n<tr><td>max precision</td>\n<td>0.9938893</td>\n<td>1.0</td>\n<td>0.0</td></tr>\n<tr><td>max recall</td>\n<td>0.0043378</td>\n<td>1.0</td>\n<td>394.0</td></tr>\n<tr><td>max specificity</td>\n<td>0.9938893</td>\n<td>1.0</td>\n<td>0.0</td></tr>\n<tr><td>max absolute_mcc</td>\n<td>0.2920511</td>\n<td>0.6586997</td>\n<td>216.0</td></tr>\n<tr><td>max min_per_class_accuracy</td>\n<td>0.1223286</td>\n<td>0.8841806</td>\n<td>283.0</td></tr>\n<tr><td>max mean_per_class_accuracy</td>\n<td>0.1431180</td>\n<td>0.8845922</td>\n<td>273.0</td></tr></table></div>"
},
"metadata": {}
},
{
"output_type": "stream",
"text": "Gains/Lift Table: Avg response rate: 11.93 %\n\n",
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"text/plain": " group cumulative_data_fraction lower_threshold lift cumulative_lift response_rate cumulative_response_rate capture_rate cumulative_capture_rate gain cumulative_gain\n-- ------- -------------------------- ----------------- --------- ----------------- --------------- -------------------------- -------------- ------------------------- -------- -----------------\n 1 0.0100224 0.908253 7.39084 7.39084 0.881579 0.881579 0.0740741 0.0740741 639.084 639.084\n 2 0.0200448 0.857158 7.11506 7.25295 0.848684 0.865132 0.0713101 0.145384 611.506 625.295\n 3 0.0300013 0.806333 7.16218 7.22283 0.854305 0.861538 0.0713101 0.216694 616.218 622.283\n 4 0.0400237 0.763452 6.78413 7.11297 0.809211 0.848435 0.0679934 0.284688 578.413 611.297\n 5 0.0500462 0.720385 6.94959 7.08025 0.828947 0.844532 0.0696517 0.354339 594.959 608.025\n 6 0.100026 0.462118 5.39738 6.23937 0.643799 0.744232 0.269762 0.624102 439.738 523.937\n 7 0.150007 0.256567 3.21852 5.23286 0.383905 0.624176 0.160862 0.784964 221.852 423.286\n 8 0.200053 0.131362 1.80044 4.37419 0.214756 0.521753 0.090105 0.875069 80.0439 337.419\n 9 0.300013 0.0497257 0.658082 3.13603 0.078496 0.374066 0.0657822 0.940851 -34.1918 213.603\n 10 0.40004 0.0265286 0.270796 2.41961 0.0323006 0.288611 0.0270868 0.967938 -72.9204 141.961\n 11 0.5 0.0182619 0.149313 1.96573 0.01781 0.234472 0.0149254 0.982863 -85.0687 96.5727\n 12 0.600026 0.0140715 0.0884233 1.65277 0.0105471 0.197143 0.00884467 0.991708 -91.1577 65.2774\n 13 0.699987 0.0113191 0.0276505 1.4207 0.00329815 0.169461 0.00276396 0.994472 -97.2349 42.0701\n 14 0.800013 0.00861303 0.0165794 1.24514 0.00197759 0.148521 0.00165837 0.99613 -98.3421 24.5143\n 15 0.899974 0.00559864 0.0276505 1.10992 0.00329815 0.132391 0.00276396 0.998894 -97.2349 10.9915\n 16 1 0.000606889 0.0110529 1 0.00131839 0.11928 0.00110558 1 -98.8947 0",
"text/html": "<div style=\"overflow:auto\"><table style=\"width:50%\"><tr><td><b></b></td>\n<td><b>group</b></td>\n<td><b>cumulative_data_fraction</b></td>\n<td><b>lower_threshold</b></td>\n<td><b>lift</b></td>\n<td><b>cumulative_lift</b></td>\n<td><b>response_rate</b></td>\n<td><b>cumulative_response_rate</b></td>\n<td><b>capture_rate</b></td>\n<td><b>cumulative_capture_rate</b></td>\n<td><b>gain</b></td>\n<td><b>cumulative_gain</b></td></tr>\n<tr><td></td>\n<td>1</td>\n<td>0.0100224</td>\n<td>0.9082532</td>\n<td>7.3908382</td>\n<td>7.3908382</td>\n<td>0.8815789</td>\n<td>0.8815789</td>\n<td>0.0740741</td>\n<td>0.0740741</td>\n<td>639.0838207</td>\n<td>639.0838207</td></tr>\n<tr><td></td>\n<td>2</td>\n<td>0.0200448</td>\n<td>0.8571577</td>\n<td>7.1150607</td>\n<td>7.2529494</td>\n<td>0.8486842</td>\n<td>0.8651316</td>\n<td>0.0713101</td>\n<td>0.1453842</td>\n<td>611.5060662</td>\n<td>625.2949434</td></tr>\n<tr><td></td>\n<td>3</td>\n<td>0.0300013</td>\n<td>0.8063335</td>\n<td>7.1621803</td>\n<td>7.2228260</td>\n<td>0.8543046</td>\n<td>0.8615385</td>\n<td>0.0713101</td>\n<td>0.2166943</td>\n<td>616.2180269</td>\n<td>622.2826041</td></tr>\n<tr><td></td>\n<td>4</td>\n<td>0.0400237</td>\n<td>0.7634519</td>\n<td>6.7841276</td>\n<td>7.1129707</td>\n<td>0.8092105</td>\n<td>0.8484349</td>\n<td>0.0679934</td>\n<td>0.2846877</td>\n<td>578.4127608</td>\n<td>611.2970749</td></tr>\n<tr><td></td>\n<td>5</td>\n<td>0.0500462</td>\n<td>0.7203846</td>\n<td>6.9495941</td>\n<td>7.0802524</td>\n<td>0.8289474</td>\n<td>0.8445323</td>\n<td>0.0696517</td>\n<td>0.3543394</td>\n<td>594.9594135</td>\n<td>608.0252376</td></tr>\n<tr><td></td>\n<td>6</td>\n<td>0.1000264</td>\n<td>0.4621180</td>\n<td>5.3973813</td>\n<td>6.2393715</td>\n<td>0.6437995</td>\n<td>0.7442320</td>\n<td>0.2697623</td>\n<td>0.6241017</td>\n<td>439.7381314</td>\n<td>523.9371516</td></tr>\n<tr><td></td>\n<td>7</td>\n<td>0.1500066</td>\n<td>0.2565672</td>\n<td>3.2185204</td>\n<td>5.2328638</td>\n<td>0.3839050</td>\n<td>0.6241758</td>\n<td>0.1608624</td>\n<td>0.7849641</td>\n<td>221.8520415</td>\n<td>423.2863764</td></tr>\n<tr><td></td>\n<td>8</td>\n<td>0.2000527</td>\n<td>0.1313617</td>\n<td>1.8004386</td>\n<td>4.3741918</td>\n<td>0.2147563</td>\n<td>0.5217535</td>\n<td>0.0901050</td>\n<td>0.8750691</td>\n<td>80.0438592</td>\n<td>337.4191811</td></tr>\n<tr><td></td>\n<td>9</td>\n<td>0.3000132</td>\n<td>0.0497257</td>\n<td>0.6580824</td>\n<td>3.1360331</td>\n<td>0.0784960</td>\n<td>0.3740659</td>\n<td>0.0657822</td>\n<td>0.9408513</td>\n<td>-34.1917647</td>\n<td>213.6033143</td></tr>\n<tr><td></td>\n<td>10</td>\n<td>0.4000396</td>\n<td>0.0265286</td>\n<td>0.2707965</td>\n<td>2.4196059</td>\n<td>0.0323006</td>\n<td>0.2886105</td>\n<td>0.0270868</td>\n<td>0.9679381</td>\n<td>-72.9203539</td>\n<td>141.9605906</td></tr>\n<tr><td></td>\n<td>11</td>\n<td>0.5</td>\n<td>0.0182619</td>\n<td>0.1493128</td>\n<td>1.9657269</td>\n<td>0.0178100</td>\n<td>0.2344718</td>\n<td>0.0149254</td>\n<td>0.9828635</td>\n<td>-85.0687197</td>\n<td>96.5726921</td></tr>\n<tr><td></td>\n<td>12</td>\n<td>0.6000264</td>\n<td>0.0140715</td>\n<td>0.0884233</td>\n<td>1.6527742</td>\n<td>0.0105471</td>\n<td>0.1971429</td>\n<td>0.0088447</td>\n<td>0.9917081</td>\n<td>-91.1576666</td>\n<td>65.2774224</td></tr>\n<tr><td></td>\n<td>13</td>\n<td>0.6999868</td>\n<td>0.0113191</td>\n<td>0.0276505</td>\n<td>1.4207012</td>\n<td>0.0032982</td>\n<td>0.1694612</td>\n<td>0.0027640</td>\n<td>0.9944721</td>\n<td>-97.2349481</td>\n<td>42.0701171</td></tr>\n<tr><td></td>\n<td>14</td>\n<td>0.8000132</td>\n<td>0.0086130</td>\n<td>0.0165794</td>\n<td>1.2451425</td>\n<td>0.0019776</td>\n<td>0.1485206</td>\n<td>0.0016584</td>\n<td>0.9961305</td>\n<td>-98.3420625</td>\n<td>24.5142548</td></tr>\n<tr><td></td>\n<td>15</td>\n<td>0.8999736</td>\n<td>0.0055986</td>\n<td>0.0276505</td>\n<td>1.1099152</td>\n<td>0.0032982</td>\n<td>0.1323907</td>\n<td>0.0027640</td>\n<td>0.9988944</td>\n<td>-97.2349481</td>\n<td>10.9915212</td></tr>\n<tr><td></td>\n<td>16</td>\n<td>1.0</td>\n<td>0.0006069</td>\n<td>0.0110529</td>\n<td>1.0</td>\n<td>0.0013184</td>\n<td>0.1192800</td>\n<td>0.0011056</td>\n<td>1.0</td>\n<td>-98.8947083</td>\n<td>0.0</td></tr></table></div>"
},
"metadata": {}
},
{
"output_type": "stream",
"text": "\nCross-Validation Metrics Summary: \n",
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"text/plain": " mean sd cv_1_valid cv_2_valid cv_3_valid cv_4_valid cv_5_valid\n----------------------- --------- ---------- ------------ ------------ ------------ ------------ ------------\naccuracy 0.927337 0.00227877 0.928477 0.924168 0.93307 0.926146 0.924827\nauc 0.94685 0.00546766 0.950092 0.93262 0.955762 0.946409 0.949364\nerr 0.0726626 0.00227877 0.0715227 0.0758325 0.0669304 0.0738543 0.0751731\nerr_count 220.4 6.90797 217 230 203 224 228\nf0point5 0.69228 0.0102914 0.700779 0.676823 0.716578 0.685525 0.681698\nf1 0.705033 0.00779937 0.699029 0.702073 0.725305 0.706037 0.692722\nf2 0.718547 0.0105256 0.697288 0.729279 0.734247 0.727814 0.70411\nlift_top_group 7.41009 0.333695 6.48868 7.83791 7.56764 7.56764 7.5886\nlogloss 0.177283 0.00445393 0.180399 0.186004 0.166933 0.175059 0.17802\nmax_per_class_error 0.271982 0.0144201 0.303867 0.251381 0.259669 0.256906 0.288089\nmcc 0.664319 0.00883386 0.658454 0.660496 0.687398 0.665006 0.650239\nmean_per_class_accuracy 0.841174 0.00633976 0.828044 0.848289 0.849761 0.847024 0.832752\nmean_per_class_error 0.158826 0.00633976 0.171956 0.151711 0.150239 0.152976 0.167248\nmse 0.0520866 0.00139068 0.0540689 0.0531974 0.04899 0.0505738 0.0536029\nprecision 0.684168 0.0134022 0.70195 0.660976 0.710875 0.6725 0.674541\nr2 0.504176 0.0133884 0.485443 0.493881 0.53391 0.518842 0.488802\nrecall 0.728018 0.0144201 0.696133 0.748619 0.740332 0.743094 0.711911\nrmse 0.228184 0.00306318 0.232527 0.230646 0.221337 0.224886 0.231523\nspecificity 0.954331 0.00328318 0.959955 0.94796 0.959191 0.950955 0.953593",
"text/html": "<div style=\"overflow:auto\"><table style=\"width:50%\"><tr><td><b></b></td>\n<td><b>mean</b></td>\n<td><b>sd</b></td>\n<td><b>cv_1_valid</b></td>\n<td><b>cv_2_valid</b></td>\n<td><b>cv_3_valid</b></td>\n<td><b>cv_4_valid</b></td>\n<td><b>cv_5_valid</b></td></tr>\n<tr><td>accuracy</td>\n<td>0.9273374</td>\n<td>0.0022788</td>\n<td>0.9284773</td>\n<td>0.9241675</td>\n<td>0.9330696</td>\n<td>0.9261457</td>\n<td>0.9248269</td></tr>\n<tr><td>auc</td>\n<td>0.9468495</td>\n<td>0.0054677</td>\n<td>0.9500922</td>\n<td>0.9326199</td>\n<td>0.9557623</td>\n<td>0.9464092</td>\n<td>0.9493641</td></tr>\n<tr><td>err</td>\n<td>0.0726626</td>\n<td>0.0022788</td>\n<td>0.0715227</td>\n<td>0.0758325</td>\n<td>0.0669304</td>\n<td>0.0738543</td>\n<td>0.0751731</td></tr>\n<tr><td>err_count</td>\n<td>220.4</td>\n<td>6.9079666</td>\n<td>217.0</td>\n<td>230.0</td>\n<td>203.0</td>\n<td>224.0</td>\n<td>228.0</td></tr>\n<tr><td>f0point5</td>\n<td>0.6922804</td>\n<td>0.0102914</td>\n<td>0.7007787</td>\n<td>0.6768232</td>\n<td>0.7165775</td>\n<td>0.685525</td>\n<td>0.6816976</td></tr>\n<tr><td>f1</td>\n<td>0.7050331</td>\n<td>0.0077994</td>\n<td>0.6990291</td>\n<td>0.7020726</td>\n<td>0.7253045</td>\n<td>0.7060367</td>\n<td>0.6927224</td></tr>\n<tr><td>f2</td>\n<td>0.7185474</td>\n<td>0.0105256</td>\n<td>0.6972883</td>\n<td>0.7292788</td>\n<td>0.7342466</td>\n<td>0.7278138</td>\n<td>0.7041096</td></tr>\n<tr><td>lift_top_group</td>\n<td>7.410092</td>\n<td>0.3336952</td>\n<td>6.4886827</td>\n<td>7.837908</td>\n<td>7.567635</td>\n<td>7.567635</td>\n<td>7.588598</td></tr>\n<tr><td>logloss</td>\n<td>0.1772829</td>\n<td>0.0044539</td>\n<td>0.1803986</td>\n<td>0.1860037</td>\n<td>0.1669328</td>\n<td>0.1750590</td>\n<td>0.1780204</td></tr>\n<tr><td>max_per_class_error</td>\n<td>0.2719824</td>\n<td>0.0144201</td>\n<td>0.3038674</td>\n<td>0.2513812</td>\n<td>0.2596685</td>\n<td>0.2569061</td>\n<td>0.2880887</td></tr>\n<tr><td>mcc</td>\n<td>0.6643187</td>\n<td>0.0088339</td>\n<td>0.6584538</td>\n<td>0.6604959</td>\n<td>0.6873982</td>\n<td>0.6650062</td>\n<td>0.6502395</td></tr>\n<tr><td>mean_per_class_accuracy</td>\n<td>0.8411742</td>\n<td>0.0063398</td>\n<td>0.8280438</td>\n<td>0.8482892</td>\n<td>0.8497614</td>\n<td>0.8470243</td>\n<td>0.8327521</td></tr>\n<tr><td>mean_per_class_error</td>\n<td>0.1588258</td>\n<td>0.0063398</td>\n<td>0.1719562</td>\n<td>0.1517108</td>\n<td>0.1502386</td>\n<td>0.1529757</td>\n<td>0.1672479</td></tr>\n<tr><td>mse</td>\n<td>0.0520866</td>\n<td>0.0013907</td>\n<td>0.0540689</td>\n<td>0.0531974</td>\n<td>0.0489900</td>\n<td>0.0505738</td>\n<td>0.0536029</td></tr>\n<tr><td>precision</td>\n<td>0.6841683</td>\n<td>0.0134022</td>\n<td>0.7019498</td>\n<td>0.6609756</td>\n<td>0.7108753</td>\n<td>0.6725</td>\n<td>0.6745407</td></tr>\n<tr><td>r2</td>\n<td>0.5041756</td>\n<td>0.0133884</td>\n<td>0.4854432</td>\n<td>0.4938808</td>\n<td>0.5339102</td>\n<td>0.5188419</td>\n<td>0.4888020</td></tr>\n<tr><td>recall</td>\n<td>0.7280176</td>\n<td>0.0144201</td>\n<td>0.6961326</td>\n<td>0.7486188</td>\n<td>0.7403315</td>\n<td>0.7430939</td>\n<td>0.7119114</td></tr>\n<tr><td>rmse</td>\n<td>0.2281837</td>\n<td>0.0030632</td>\n<td>0.2325271</td>\n<td>0.2306456</td>\n<td>0.2213368</td>\n<td>0.2248862</td>\n<td>0.2315229</td></tr>\n<tr><td>specificity</td>\n<td>0.9543307</td>\n<td>0.0032832</td>\n<td>0.9599551</td>\n<td>0.9479595</td>\n<td>0.9591913</td>\n<td>0.9509547</td>\n<td>0.9535928</td></tr></table></div>"
},
"metadata": {}
},
{
"output_type": "stream",
"text": "Scoring History: \n",
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"text/plain": " timestamp duration number_of_trees training_rmse training_logloss training_auc training_lift training_classification_error validation_rmse validation_logloss validation_auc validation_lift validation_classification_error\n-- ------------------- ---------- ----------------- --------------- ------------------ -------------- --------------- ------------------------------- ----------------- -------------------- ---------------- ----------------- ---------------------------------\n 2018-02-27 19:55:48 9.223 sec 0 0.324118 0.365488 0.5 1 0.88072 0.322104 0.362072 0.5 1 0.882429\n 2018-02-27 19:55:48 9.308 sec 5 0.294709 0.298919 0.916182 8.16302 0.0938942 0.296494 0.303383 0.887048 6.54267 0.109853\n 2018-02-27 19:55:48 9.414 sec 10 0.266989 0.248975 0.947159 8.32848 0.0714757 0.273281 0.259492 0.921631 7.19694 0.0866993\n 2018-02-27 19:55:48 9.505 sec 15 0.25328 0.226725 0.951467 8.38364 0.0737835 0.26323 0.241822 0.922741 7.19694 0.0828402\n 2018-02-27 19:55:48 9.600 sec 20 0.241226 0.207223 0.956052 8.38364 0.0654095 0.255649 0.227636 0.925812 7.41503 0.0921019\n 2018-02-27 19:55:48 9.693 sec 25 0.222526 0.179381 0.964782 8.38364 0.0592114 0.242562 0.205872 0.934383 7.41503 0.0794958\n 2018-02-27 19:55:48 9.787 sec 30 0.212953 0.16435 0.968936 8.38364 0.0549914 0.237724 0.196766 0.935255 7.19694 0.0746077\n 2018-02-27 19:55:48 9.918 sec 35 0.203912 0.151202 0.972399 8.38364 0.0522221 0.233781 0.189533 0.937167 7.63311 0.0722923\n 2018-02-27 19:55:49 10.047 sec 40 0.197731 0.142054 0.974248 8.38364 0.0482659 0.231818 0.185545 0.938685 7.63311 0.0748649\n 2018-02-27 19:55:49 10.142 sec 45 0.194621 0.137125 0.974909 8.38364 0.0472768 0.23067 0.183011 0.939759 7.41503 0.0751222\n 2018-02-27 19:55:49 10.234 sec 50 0.191991 0.133837 0.976722 8.38364 0.0445734 0.230398 0.182413 0.939833 7.8512 0.0712632\n 2018-02-27 19:55:49 10.324 sec 55 0.18794 0.128337 0.978097 8.38364 0.0447053 0.229691 0.180818 0.940346 7.63311 0.0753795\n 2018-02-27 19:55:49 10.400 sec 59 0.185065 0.124932 0.979274 8.38364 0.0437162 0.229334 0.180256 0.940524 7.41503 0.0748649",
"text/html": "<div style=\"overflow:auto\"><table style=\"width:50%\"><tr><td><b></b></td>\n<td><b>timestamp</b></td>\n<td><b>duration</b></td>\n<td><b>number_of_trees</b></td>\n<td><b>training_rmse</b></td>\n<td><b>training_logloss</b></td>\n<td><b>training_auc</b></td>\n<td><b>training_lift</b></td>\n<td><b>training_classification_error</b></td>\n<td><b>validation_rmse</b></td>\n<td><b>validation_logloss</b></td>\n<td><b>validation_auc</b></td>\n<td><b>validation_lift</b></td>\n<td><b>validation_classification_error</b></td></tr>\n<tr><td></td>\n<td>2018-02-27 19:55:48</td>\n<td> 9.223 sec</td>\n<td>0.0</td>\n<td>0.3241177</td>\n<td>0.3654879</td>\n<td>0.5</td>\n<td>1.0</td>\n<td>0.8807200</td>\n<td>0.3221045</td>\n<td>0.3620720</td>\n<td>0.5</td>\n<td>1.0</td>\n<td>0.8824286</td></tr>\n<tr><td></td>\n<td>2018-02-27 19:55:48</td>\n<td> 9.308 sec</td>\n<td>5.0</td>\n<td>0.2947090</td>\n<td>0.2989190</td>\n<td>0.9161819</td>\n<td>8.1630153</td>\n<td>0.0938942</td>\n<td>0.2964940</td>\n<td>0.3033831</td>\n<td>0.8870476</td>\n<td>6.5426696</td>\n<td>0.1098534</td></tr>\n<tr><td></td>\n<td>2018-02-27 19:55:48</td>\n<td> 9.414 sec</td>\n<td>10.0</td>\n<td>0.2669887</td>\n<td>0.2489752</td>\n<td>0.9471587</td>\n<td>8.3284819</td>\n<td>0.0714757</td>\n<td>0.2732806</td>\n<td>0.2594924</td>\n<td>0.9216311</td>\n<td>7.1969365</td>\n<td>0.0866993</td></tr>\n<tr><td></td>\n<td>2018-02-27 19:55:48</td>\n<td> 9.505 sec</td>\n<td>15.0</td>\n<td>0.2532802</td>\n<td>0.2267248</td>\n<td>0.9514666</td>\n<td>8.3836374</td>\n<td>0.0737835</td>\n<td>0.2632303</td>\n<td>0.2418221</td>\n<td>0.9227415</td>\n<td>7.1969365</td>\n<td>0.0828402</td></tr>\n<tr><td></td>\n<td>2018-02-27 19:55:48</td>\n<td> 9.600 sec</td>\n<td>20.0</td>\n<td>0.2412265</td>\n<td>0.2072229</td>\n<td>0.9560521</td>\n<td>8.3836374</td>\n<td>0.0654095</td>\n<td>0.2556492</td>\n<td>0.2276360</td>\n<td>0.9258120</td>\n<td>7.4150255</td>\n<td>0.0921019</td></tr>\n<tr><td></td>\n<td>2018-02-27 19:55:48</td>\n<td> 9.693 sec</td>\n<td>25.0</td>\n<td>0.2225257</td>\n<td>0.1793810</td>\n<td>0.9647819</td>\n<td>8.3836374</td>\n<td>0.0592114</td>\n<td>0.2425620</td>\n<td>0.2058723</td>\n<td>0.9343829</td>\n<td>7.4150255</td>\n<td>0.0794958</td></tr>\n<tr><td></td>\n<td>2018-02-27 19:55:48</td>\n<td> 9.787 sec</td>\n<td>30.0</td>\n<td>0.2129529</td>\n<td>0.1643495</td>\n<td>0.9689361</td>\n<td>8.3836374</td>\n<td>0.0549914</td>\n<td>0.2377239</td>\n<td>0.1967663</td>\n<td>0.9352550</td>\n<td>7.1969365</td>\n<td>0.0746077</td></tr>\n<tr><td></td>\n<td>2018-02-27 19:55:48</td>\n<td> 9.918 sec</td>\n<td>35.0</td>\n<td>0.2039123</td>\n<td>0.1512016</td>\n<td>0.9723994</td>\n<td>8.3836374</td>\n<td>0.0522221</td>\n<td>0.2337810</td>\n<td>0.1895328</td>\n<td>0.9371669</td>\n<td>7.6331145</td>\n<td>0.0722923</td></tr>\n<tr><td></td>\n<td>2018-02-27 19:55:49</td>\n<td>10.047 sec</td>\n<td>40.0</td>\n<td>0.1977312</td>\n<td>0.1420539</td>\n<td>0.9742479</td>\n<td>8.3836374</td>\n<td>0.0482659</td>\n<td>0.2318178</td>\n<td>0.1855447</td>\n<td>0.9386846</td>\n<td>7.6331145</td>\n<td>0.0748649</td></tr>\n<tr><td></td>\n<td>2018-02-27 19:55:49</td>\n<td>10.142 sec</td>\n<td>45.0</td>\n<td>0.1946212</td>\n<td>0.1371248</td>\n<td>0.9749088</td>\n<td>8.3836374</td>\n<td>0.0472768</td>\n<td>0.2306704</td>\n<td>0.1830107</td>\n<td>0.9397592</td>\n<td>7.4150255</td>\n<td>0.0751222</td></tr>\n<tr><td></td>\n<td>2018-02-27 19:55:49</td>\n<td>10.234 sec</td>\n<td>50.0</td>\n<td>0.1919915</td>\n<td>0.1338371</td>\n<td>0.9767218</td>\n<td>8.3836374</td>\n<td>0.0445734</td>\n<td>0.2303980</td>\n<td>0.1824126</td>\n<td>0.9398332</td>\n<td>7.8512035</td>\n<td>0.0712632</td></tr>\n<tr><td></td>\n<td>2018-02-27 19:55:49</td>\n<td>10.324 sec</td>\n<td>55.0</td>\n<td>0.1879403</td>\n<td>0.1283368</td>\n<td>0.9780972</td>\n<td>8.3836374</td>\n<td>0.0447053</td>\n<td>0.2296908</td>\n<td>0.1808181</td>\n<td>0.9403455</td>\n<td>7.6331145</td>\n<td>0.0753795</td></tr>\n<tr><td></td>\n<td>2018-02-27 19:55:49</td>\n<td>10.400 sec</td>\n<td>59.0</td>\n<td>0.1850649</td>\n<td>0.1249322</td>\n<td>0.9792743</td>\n<td>8.3836374</td>\n<td>0.0437162</td>\n<td>0.2293335</td>\n<td>0.1802555</td>\n<td>0.9405241</td>\n<td>7.4150255</td>\n<td>0.0748649</td></tr></table></div>"
},
"metadata": {}
},
{
"output_type": "stream",
"text": "Variable Importances: \n",
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"text/plain": "variable relative_importance scaled_importance percentage\n---------------- --------------------- --------------------- ----------------------\nnational_inv 1119.3201904296875 1.0 0.2653839997178152\nsales_9_month 456.63568115234375 0.4079580490521209 0.10826553877452848\nlocal_bo_qty 329.3757629394531 0.2942641129461013 0.07809298726705126\nsales_1_month 281.1302795410156 0.2511616264449716 0.06665427700159833\nforecast_3_month 279.5615234375 0.2497601006644767 0.06628233448426298\n--- --- --- ---\nppap_risk 36.47928237915039 0.03259056942870532 0.008649015668070968\nstop_auto_buy 21.32124137878418 0.01904838451149472 0.0050551364698233495\npotential_issue 2.0359034538269043 0.0018188749485929996 0.00048270030884414565\noe_constraint 0.0 0.0 0.0\nrev_stop 0.0 0.0 0.0",
"text/html": "<div style=\"overflow:auto\"><table style=\"width:50%\"><tr><td><b>variable</b></td>\n<td><b>relative_importance</b></td>\n<td><b>scaled_importance</b></td>\n<td><b>percentage</b></td></tr>\n<tr><td>national_inv</td>\n<td>1119.3201904</td>\n<td>1.0</td>\n<td>0.2653840</td></tr>\n<tr><td>sales_9_month</td>\n<td>456.6356812</td>\n<td>0.4079580</td>\n<td>0.1082655</td></tr>\n<tr><td>local_bo_qty</td>\n<td>329.3757629</td>\n<td>0.2942641</td>\n<td>0.0780930</td></tr>\n<tr><td>sales_1_month</td>\n<td>281.1302795</td>\n<td>0.2511616</td>\n<td>0.0666543</td></tr>\n<tr><td>forecast_3_month</td>\n<td>279.5615234</td>\n<td>0.2497601</td>\n<td>0.0662823</td></tr>\n<tr><td>---</td>\n<td>---</td>\n<td>---</td>\n<td>---</td></tr>\n<tr><td>ppap_risk</td>\n<td>36.4792824</td>\n<td>0.0325906</td>\n<td>0.0086490</td></tr>\n<tr><td>stop_auto_buy</td>\n<td>21.3212414</td>\n<td>0.0190484</td>\n<td>0.0050551</td></tr>\n<tr><td>potential_issue</td>\n<td>2.0359035</td>\n<td>0.0018189</td>\n<td>0.0004827</td></tr>\n<tr><td>oe_constraint</td>\n<td>0.0</td>\n<td>0.0</td>\n<td>0.0</td></tr>\n<tr><td>rev_stop</td>\n<td>0.0</td>\n<td>0.0</td>\n<td>0.0</td></tr></table></div>"
},
"metadata": {}
},
{
"output_type": "stream",
"text": "\nSee the whole table with table.as_data_frame()\n",
"name": "stdout"
},
{
"output_type": "execute_result",
"execution_count": 13,
"data": {
"text/plain": ""
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "# Important variables\nimp = model.varimp(use_pandas = True).head(15)\nimp['percentage'] = round(100 * imp['percentage'], 2)\nimp['scaled_importance'] = round(100 * imp['scaled_importance'], 2)\nimp",
"execution_count": 145,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 145,
"data": {
"text/plain": " variable relative_importance scaled_importance percentage\n0 national_inv 1119.320190 100.00 26.54\n1 sales_9_month 456.635681 40.80 10.83\n2 local_bo_qty 329.375763 29.43 7.81\n3 sales_1_month 281.130280 25.12 6.67\n4 forecast_3_month 279.561523 24.98 6.63\n5 sales_6_month 230.717911 20.61 5.47\n6 sales_3_month 210.937973 18.85 5.00\n7 forecast_6_month 174.469482 15.59 4.14\n8 perf_12_month_avg 172.014984 15.37 4.08\n9 lead_time 170.058578 15.19 4.03\n10 min_bank 152.953796 13.66 3.63\n11 perf_6_month_avg 138.292969 12.36 3.28\n12 in_transit_qty 137.150299 12.25 3.25\n13 forecast_9_month 123.457878 11.03 2.93\n14 pieces_past_due 109.241592 9.76 2.59",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>variable</th>\n <th>relative_importance</th>\n <th>scaled_importance</th>\n <th>percentage</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>national_inv</td>\n <td>1119.320190</td>\n <td>100.00</td>\n <td>26.54</td>\n </tr>\n <tr>\n <th>1</th>\n <td>sales_9_month</td>\n <td>456.635681</td>\n <td>40.80</td>\n <td>10.83</td>\n </tr>\n <tr>\n <th>2</th>\n <td>local_bo_qty</td>\n <td>329.375763</td>\n <td>29.43</td>\n <td>7.81</td>\n </tr>\n <tr>\n <th>3</th>\n <td>sales_1_month</td>\n <td>281.130280</td>\n <td>25.12</td>\n <td>6.67</td>\n </tr>\n <tr>\n <th>4</th>\n <td>forecast_3_month</td>\n <td>279.561523</td>\n <td>24.98</td>\n <td>6.63</td>\n </tr>\n <tr>\n <th>5</th>\n <td>sales_6_month</td>\n <td>230.717911</td>\n <td>20.61</td>\n <td>5.47</td>\n </tr>\n <tr>\n <th>6</th>\n <td>sales_3_month</td>\n <td>210.937973</td>\n <td>18.85</td>\n <td>5.00</td>\n </tr>\n <tr>\n <th>7</th>\n <td>forecast_6_month</td>\n <td>174.469482</td>\n <td>15.59</td>\n <td>4.14</td>\n </tr>\n <tr>\n <th>8</th>\n <td>perf_12_month_avg</td>\n <td>172.014984</td>\n <td>15.37</td>\n <td>4.08</td>\n </tr>\n <tr>\n <th>9</th>\n <td>lead_time</td>\n <td>170.058578</td>\n <td>15.19</td>\n <td>4.03</td>\n </tr>\n <tr>\n <th>10</th>\n <td>min_bank</td>\n <td>152.953796</td>\n <td>13.66</td>\n <td>3.63</td>\n </tr>\n <tr>\n <th>11</th>\n <td>perf_6_month_avg</td>\n <td>138.292969</td>\n <td>12.36</td>\n <td>3.28</td>\n </tr>\n <tr>\n <th>12</th>\n <td>in_transit_qty</td>\n <td>137.150299</td>\n <td>12.25</td>\n <td>3.25</td>\n </tr>\n <tr>\n <th>13</th>\n <td>forecast_9_month</td>\n <td>123.457878</td>\n <td>11.03</td>\n <td>2.93</td>\n </tr>\n <tr>\n <th>14</th>\n <td>pieces_past_due</td>\n <td>109.241592</td>\n <td>9.76</td>\n <td>2.59</td>\n </tr>\n </tbody>\n</table>\n</div>"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "plt.figure(figsize=(10, 6))\nsns.barplot(x='percentage', y='variable', data=imp, color=\"c\")\nplt.tight_layout()\nplt.savefig('AutoML Classification/Plots/imp.png', dpi=150)",
"execution_count": 189,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<matplotlib.figure.Figure at 0x124935dd8>",
"image/png": "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\n"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "# ROC Curve\nperf = model.model_performance()\nplt.figure(figsize=(8, 8))\nperf.plot()\nplt.savefig('AutoML Classification/Plots/ROC.png', dpi=150)",
"execution_count": 200,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<matplotlib.figure.Figure at 0x124f299e8>",
"image/png": "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+CKHHXYY9913H926dePKK69k4MCBpJQ4+uijueqqqzjuuOPy7h6pruS9rW3dGDYMLrqo6CqkrmnJkiXcddddXHLJJUybNq3q/MuWLePiiy/m+9//Pr0rw0Zuu+22HHPMMbm2d8MNN3DyyScDcPTRR3PLLbfQfOTMRx99lH333Zd+/frRo0cP3vGOd3DttdduME9KiSuvvJLjjz8egFmzZvGud70LgG222YbBgwczY8YMAAYOHAjA6tWrWblyJeE9tFVipQt5ScW54YYbmDx5MjvttBNDhw5l5syZbc4/e/ZsRo0a9UZwNtf0cHrTx89//nMA5s2bx8iRIwHo0aMHgwYNYuHChRusY7fdduPOO+9k4cKFLFu2jJtuuok5c+ZsMM+dd97Jtttuy7hx4wDYc889mT59OqtXr+app55i5syZGyxz6KGHss022zBgwACOPvro9u0kqY606+x2RPROKa2oVTF5PPkkHHMMXHllkVVIXdPUqVM588wzATjuuOOYOnUq//RP/9TivHlawM0PvW+KXXbZhXPOOYf3vOc99O/fn4kTJ9K92TCVU6dOfaMVD/Cxj32MRx99lEmTJrHDDjvw1re+dYNlbr75ZpYvX84JJ5zArbfeyiGHHLLZdUpFyBXyEbEPcAnZPetHRcSewMdTSp+uZXEtWbUKFizo7K1Kevnll7n11lt56KGHiAjWrFlDRHDyySezaNGijebdaqutGDt2LM8++yyvvvpqi635Y489lscee2yj6WeddRYnnXQSw4cPZ86cOYwYMYLVq1fzyiuvMHTo0I3mP+WUUzjllFMA+MIXvsCIESPe+Gz16tVce+21Gxx16NGjB9/+9rffeP/Wt76VnXba8P5effr04aijjuKGG24w5FVaeQ/Xfw84AlgIkFJ6ADioVkW1xUvopGJcffXVnHjiiTzzzDM8/fTTzJkzhzFjxvDyyy/z3HPP8eijjwLwzDPP8MADDzBx4kT69evHKaecwplnnsnKlSsBWLBgAVdddRWQteT/9re/bfQ46aSTADjyyCP52c9+9sb23/Wud7V4hODFF18E4Nlnn+Xaa6/lQx/60Buf/fGPf2T8+PEbBP+yZctYunQpAH/4wx/o0aMHEyZMYMmSJcyfPx/Ivhz85je/Yfz48R26H6XOlPdwfbeU0jPN/nMVcl2JN8ORijF16lTOOeecDaZ9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\n"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": "<matplotlib.figure.Figure at 0x125ccb438>"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "h2o.save_model(model, path=\"./AutoML Classification/Binaries/\", force=True)\nmodel.download_mojo(path=\"./AutoML Classification/MOJOs/\")",
"execution_count": 16,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 16,
"data": {
"text/plain": "'/Users/bernardo/Dropbox (Personal)/Documentos/Python/H2O/AutoML Classification/MOJOs/GBM_grid_0_AutoML_20180227_195443_model_3.zip'"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"execution_count": null,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "# Load the model\nmodel = h2o.load_model('./AutoML Classification/Binaries/GBM_grid_0_AutoML_20180227_195443_model_3')\n# Import a validation dataset to run the model\n# ....",
"execution_count": 258,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "preds = model.predict(df)\nmodel.model_performance(df)",
"execution_count": 264,
"outputs": [
{
"output_type": "stream",
"text": "gbm prediction progress: |████████████████████████████████████████████████| 100%\n\nModelMetricsBinomial: gbm\n** Reported on test data. **\n\nMSE: 0.037991536427783745\nRMSE: 0.19491417708259126\nLogLoss: 0.1362186954529262\nMean Per-Class Error: 0.08557487666321884\nAUC: 0.9716290833842499\nGini: 0.9432581667684998\nConfusion Matrix (Act/Pred) for max f1 @ threshold = 0.3936623941711221: \n",
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"text/plain": " No Yes Error Rate\n----- ----- ----- ------- ---------------\nNo 16370 417 0.0248 (417.0/16787.0)\nYes 506 1760 0.2233 (506.0/2266.0)\nTotal 16876 2177 0.0484 (923.0/19053.0)",
"text/html": "<div style=\"overflow:auto\"><table style=\"width:50%\"><tr><td><b></b></td>\n<td><b>No</b></td>\n<td><b>Yes</b></td>\n<td><b>Error</b></td>\n<td><b>Rate</b></td></tr>\n<tr><td>No</td>\n<td>16370.0</td>\n<td>417.0</td>\n<td>0.0248</td>\n<td> (417.0/16787.0)</td></tr>\n<tr><td>Yes</td>\n<td>506.0</td>\n<td>1760.0</td>\n<td>0.2233</td>\n<td> (506.0/2266.0)</td></tr>\n<tr><td>Total</td>\n<td>16876.0</td>\n<td>2177.0</td>\n<td>0.0484</td>\n<td> (923.0/19053.0)</td></tr></table></div>"
},
"metadata": {}
},
{
"output_type": "stream",
"text": "Maximum Metrics: Maximum metrics at their respective thresholds\n\n",
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"text/plain": "metric threshold value idx\n--------------------------- ----------- -------- -----\nmax f1 0.393662 0.792257 192\nmax f2 0.198401 0.827617 258\nmax f0point5 0.547558 0.830414 146\nmax accuracy 0.440207 0.952186 179\nmax precision 0.989559 1 0\nmax recall 0.00613507 1 391\nmax specificity 0.989559 1 0\nmax absolute_mcc 0.399512 0.765174 190\nmax min_per_class_accuracy 0.157177 0.913207 275\nmax mean_per_class_accuracy 0.171605 0.914425 268",
"text/html": "<div style=\"overflow:auto\"><table style=\"width:50%\"><tr><td><b>metric</b></td>\n<td><b>threshold</b></td>\n<td><b>value</b></td>\n<td><b>idx</b></td></tr>\n<tr><td>max f1</td>\n<td>0.3936624</td>\n<td>0.7922575</td>\n<td>192.0</td></tr>\n<tr><td>max f2</td>\n<td>0.1984006</td>\n<td>0.8276172</td>\n<td>258.0</td></tr>\n<tr><td>max f0point5</td>\n<td>0.5475580</td>\n<td>0.8304138</td>\n<td>146.0</td></tr>\n<tr><td>max accuracy</td>\n<td>0.4402072</td>\n<td>0.9521860</td>\n<td>179.0</td></tr>\n<tr><td>max precision</td>\n<td>0.9895588</td>\n<td>1.0</td>\n<td>0.0</td></tr>\n<tr><td>max recall</td>\n<td>0.0061351</td>\n<td>1.0</td>\n<td>391.0</td></tr>\n<tr><td>max specificity</td>\n<td>0.9895588</td>\n<td>1.0</td>\n<td>0.0</td></tr>\n<tr><td>max absolute_mcc</td>\n<td>0.3995122</td>\n<td>0.7651744</td>\n<td>190.0</td></tr>\n<tr><td>max min_per_class_accuracy</td>\n<td>0.1571767</td>\n<td>0.9132066</td>\n<td>275.0</td></tr>\n<tr><td>max mean_per_class_accuracy</td>\n<td>0.1716045</td>\n<td>0.9144251</td>\n<td>268.0</td></tr></table></div>"
},
"metadata": {}
},
{
"output_type": "stream",
"text": "Gains/Lift Table: Avg response rate: 11.89 %\n\n",
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"text/plain": " group cumulative_data_fraction lower_threshold lift cumulative_lift response_rate cumulative_response_rate capture_rate cumulative_capture_rate gain cumulative_gain\n-- ------- -------------------------- ----------------- ---------- ----------------- --------------- -------------------------- -------------- ------------------------- -------- -----------------\n 1 0.0100247 0.925086 8.36419 8.36419 0.994764 0.994764 0.0838482 0.0838482 736.419 736.419\n 2 0.0200493 0.879641 8.10005 8.23212 0.963351 0.979058 0.0812004 0.165049 710.005 723.212\n 3 0.0300215 0.839165 8.05418 8.17301 0.957895 0.972028 0.0803177 0.245366 705.418 717.301\n 4 0.0400462 0.798821 8.10005 8.15475 0.963351 0.969856 0.0812004 0.326567 710.005 715.475\n 5 0.0500184 0.751553 7.65589 8.05529 0.910526 0.958027 0.076346 0.402913 665.589 705.529\n 6 0.100037 0.484152 6.27307 7.16418 0.746065 0.852046 0.313769 0.716681 527.307 616.418\n 7 0.150003 0.246462 2.95877 5.76336 0.351891 0.685444 0.147838 0.864519 195.877 476.336\n 8 0.200021 0.127397 1.27932 4.64205 0.152151 0.552086 0.0639894 0.928508 27.9318 364.205\n 9 0.300163 0.0510252 0.436275 3.2389 0.0518868 0.385207 0.0436893 0.972198 -56.3725 223.89\n 10 0.39999 0.0266226 0.163567 2.47138 0.0194532 0.293925 0.0163283 0.988526 -83.6433 147.138\n 11 0.500026 0.0178664 0.0573487 1.98842 0.00682057 0.236486 0.00573698 0.994263 -94.2651 98.8422\n 12 0.600693 0.0140992 0.0219192 1.65887 0.00260688 0.197291 0.00220653 0.99647 -97.8081 65.8867\n 13 0.700047 0.0114338 0.00888347 1.42469 0.00105652 0.169441 0.000882613 0.997352 -99.1117 42.4693\n 14 0.799979 0.00878653 0.0176643 1.24893 0.00210084 0.148537 0.00176523 0.999117 -98.2336 24.893\n 15 0.899963 0.00553722 0.00441376 1.11067 0.000524934 0.132093 0.000441306 0.999559 -99.5586 11.0666\n 16 1 0.00080064 0.00441144 1 0.000524659 0.118931 0.000441306 1 -99.5589 0",
"text/html": "<div style=\"overflow:auto\"><table style=\"width:50%\"><tr><td><b></b></td>\n<td><b>group</b></td>\n<td><b>cumulative_data_fraction</b></td>\n<td><b>lower_threshold</b></td>\n<td><b>lift</b></td>\n<td><b>cumulative_lift</b></td>\n<td><b>response_rate</b></td>\n<td><b>cumulative_response_rate</b></td>\n<td><b>capture_rate</b></td>\n<td><b>cumulative_capture_rate</b></td>\n<td><b>gain</b></td>\n<td><b>cumulative_gain</b></td></tr>\n<tr><td></td>\n<td>1</td>\n<td>0.0100247</td>\n<td>0.9250859</td>\n<td>8.3641863</td>\n<td>8.3641863</td>\n<td>0.9947644</td>\n<td>0.9947644</td>\n<td>0.0838482</td>\n<td>0.0838482</td>\n<td>736.4186264</td>\n<td>736.4186264</td></tr>\n<tr><td></td>\n<td>2</td>\n<td>0.0200493</td>\n<td>0.8796406</td>\n<td>8.1000541</td>\n<td>8.2321202</td>\n<td>0.9633508</td>\n<td>0.9790576</td>\n<td>0.0812004</td>\n<td>0.1650485</td>\n<td>710.0054066</td>\n<td>723.2120165</td></tr>\n<tr><td></td>\n<td>3</td>\n<td>0.0300215</td>\n<td>0.8391649</td>\n<td>8.0541785</td>\n<td>8.1730137</td>\n<td>0.9578947</td>\n<td>0.9720280</td>\n<td>0.0803177</td>\n<td>0.2453663</td>\n<td>705.4178474</td>\n<td>717.3013659</td></tr>\n<tr><td></td>\n<td>4</td>\n<td>0.0400462</td>\n<td>0.7988207</td>\n<td>8.1000541</td>\n<td>8.1547499</td>\n<td>0.9633508</td>\n<td>0.9698558</td>\n<td>0.0812004</td>\n<td>0.3265666</td>\n<td>710.0054066</td>\n<td>715.4749855</td></tr>\n<tr><td></td>\n<td>5</td>\n<td>0.0500184</td>\n<td>0.7515530</td>\n<td>7.6558949</td>\n<td>8.0552929</td>\n<td>0.9105263</td>\n<td>0.9580273</td>\n<td>0.0763460</td>\n<td>0.4029126</td>\n<td>665.5894923</td>\n<td>705.5292943</td></tr>\n<tr><td></td>\n<td>6</td>\n<td>0.1000367</td>\n<td>0.4841518</td>\n<td>6.2730704</td>\n<td>7.1641817</td>\n<td>0.7460651</td>\n<td>0.8520462</td>\n<td>0.3137688</td>\n<td>0.7166814</td>\n<td>527.3070408</td>\n<td>616.4181676</td></tr>\n<tr><td></td>\n<td>7</td>\n<td>0.1500026</td>\n<td>0.2464623</td>\n<td>2.9587708</td>\n<td>5.7633590</td>\n<td>0.3518908</td>\n<td>0.6854444</td>\n<td>0.1478376</td>\n<td>0.8645190</td>\n<td>195.8770777</td>\n<td>476.3359011</td></tr>\n<tr><td></td>\n<td>8</td>\n<td>0.2000210</td>\n<td>0.1273973</td>\n<td>1.2793182</td>\n<td>4.6420546</td>\n<td>0.1521511</td>\n<td>0.5520861</td>\n<td>0.0639894</td>\n<td>0.9285084</td>\n<td>27.9318156</td>\n<td>364.2054646</td></tr>\n<tr><td></td>\n<td>9</td>\n<td>0.3001627</td>\n<td>0.0510252</td>\n<td>0.4362750</td>\n<td>3.2389024</td>\n<td>0.0518868</td>\n<td>0.3852072</td>\n<td>0.0436893</td>\n<td>0.9721977</td>\n<td>-56.3725041</td>\n<td>223.8902409</td></tr>\n<tr><td></td>\n<td>10</td>\n<td>0.3999895</td>\n<td>0.0266226</td>\n<td>0.1635666</td>\n<td>2.4713799</td>\n<td>0.0194532</td>\n<td>0.2939247</td>\n<td>0.0163283</td>\n<td>0.9885260</td>\n<td>-83.6433382</td>\n<td>147.1379948</td></tr>\n<tr><td></td>\n<td>11</td>\n<td>0.5000262</td>\n<td>0.0178664</td>\n<td>0.0573487</td>\n<td>1.9884217</td>\n<td>0.0068206</td>\n<td>0.2364858</td>\n<td>0.0057370</td>\n<td>0.9942630</td>\n<td>-94.2651255</td>\n<td>98.8421674</td></tr>\n<tr><td></td>\n<td>12</td>\n<td>0.6006928</td>\n<td>0.0140992</td>\n<td>0.0219192</td>\n<td>1.6588671</td>\n<td>0.0026069</td>\n<td>0.1972914</td>\n<td>0.0022065</td>\n<td>0.9964695</td>\n<td>-97.8080792</td>\n<td>65.8867133</td></tr>\n<tr><td></td>\n<td>13</td>\n<td>0.7000472</td>\n<td>0.0114338</td>\n<td>0.0088835</td>\n<td>1.4246927</td>\n<td>0.0010565</td>\n<td>0.1694407</td>\n<td>0.0008826</td>\n<td>0.9973522</td>\n<td>-99.1116526</td>\n<td>42.4692664</td></tr>\n<tr><td></td>\n<td>14</td>\n<td>0.7999790</td>\n<td>0.0087865</td>\n<td>0.0176643</td>\n<td>1.2489295</td>\n<td>0.0021008</td>\n<td>0.1485369</td>\n<td>0.0017652</td>\n<td>0.9991174</td>\n<td>-98.2335697</td>\n<td>24.8929509</td></tr>\n<tr><td></td>\n<td>15</td>\n<td>0.8999633</td>\n<td>0.0055372</td>\n<td>0.0044138</td>\n<td>1.1106661</td>\n<td>0.0005249</td>\n<td>0.1320931</td>\n<td>0.0004413</td>\n<td>0.9995587</td>\n<td>-99.5586242</td>\n<td>11.0666110</td></tr>\n<tr><td></td>\n<td>16</td>\n<td>1.0</td>\n<td>0.0008006</td>\n<td>0.0044114</td>\n<td>1.0</td>\n<td>0.0005247</td>\n<td>0.1189314</td>\n<td>0.0004413</td>\n<td>1.0</td>\n<td>-99.5588558</td>\n<td>0.0</td></tr></table></div>"
},
"metadata": {}
},
{
"output_type": "stream",
"text": "\n",
"name": "stdout"
},
{
"output_type": "execute_result",
"execution_count": 264,
"data": {
"text/plain": ""
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "plt.figure(figsize=(12, 8))\np = h2o.as_list(preds)\nsns.distplot(p['Yes'])\nsns.distplot(p['No'])",
"execution_count": 256,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 256,
"data": {
"text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x1267c69e8>"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": "<matplotlib.figure.Figure at 0x1266e7668>",
"image/png": "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\n"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
}
],
"metadata": {
"_draft": {
"nbviewer_url": "https://gist.github.com/dde87f82b44581f38164eba42a6a7c38"
},
"gist": {
"id": "dde87f82b44581f38164eba42a6a7c38",
"data": {
"description": "autoML_classification",
"public": true
}
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3",
"language": "python"
},
"language_info": {
"name": "python",
"version": "3.6.3",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment