def METHOD_NAME(train_data, train_labels, predict_data):
    # Configure a training object (5 classes)
    train_algo = d4p.decision_forest_classification_training(
        5,
        fptype="float",
        method="hist",
        maxBins=256,
        minBinSize=1,
        nTrees=10,
        minObservationsInLeafNode=8,
        featuresPerNode=3,
        engine=d4p.engines_mt19937(seed=777),
        varImportance="MDI",
        bootstrap=True,
        resultsToCompute="computeOutOfBagError",
    )
    # Training result provides (depending on parameters) model,
    # outOfBagError, outOfBagErrorPerObservation and/or variableImportance
    train_result = train_algo.METHOD_NAME(train_data, train_labels)
    # now predict using the model from the training above
    predict_algo = d4p.decision_forest_classification_prediction(
        nClasses=5,
        fptype="float",
        resultsToEvaluate="computeClassLabels|computeClassProbabilities",
        votingMethod="unweighted",
    )
    predict_result = predict_algo.METHOD_NAME(predict_data, train_result.model)
    return train_result, predict_result