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
|