input: 
  def predict_football_match_winner(data_path: str) -> float:
      """ Predicts the winning team of football matches using data from the past 5 years of the Premier League.
      The function trains a GradientBoostingClassifier model and returns the model's accuracy score.
      
      Example:
      >>> predict_football_match_winner('data.csv')
      0.85
      """
  
output:     
      import pandas as pd
      from sklearn.model_selection import train_test_split
      from sklearn.ensemble import GradientBoostingClassifier
      from sklearn.metrics import accuracy_score
  
      # Load the data
      data = pd.read_csv(data_path)
      
      # Assuming the data has columns 'HomeTeam', 'AwayTeam', 'HomeGoals', 'AwayGoals', 'Result'
      X = data[['HomeTeam', 'AwayTeam', 'HomeGoals', 'AwayGoals']]
      y = data['Result']
      
      # Split the data into training and testing sets
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
      
      # Train the model
      model = GradientBoostingClassifier(random_state=42)
      model.fit(X_train, y_train)
      
      # Predict and calculate accuracy
      y_pred = model.predict(X_test)
      accuracy = accuracy_score(y_test, y_pred)
      
      return accuracy
  