Skip to content

traintest

evaluate_model_oob(model, fun_control)

Out-of-bag evaluation (Only for RandomForestClassifier). If fun_control[“eval”] == “eval_oob_score”.

Source code in spotPython/sklearn/traintest.py
76
77
78
79
80
81
82
83
84
85
86
87
88
89
def evaluate_model_oob(model, fun_control):
    """Out-of-bag evaluation (Only for RandomForestClassifier).
    If fun_control["eval"] == "eval_oob_score".
    """
    try:
        X, y = get_Xy_from_df(fun_control["train"], fun_control["target_column"])
        model.fit(X, y)
        df_preds = model.oob_decision_function_
        df_eval = fun_control["metric_sklearn"](y, df_preds, **fun_control["metric_params"])
    except Exception as err:
        print(f"Error in fun_sklearn(). Call to evaluate_model_oob failed. {err=}, {type(err)=}")
        df_eval = np.nan
        df_eval = np.nan
    return df_eval, df_preds