"""Learner-owned model code. The public checker imports this file, not the solution."""

def build_classifier():
    """Return an UNFITTED sklearn Pipeline with train-fitted preprocessing.

    Set explicit random_state seeds on stochastic estimators.
    Use only courseml.data.FEATURES. Choose a CPU-friendly classifier exposing
    predict_proba. Write selection rationale in your decision record.
    """
    raise NotImplementedError('Implement your pipeline.')

def choose_policy(actual,probability):
    """Return threshold minimizing FP+4FN among 0.10..0.90 step0.05,
    subject to <=40% alerts. Tie: fewer alerts, then higher threshold.
    If no candidate is feasible, return 1.01 for the explicit no-alert policy.
    """
    raise NotImplementedError('Implement your threshold selection.')

def build_regressor():
    """Return an UNFITTED preprocessing + regressor Pipeline.
    Choose it using training-only CV; document the metric and comparison.
    Set explicit random_state seeds on stochastic estimators.
    """
    raise NotImplementedError('Implement your regression pipeline.')
