Alvaro
Add new ML models and CLI tools for prediction
2aed0aa
raw
history blame
1.42 kB
import argparse
from .pipeline import PredictionPipeline
from .models import (
EloBaselineModel,
LogisticRegressionModel,
XGBoostModel,
SVCModel,
RandomForestModel,
BernoulliNBModel,
LGBMModel
)
def main():
"""
Main entry point to run the prediction pipeline.
You can specify which models to run and the reporting format.
"""
parser = argparse.ArgumentParser(description="UFC Fight Prediction Pipeline")
parser.add_argument(
'--report',
type=str,
default='detailed',
choices=['detailed', 'summary'],
help="Type of report to generate: 'detailed' (file) or 'summary' (console)."
)
args = parser.parse_args()
# --- Define Models to Run ---
# Instantiate all the models you want to evaluate here.
models_to_run = [
EloBaselineModel(),
LogisticRegressionModel(),
XGBoostModel(),
SVCModel(),
RandomForestModel(),
BernoulliNBModel(),
LGBMModel(),
]
# --- End of Model Definition ---
pipeline = PredictionPipeline(models=models_to_run)
try:
pipeline.run(detailed_report=(args.report == 'detailed'))
except FileNotFoundError as e:
print(f"Error: {e}")
print("Please ensure the required data files exist. You may need to run the scraping and ELO analysis first.")
if __name__ == '__main__':
main()