input: 
  def predict_football_winner(data: pd.DataFrame) -> str:
      """ Develop an ML model in Python for predicting the winning team of football matches.
      Use data from the past 5 years of the Premier League.
      >>> data = pd.DataFrame({
      ...     'home_team_goals': [2, 1, 1, 3],
      ...     'away_team_goals': [1, 0, 2, 1],
      ...     'home_team_possession': [55.5, 60.0, 50.0, 60.0],
      ...     'away_team_possession': [44.5, 40.0, 50.0, 40.0],
      ...     'home_team_shots': [10, 8, 12, 15],
      ...     'away_team_shots': [5, 6, 7, 8],
      ...     'home_team_yellow_cards': [1, 2, 0, 1],
      ...     'away_team_yellow_cards': [2, 1, 1, 0],
      ...     'home_team_red_cards': [0, 0, 0, 0],
      ...     'away_team_red_cards': [0, 0, 0, 0],
      ...     'winner': ['home', 'home', 'away', 'home']
      ... })
      >>> predict_football_winner(data)
      'Model score: 1.0'
      """
      features = data[['home_team_goals', 'away_team_goals', 'home_team_possession', 'away_team_possession',
                       'home_team_shots', 'away_team_shots', 'home_team_yellow_cards', 'away_team_yellow_cards',
                       'home_team_red_cards', 'away_team_red_cards']]
      target = data['winner']
      X_train, X_test, y_train, y_test = train_test_split(features, target, test_size=0.2, random_state=42)
      gbm = GradientBoostingClassifier()
      gbm.fit(X_train, y_train)
      y_pred = gbm.predict(X_test)
      score = gbm.score(X_test, y_test)
      return f'Model score: {score}'
  
output:     from sklearn.model_selection import train_test_split
      from sklearn.ensemble import GradientBoostingClassifier