input: def predict_football_winner(data: pd.DataFrame) -> float:
      """
      Develop a machine learning model in Python to predict the winning team of football matches using features from the past 5 years of the Premier League.
      The model uses Gradient Boosting Classifier and is trained on selected features such as goals, possession, shots, and cards.
      Outputs the accuracy score of the model on the test set.
      
      >>> data = pd.read_csv('data.csv')
      >>> score = predict_football_winner(data)
      >>> print(score)
      0.78
      """
output:     from sklearn.model_selection import train_test_split
      from sklearn.ensemble import GradientBoostingClassifier
      from sklearn.metrics import accuracy_score
  
      # Select features and target
      features = ['goals', 'possession', 'shots', 'cards']
      X = data[features]
      y = data['winner']
  
      # 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)
  
      # Initialize and train the Gradient Boosting Classifier
      model = GradientBoostingClassifier(n_estimators=100, learning_rate=0.1, max_depth=3, random_state=42)
      model.fit(X_train, y_train)
  
      # Predict on the test set and calculate accuracy
      y_pred = model.predict(X_test)
      accuracy = accuracy_score(y_test, y_pred)
  
      return accuracy