Created
April 2, 2018 18:06
-
-
Save donwany/37b837c5ae7ea0c9a1d70d164d04dbfb to your computer and use it in GitHub Desktop.
XGBoost Algorithm with AWS SageMaker
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"collapsed": true | |
}, | |
"source": [ | |
"## Author : Theophilus Siameh\n", | |
" Email : theodondre@gmail.com\n", | |
" \n", | |
"## Algorithm : Regression Model using XGBoost Algorithm with AWS SageMaker" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"import numpy as np\n", | |
"import pandas as pd\n", | |
"\n", | |
"# Define IAM role\n", | |
"import boto3\n", | |
"import re\n", | |
"import sagemaker\n", | |
"from sagemaker import get_execution_role" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Download files from my github \n", | |
"\n", | |
"bike_test https://github.com/donwany/Databricks/blob/master/bike_test.csv\n", | |
" \n", | |
"bike_train https://github.com/donwany/Databricks/blob/master/bike_train.csv\n", | |
" \n", | |
"bike_validation https://github.com/donwany/Databricks/blob/master/bike_validation.csv" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Initialization" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"# Region or your own availability zone\n", | |
"region = \"us-east-2\"\n", | |
"# bucket name -> create your own unique bucket name\n", | |
"bucket_name = \"bike-sagemaker\"\n", | |
"\n", | |
"# bucket path -> \n", | |
"bucket_path = \"https://s3.{0}.amazonaws.com/{1}\".format(region,bucket_name)\n", | |
"\n", | |
"# training set -> make sure this file is pointing to us-east-2 in the s3 bucket or your own availability zone\n", | |
"training_file_key = 'bike_train.csv'\n", | |
"# validation set -> make sure this file is pointing to us-east-2 in the s3 bucket or your own availability zone\n", | |
"validation_file_key = 'bike_validation.csv'\n", | |
"# testing set -> make sure this file is pointing to us-east-2 in the s3 bucket or your own availability zone\n", | |
"test_file_key = 'bike_test.csv'\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Upload Data to S3" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"s3_model_output_location = bucket_path +'/' + 'bike/model'\n", | |
"s3_training_file_location = bucket_path + '/' + training_file_key\n", | |
"s3_validation_file_location = bucket_path +'/' + validation_file_key\n", | |
"s3_test_file_location = bucket_path + '/' + test_file_key" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"https://s3.us-east-2.amazonaws.com/bike-sagemaker/bike/model\n", | |
"https://s3.us-east-2.amazonaws.com/bike-sagemaker/bike_train.csv\n", | |
"https://s3.us-east-2.amazonaws.com/bike-sagemaker/bike_validation.csv\n", | |
"https://s3.us-east-2.amazonaws.com/bike-sagemaker/bike_test.csv\n" | |
] | |
} | |
], | |
"source": [ | |
"print(s3_model_output_location)\n", | |
"print(s3_training_file_location)\n", | |
"print(s3_validation_file_location)\n", | |
"print(s3_test_file_location)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"# Upload files to s3 bucket with boto3 api or you upload manually to s3 bucket via the console.\n", | |
"\n", | |
"# http://boto3.readthedocs.io/en/latest/guide/s3.html\n", | |
"def write_to_s3(filename, bucket, key):\n", | |
" with open(filename,'rb') as f: # Read in binary mode\n", | |
" print(\"Uploading files to s3 bucket ...\")\n", | |
" return boto3.Session().resource('s3').Bucket(bucket).Object(key).upload_fileobj(f)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Uploading files to s3 bucket ...\n", | |
"Uploading files to s3 bucket ...\n", | |
"Uploading files to s3 bucket ...\n" | |
] | |
} | |
], | |
"source": [ | |
"write_to_s3('bike_train.csv',bucket_name,training_file_key)\n", | |
"write_to_s3('bike_validation.csv',bucket_name,validation_file_key)\n", | |
"write_to_s3('bike_test.csv',bucket_name,test_file_key)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Training Algorithm Docker Image\n", | |
"### AWS Maintains a separate image for every region and algorithm" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 12, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"# Registry Path for algorithms provided by SageMaker\n", | |
"containers = {\n", | |
" 'us-west-2': '433757028032.dkr.ecr.us-west-2.amazonaws.com/xgboost:latest',\n", | |
" 'us-east-1': '811284229777.dkr.ecr.us-east-1.amazonaws.com/xgboost:latest',\n", | |
" 'us-east-2': '825641698319.dkr.ecr.us-east-2.amazonaws.com/xgboost:latest',\n", | |
" 'eu-west-1': '685385470294.dkr.ecr.eu-west-1.amazonaws.com/xgboost:latest'\n", | |
" }" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 13, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"role = get_execution_role()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 14, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"arn:aws:iam::660448793972:role/service-role/AmazonSageMaker-ExecutionRole-20180328T173518\n" | |
] | |
} | |
], | |
"source": [ | |
"# This role contains the permissions needed to train, deploy models\n", | |
"# SageMaker Service is trusted to assume this role\n", | |
"print(role)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Build Model" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 27, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Region name : us-east-2\n", | |
"Docker Container Region : 825641698319.dkr.ecr.us-east-2.amazonaws.com/xgboost:latest\n" | |
] | |
} | |
], | |
"source": [ | |
"sess = sagemaker.Session()\n", | |
"\n", | |
"print(\"Region name : {}\".format(sess.boto_region_name))\n", | |
"\n", | |
"print(\"Docker Container Region : {}\".format(containers[boto3.Session().region_name]))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 16, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"# Access appropriate algorithm container image\n", | |
"# Specify how many instances to use for distributed training and what type of machine to use\n", | |
"# Finally, specify where the trained model artifacts needs to be stored\n", | |
"# Reference: http://sagemaker.readthedocs.io/en/latest/estimators.html\n", | |
"# Optionally, give a name to the training job using base_job_name\n", | |
"\n", | |
"estimator = sagemaker.estimator.Estimator(containers[boto3.Session().region_name],\n", | |
" role, \n", | |
" train_instance_count = 1, \n", | |
" train_instance_type = 'ml.m4.xlarge',\n", | |
" output_path = s3_model_output_location,\n", | |
" sagemaker_session = sess,\n", | |
" base_job_name = 'xgboost-biketrain-v1')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 17, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"# Specify hyper parameters that appropriate for the training algorithm\n", | |
"# XGBoost Training Parameter Reference: \n", | |
"# https://github.com/dmlc/xgboost/blob/master/doc/parameter.md\n", | |
"\n", | |
"estimator.set_hyperparameters(max_depth=6,objective=\"reg:linear\",eta=0.1,subsample=0.7,num_round=200)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 42, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"{'eta': 0.1,\n", | |
" 'max_depth': 6,\n", | |
" 'num_round': 200,\n", | |
" 'objective': 'reg:linear',\n", | |
" 'subsample': 0.7}" | |
] | |
}, | |
"execution_count": 42, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"estimator.hyperparameters()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"collapsed": true | |
}, | |
"source": [ | |
"### Specify Training Data Location and Optionally, Validation Data Location" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 21, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"# content type can be libsvm or csv for XGBoost\n", | |
"training_input_config = sagemaker.session.\\\n", | |
" s3_input(s3_data=s3_training_file_location,content_type=\"csv\",distribution='FullyReplicated')\n", | |
"\n", | |
"validation_input_config = sagemaker.session.\\\n", | |
" s3_input(s3_data=s3_validation_file_location,content_type=\"csv\",distribution='FullyReplicated')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 23, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"{'DataSource': {'S3DataSource': {'S3DataDistributionType': 'FullyReplicated', 'S3DataType': 'S3Prefix', 'S3Uri': 'https://s3.us-east-2.amazonaws.com/bike-sagemaker/bike_train.csv'}}, 'ContentType': 'csv'}\n" | |
] | |
} | |
], | |
"source": [ | |
"print(training_input_config.config)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 24, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"{'DataSource': {'S3DataSource': {'S3DataDistributionType': 'FullyReplicated', 'S3DataType': 'S3Prefix', 'S3Uri': 'https://s3.us-east-2.amazonaws.com/bike-sagemaker/bike_validation.csv'}}, 'ContentType': 'csv'}\n" | |
] | |
} | |
], | |
"source": [ | |
"print(validation_input_config.config)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Train the model - takes 5-6mins" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 25, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"INFO:sagemaker:Creating training-job with name: xgboost-biketrain-v1-2018-04-02-17-48-12-139\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"......................................................................\n", | |
"\u001b[31mArguments: train\u001b[0m\n", | |
"\u001b[31m[2018-04-02:17:53:56:INFO] Running standalone xgboost training.\u001b[0m\n", | |
"\u001b[31m[2018-04-02:17:53:56:INFO] File size need to be processed in the node: 0.65mb. Available memory size in the node: 8673.54mb\u001b[0m\n", | |
"\u001b[31m/opt/amazon/lib/python2.7/site-packages/sage_xgboost/train_helper.py:315: ParserWarning: Falling back to the 'python' engine because the 'c' engine does not support sep=None with delim_whitespace=False; you can avoid this warning by specifying engine='python'.\n", | |
" df = pd.read_csv(os.path.join(files_path, csv_file), sep=None, header=None)\u001b[0m\n", | |
"\u001b[31m[17:53:56] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 68 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[0]#011train-rmse:3.90378#011validation-rmse:3.91437\u001b[0m\n", | |
"\u001b[31m[17:53:56] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 84 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[1]#011train-rmse:3.52321#011validation-rmse:3.53296\u001b[0m\n", | |
"\u001b[31m[17:53:56] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 84 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[2]#011train-rmse:3.18134#011validation-rmse:3.19004\u001b[0m\n", | |
"\u001b[31m[17:53:56] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 86 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[3]#011train-rmse:2.87361#011validation-rmse:2.88204\u001b[0m\n", | |
"\u001b[31m[17:53:56] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 102 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[4]#011train-rmse:2.59652#011validation-rmse:2.6043\u001b[0m\n", | |
"\u001b[31m[17:53:56] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 86 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[5]#011train-rmse:2.34825#011validation-rmse:2.35502\u001b[0m\n", | |
"\u001b[31m[17:53:56] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 92 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[6]#011train-rmse:2.12564#011validation-rmse:2.13239\u001b[0m\n", | |
"\u001b[31m[17:53:56] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 106 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[7]#011train-rmse:1.92455#011validation-rmse:1.93214\u001b[0m\n", | |
"\u001b[31m[17:53:56] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 112 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[8]#011train-rmse:1.74447#011validation-rmse:1.75206\u001b[0m\n", | |
"\u001b[31m[17:53:56] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 114 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[9]#011train-rmse:1.58428#011validation-rmse:1.59213\u001b[0m\n", | |
"\u001b[31m[17:53:56] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 116 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[10]#011train-rmse:1.43941#011validation-rmse:1.44764\u001b[0m\n", | |
"\u001b[31m[17:53:56] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 114 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[11]#011train-rmse:1.31063#011validation-rmse:1.31964\u001b[0m\n", | |
"\u001b[31m[17:53:56] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 118 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[12]#011train-rmse:1.19469#011validation-rmse:1.20409\u001b[0m\n", | |
"\u001b[31m[17:53:56] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 126 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[13]#011train-rmse:1.09018#011validation-rmse:1.10025\u001b[0m\n", | |
"\u001b[31m[17:53:56] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 118 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[14]#011train-rmse:0.997136#011validation-rmse:1.0078\u001b[0m\n", | |
"\u001b[31m[17:53:56] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 120 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[15]#011train-rmse:0.914545#011validation-rmse:0.92612\u001b[0m\n", | |
"\u001b[31m[17:53:56] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 126 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[16]#011train-rmse:0.840772#011validation-rmse:0.853345\u001b[0m\n", | |
"\u001b[31m[17:53:56] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 124 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[17]#011train-rmse:0.772966#011validation-rmse:0.787042\u001b[0m\n", | |
"\u001b[31m[17:53:56] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 118 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[18]#011train-rmse:0.710976#011validation-rmse:0.726483\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 126 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[19]#011train-rmse:0.660268#011validation-rmse:0.677276\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 126 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[20]#011train-rmse:0.611532#011validation-rmse:0.631177\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 118 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[21]#011train-rmse:0.57132#011validation-rmse:0.592501\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 120 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[22]#011train-rmse:0.535417#011validation-rmse:0.558874\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 124 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[23]#011train-rmse:0.503394#011validation-rmse:0.528631\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 116 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[24]#011train-rmse:0.472544#011validation-rmse:0.499735\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 124 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[25]#011train-rmse:0.448229#011validation-rmse:0.476662\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 124 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[26]#011train-rmse:0.427032#011validation-rmse:0.456277\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 126 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[27]#011train-rmse:0.408749#011validation-rmse:0.439713\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 122 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[28]#011train-rmse:0.391427#011validation-rmse:0.423931\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 106 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[29]#011train-rmse:0.374456#011validation-rmse:0.409045\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 110 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[30]#011train-rmse:0.360554#011validation-rmse:0.396478\u001b[0m\n", | |
"\u001b[31m[31]#011train-rmse:0.349873#011validation-rmse:0.387071\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 126 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 118 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[32]#011train-rmse:0.336842#011validation-rmse:0.375773\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 120 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[33]#011train-rmse:0.326366#011validation-rmse:0.366423\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 120 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[34]#011train-rmse:0.318647#011validation-rmse:0.359544\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 120 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[35]#011train-rmse:0.312536#011validation-rmse:0.354312\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 126 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[36]#011train-rmse:0.306855#011validation-rmse:0.349732\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 122 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[37]#011train-rmse:0.301808#011validation-rmse:0.345871\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 122 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[38]#011train-rmse:0.294732#011validation-rmse:0.339555\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 124 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[39]#011train-rmse:0.28942#011validation-rmse:0.334908\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 122 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[40]#011train-rmse:0.285132#011validation-rmse:0.33155\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 120 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[41]#011train-rmse:0.280264#011validation-rmse:0.327347\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 118 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[42]#011train-rmse:0.277166#011validation-rmse:0.325323\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 124 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[43]#011train-rmse:0.274425#011validation-rmse:0.323352\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 112 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[44]#011train-rmse:0.271547#011validation-rmse:0.321015\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 126 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[45]#011train-rmse:0.268082#011validation-rmse:0.318221\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 124 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[46]#011train-rmse:0.265501#011validation-rmse:0.316499\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 120 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[47]#011train-rmse:0.263779#011validation-rmse:0.315646\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 122 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[48]#011train-rmse:0.261087#011validation-rmse:0.313297\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 118 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[49]#011train-rmse:0.258308#011validation-rmse:0.311327\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 116 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[50]#011train-rmse:0.256999#011validation-rmse:0.310731\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 120 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[51]#011train-rmse:0.253977#011validation-rmse:0.30817\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 120 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[52]#011train-rmse:0.252747#011validation-rmse:0.307705\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 122 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[53]#011train-rmse:0.249987#011validation-rmse:0.306038\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 108 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[54]#011train-rmse:0.248533#011validation-rmse:0.305156\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 118 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[55]#011train-rmse:0.247108#011validation-rmse:0.304376\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 114 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[56]#011train-rmse:0.246013#011validation-rmse:0.303869\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 120 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[57]#011train-rmse:0.244944#011validation-rmse:0.303464\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 112 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[58]#011train-rmse:0.243773#011validation-rmse:0.302914\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 126 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[59]#011train-rmse:0.241944#011validation-rmse:0.301577\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 120 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[60]#011train-rmse:0.240711#011validation-rmse:0.301235\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 118 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[61]#011train-rmse:0.239324#011validation-rmse:0.300291\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 106 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[62]#011train-rmse:0.238508#011validation-rmse:0.299964\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 98 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[63]#011train-rmse:0.237691#011validation-rmse:0.299291\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 124 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[64]#011train-rmse:0.236506#011validation-rmse:0.298612\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 122 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[65]#011train-rmse:0.235643#011validation-rmse:0.298264\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 94 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[66]#011train-rmse:0.234891#011validation-rmse:0.297534\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 120 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[67]#011train-rmse:0.233427#011validation-rmse:0.296616\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 120 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[68]#011train-rmse:0.232454#011validation-rmse:0.296115\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 102 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[69]#011train-rmse:0.23192#011validation-rmse:0.295923\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 122 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[70]#011train-rmse:0.230704#011validation-rmse:0.29523\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 108 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[71]#011train-rmse:0.229906#011validation-rmse:0.29477\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 120 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[72]#011train-rmse:0.228827#011validation-rmse:0.2942\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 90 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[73]#011train-rmse:0.228508#011validation-rmse:0.294088\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 112 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[74]#011train-rmse:0.227721#011validation-rmse:0.294054\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 100 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[75]#011train-rmse:0.227225#011validation-rmse:0.293906\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 114 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[76]#011train-rmse:0.226421#011validation-rmse:0.293933\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 118 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[77]#011train-rmse:0.225672#011validation-rmse:0.293627\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 110 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[78]#011train-rmse:0.224915#011validation-rmse:0.293479\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 120 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[79]#011train-rmse:0.224028#011validation-rmse:0.293233\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 92 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[80]#011train-rmse:0.223437#011validation-rmse:0.292911\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 122 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[81]#011train-rmse:0.222705#011validation-rmse:0.29277\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 72 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[82]#011train-rmse:0.222082#011validation-rmse:0.292247\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 80 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[83]#011train-rmse:0.221157#011validation-rmse:0.2914\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 116 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[84]#011train-rmse:0.220436#011validation-rmse:0.291131\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 118 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[85]#011train-rmse:0.220072#011validation-rmse:0.291088\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 120 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[86]#011train-rmse:0.219094#011validation-rmse:0.290596\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 90 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[87]#011train-rmse:0.218658#011validation-rmse:0.290387\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 100 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[88]#011train-rmse:0.217967#011validation-rmse:0.28999\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 120 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[89]#011train-rmse:0.217308#011validation-rmse:0.289746\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 124 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[90]#011train-rmse:0.216187#011validation-rmse:0.289082\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 98 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[91]#011train-rmse:0.215291#011validation-rmse:0.288507\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 126 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[92]#011train-rmse:0.214185#011validation-rmse:0.288086\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 106 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[93]#011train-rmse:0.213592#011validation-rmse:0.287844\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 110 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[94]#011train-rmse:0.213051#011validation-rmse:0.287752\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 124 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[95]#011train-rmse:0.212139#011validation-rmse:0.287481\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 100 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[96]#011train-rmse:0.211716#011validation-rmse:0.287474\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 120 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[97]#011train-rmse:0.211152#011validation-rmse:0.287391\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 110 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[98]#011train-rmse:0.210522#011validation-rmse:0.287631\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 102 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[99]#011train-rmse:0.210221#011validation-rmse:0.28762\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 116 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[100]#011train-rmse:0.209197#011validation-rmse:0.286852\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 114 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[101]#011train-rmse:0.20845#011validation-rmse:0.286653\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 112 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[102]#011train-rmse:0.207865#011validation-rmse:0.286556\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 124 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[103]#011train-rmse:0.207041#011validation-rmse:0.286472\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 124 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[104]#011train-rmse:0.206387#011validation-rmse:0.286294\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 122 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[105]#011train-rmse:0.205653#011validation-rmse:0.285957\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 114 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[106]#011train-rmse:0.204847#011validation-rmse:0.285931\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 122 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[107]#011train-rmse:0.203763#011validation-rmse:0.28519\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 116 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[108]#011train-rmse:0.203038#011validation-rmse:0.284788\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 120 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[109]#011train-rmse:0.202389#011validation-rmse:0.284819\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 120 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[110]#011train-rmse:0.201481#011validation-rmse:0.284905\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 120 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[111]#011train-rmse:0.200583#011validation-rmse:0.284472\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 122 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[112]#011train-rmse:0.199817#011validation-rmse:0.284654\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 116 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[113]#011train-rmse:0.19912#011validation-rmse:0.284685\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 120 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[114]#011train-rmse:0.198588#011validation-rmse:0.284617\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 116 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[115]#011train-rmse:0.19813#011validation-rmse:0.28452\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 108 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[116]#011train-rmse:0.197759#011validation-rmse:0.284475\u001b[0m\n", | |
"\u001b[31m[117]#011train-rmse:0.197325#011validation-rmse:0.284375\u001b[0m\n", | |
"\u001b[31m[118]#011train-rmse:0.196877#011validation-rmse:0.284292\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 116 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 122 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 110 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[119]#011train-rmse:0.19625#011validation-rmse:0.284216\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 118 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[120]#011train-rmse:0.195681#011validation-rmse:0.284159\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 110 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[121]#011train-rmse:0.195145#011validation-rmse:0.284138\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 122 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[122]#011train-rmse:0.194562#011validation-rmse:0.283972\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 100 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[123]#011train-rmse:0.194155#011validation-rmse:0.2839\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 124 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[124]#011train-rmse:0.193494#011validation-rmse:0.283953\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 108 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[125]#011train-rmse:0.193079#011validation-rmse:0.283867\u001b[0m\n", | |
"\u001b[31m[126]#011train-rmse:0.192555#011validation-rmse:0.283843\u001b[0m\n", | |
"\u001b[31m[127]#011train-rmse:0.192273#011validation-rmse:0.283845\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 110 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 76 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 98 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[128]#011train-rmse:0.191948#011validation-rmse:0.283654\u001b[0m\n", | |
"\u001b[31m[129]#011train-rmse:0.19142#011validation-rmse:0.283305\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 108 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 112 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[130]#011train-rmse:0.191009#011validation-rmse:0.283251\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 110 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[131]#011train-rmse:0.190362#011validation-rmse:0.282893\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 122 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[132]#011train-rmse:0.189703#011validation-rmse:0.28283\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 98 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[133]#011train-rmse:0.189383#011validation-rmse:0.282849\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 110 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[134]#011train-rmse:0.189073#011validation-rmse:0.282813\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 104 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[135]#011train-rmse:0.188692#011validation-rmse:0.282767\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 114 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[136]#011train-rmse:0.188109#011validation-rmse:0.282648\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 108 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[137]#011train-rmse:0.18768#011validation-rmse:0.282616\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 90 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[138]#011train-rmse:0.187452#011validation-rmse:0.282522\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 126 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[139]#011train-rmse:0.18682#011validation-rmse:0.282348\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 110 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[140]#011train-rmse:0.186432#011validation-rmse:0.282336\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 112 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[141]#011train-rmse:0.186027#011validation-rmse:0.282374\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 122 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[142]#011train-rmse:0.185335#011validation-rmse:0.282333\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 68 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[143]#011train-rmse:0.185176#011validation-rmse:0.282299\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 110 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[144]#011train-rmse:0.184736#011validation-rmse:0.282499\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 106 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[145]#011train-rmse:0.184386#011validation-rmse:0.282531\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 104 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[146]#011train-rmse:0.184007#011validation-rmse:0.282662\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 110 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[147]#011train-rmse:0.183645#011validation-rmse:0.282553\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 112 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[148]#011train-rmse:0.183208#011validation-rmse:0.282622\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 96 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[149]#011train-rmse:0.182777#011validation-rmse:0.282663\u001b[0m\n", | |
"\u001b[31m[150]#011train-rmse:0.182385#011validation-rmse:0.282671\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 104 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 118 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[151]#011train-rmse:0.181917#011validation-rmse:0.282655\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 104 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[152]#011train-rmse:0.181541#011validation-rmse:0.282644\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 120 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[153]#011train-rmse:0.181237#011validation-rmse:0.282556\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 120 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[154]#011train-rmse:0.180703#011validation-rmse:0.282471\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 116 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[155]#011train-rmse:0.180186#011validation-rmse:0.282456\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 98 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[156]#011train-rmse:0.179946#011validation-rmse:0.28252\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 116 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[157]#011train-rmse:0.179565#011validation-rmse:0.282569\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 118 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[158]#011train-rmse:0.178967#011validation-rmse:0.282593\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 118 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[159]#011train-rmse:0.178286#011validation-rmse:0.282434\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 118 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[160]#011train-rmse:0.177799#011validation-rmse:0.282308\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 106 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[161]#011train-rmse:0.177457#011validation-rmse:0.282215\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 108 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[162]#011train-rmse:0.177125#011validation-rmse:0.282258\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 112 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[163]#011train-rmse:0.176676#011validation-rmse:0.282165\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 112 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[164]#011train-rmse:0.176236#011validation-rmse:0.282024\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 106 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[165]#011train-rmse:0.175877#011validation-rmse:0.281773\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 118 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[166]#011train-rmse:0.175461#011validation-rmse:0.281831\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 108 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[167]#011train-rmse:0.174894#011validation-rmse:0.281815\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 114 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[168]#011train-rmse:0.174509#011validation-rmse:0.281688\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 118 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[169]#011train-rmse:0.174169#011validation-rmse:0.281519\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 102 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[170]#011train-rmse:0.173948#011validation-rmse:0.281641\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 92 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[171]#011train-rmse:0.173707#011validation-rmse:0.281631\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 116 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[172]#011train-rmse:0.173291#011validation-rmse:0.281477\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 104 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[173]#011train-rmse:0.172978#011validation-rmse:0.281473\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 104 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[174]#011train-rmse:0.172596#011validation-rmse:0.281592\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 110 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[175]#011train-rmse:0.172274#011validation-rmse:0.281546\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 110 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[176]#011train-rmse:0.171967#011validation-rmse:0.281577\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 118 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[177]#011train-rmse:0.171675#011validation-rmse:0.28163\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 126 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[178]#011train-rmse:0.171165#011validation-rmse:0.281476\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 124 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[179]#011train-rmse:0.170694#011validation-rmse:0.281534\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 120 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[180]#011train-rmse:0.170153#011validation-rmse:0.281373\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 120 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[181]#011train-rmse:0.169545#011validation-rmse:0.281276\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 116 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[182]#011train-rmse:0.169216#011validation-rmse:0.281204\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 114 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[183]#011train-rmse:0.168968#011validation-rmse:0.281312\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 116 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[184]#011train-rmse:0.16862#011validation-rmse:0.28149\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 124 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[185]#011train-rmse:0.167953#011validation-rmse:0.281501\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 124 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[186]#011train-rmse:0.167491#011validation-rmse:0.281545\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 124 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[187]#011train-rmse:0.167099#011validation-rmse:0.281553\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 122 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[188]#011train-rmse:0.166772#011validation-rmse:0.281434\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 114 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[189]#011train-rmse:0.166534#011validation-rmse:0.281509\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 110 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[190]#011train-rmse:0.166318#011validation-rmse:0.281575\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 98 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[191]#011train-rmse:0.166011#011validation-rmse:0.281634\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 124 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[192]#011train-rmse:0.165517#011validation-rmse:0.281625\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 82 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[193]#011train-rmse:0.165354#011validation-rmse:0.281663\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 118 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[194]#011train-rmse:0.164994#011validation-rmse:0.281817\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 124 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[195]#011train-rmse:0.16462#011validation-rmse:0.281689\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 116 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[196]#011train-rmse:0.164139#011validation-rmse:0.281714\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 126 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[197]#011train-rmse:0.163693#011validation-rmse:0.281493\u001b[0m\n", | |
"\u001b[31m[198]#011train-rmse:0.163336#011validation-rmse:0.281355\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 110 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[17:53:57] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 112 extra nodes, 0 pruned nodes, max_depth=6\u001b[0m\n", | |
"\u001b[31m[199]#011train-rmse:0.163079#011validation-rmse:0.281315\u001b[0m\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"===== Job Complete =====\n" | |
] | |
} | |
], | |
"source": [ | |
"# XGBoost supports \"train\", \"validation\" channels\n", | |
"# Reference: Supported channels by algorithm\n", | |
"# https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-algo-docker-registry-paths.html\n", | |
"estimator.fit({'train':training_input_config, 'validation':validation_input_config})" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"train-rmse: 0.163079 ,\n", | |
"validation-rmse: 0.281315" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Deploy Model" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 28, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"INFO:sagemaker:Creating model with name: xgboost-2018-04-02-17-56-16-881\n", | |
"INFO:sagemaker:Creating endpoint with name xgboost-biketrain-v1\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"-------------------------------------------------------------!" | |
] | |
} | |
], | |
"source": [ | |
"# Ref: http://sagemaker.readthedocs.io/en/latest/estimators.html\n", | |
"predictor = estimator.deploy(initial_instance_count = 1,\n", | |
" instance_type = 'ml.m4.xlarge',\n", | |
" endpoint_name = 'xgboost-biketrain-v1')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"collapsed": true | |
}, | |
"source": [ | |
"## Run Predictions" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 29, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"from sagemaker.predictor import csv_serializer, json_deserializer\n", | |
"\n", | |
"predictor.content_type = 'text/csv'\n", | |
"predictor.serializer = csv_serializer\n", | |
"predictor.deserializer = None" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 30, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"b'3.87375450134'" | |
] | |
}, | |
"execution_count": 30, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"predictor.predict([[3,0,1,2,28.7,33.335,79,12.998,2011,7,7,3]])" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"collapsed": true | |
}, | |
"source": [ | |
"## Summary" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"1. Ensure Training, Test and Validation data are in S3 Bucket\n", | |
"2. Select Algorithm Container Registry Path - Path varies by region\n", | |
"3. Configure Estimator for training - Specify Algorithm container, instance count, instance type, model output location\n", | |
"4. Specify algorithm specific hyper parameters\n", | |
"5. Train model\n", | |
"6. Deploy model - Specify instance count, instance type and endpoint name\n", | |
"7. Run Predictions" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "conda_python3", | |
"language": "python", | |
"name": "conda_python3" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.6.2" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment