ACA050's picture
Upload 79 files
a309487 verified
from sklearn.metrics import accuracy_score, f1_score, mean_squared_error
import numpy as np
def evaluate_model(model, X_test, y_test, problem_type):
preds = model.predict(X_test)
if problem_type == "classification":
acc = accuracy_score(y_test, preds)
f1 = f1_score(y_test, preds, average="weighted")
if np.isnan(acc) or acc == 0 or np.isnan(f1) or f1 == 0:
raise ValueError("Invalid metrics computed for classification")
return {
"accuracy": acc,
"f1": f1
}
else:
rmse = np.sqrt(mean_squared_error(y_test, preds))
if np.isnan(rmse) or np.isinf(rmse):
raise ValueError("Invalid metrics computed for regression")
return {
"rmse": rmse
}