"""Finish these small functions before opening solutions/learner_functions.py."""
import numpy as np
def regression_mae(actual,predicted):
"""Return MAE for equal-length, nonempty one-dimensional arrays."""
raise NotImplementedError('Complete exercise 5: absolute errors, then mean.')
def confusion_counts(actual,probability,threshold):
"""Return dict tn,fp,fn,tp. Predict positive for probability >= threshold."""
raise NotImplementedError('Complete exercise 6: make masks and count.')
def threshold_cost(actual,probability,threshold):
"""Teaching cost = FP + 4*FN, not a measured real business cost."""
raise NotImplementedError('Complete exercise 8: use your confusion counts.')
def candidate_features(columns):
"""Return only the course-approved inputs, in canonical feature order."""
raise NotImplementedError('Complete exercise 2: explicit allowlist, not drop target alone.')