input: from typing import Tuple
  import pandas as pd
  import numpy as np
  from sklearn.model_selection import train_test_split
  from sklearn.ensemble import GradientBoostingClassifier
  
  def football_match_predictor(data_path: str) -> Tuple[float, np.ndarray]:
      """ Predicts the winning team of football matches using data from the past 5 years of the Premier League.
      The function loads the data, selects features, and trains a Gradient Boosting Classifier. It then returns the model's score and predictions.
      >>> football_match_predictor('premier_league_data.csv')
      (0.75, array([1, 0, 1, ...]))
      """
output:     df = pd.read_csv(data_path)
      features = df[['home_team_rank', 'away_team_rank', 'home_team_form', 'away_team_form', 'home_team_injuries', 'away_team_injuries']]
      target = df['winning_team']
      X_train, X_test, y_train, y_test = train_test_split(features, target, test_size=0.2, random_state=42)
      model = GradientBoostingClassifier(n_estimators=100, learning_rate=0.1, max_depth=3, random_state=42)
      model.fit(X_train, y_train)
      score = model.score(X_test, y_test)
      predictions = model.predict(X_test)
      return score, predictions