from __future__ import annotations import argparse from pathlib import Path from src.data import load_training_data from src.modeling import DEFAULT_MODEL_PATH, train_model def main() -> None: parser = argparse.ArgumentParser(description="Train the house price prediction model.") parser.add_argument("--data", type=Path, default=None, help="Path to Kaggle train.csv") parser.add_argument("--output", type=Path, default=DEFAULT_MODEL_PATH, help="Model artifact path") args = parser.parse_args() frame = load_training_data(args.data) trained = train_model(frame, artifact_path=args.output) print(f"Saved model to {args.output}") print(f"Metrics: {trained.metrics}") if __name__ == "__main__": main()