in online-machine-learning-aws-lambda/app/lambda_training/app.py [0:0]
def lambda_handler(event, _):
event = APIGatewayProxyEvent(event)
print(f'bucketname: {BUCKET_NAME}')
logger.info(event.__dict__)
# parse input event and split dataset
X_train, X_test, y_train, y_test = _parse_input(event)
# train regression model
regr = _train_regression_model(X_train, y_train)
# test model
mse, r2 = _test_model(regr, X_test, y_test)
logger.info({
"message": "model training successful",
'mean_squared_error': mse,
'r_squared': r2
})
# save trained model to s3
_upload_model_to_s3(regr, model_name)
logger.info({
"message": "model saved to s3",
'bucket_name': BUCKET_NAME,
'model_name': model_name
})
return {
'statusCode': 200,
'body': json.dumps(
{
'training': 'success',
'mean_squared_error': mse,
'r_squared': r2
}
)
}