def lambda_handler()

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
            }
        )
    }