input: def predict_football_match_winner(data: pd.DataFrame) -> float:
      """ Predict the winning team of football matches using a ML model trained on data from the 
      past 5 years of the Premier League. The model uses features such as goals, possession, shots, 
      and cards of both home and away teams. It returns the score of the model after making 
      predictions on the test set.
      >>> data = pd.DataFrame({
      ...     'home_team_goals': [3, 1, 2],
      ...     'away_team_goals': [1, 0, 1],
      ...     'home_team_possession': [60, 55, 50],
      ...     'away_team_possession': [40, 45, 50],
      ...     'home_team_shots': [10, 8, 6],
      ...     'away_team_shots': [5, 4, 3],
      ...     'home_team_yellow_cards': [1, 0, 2],
      ...     'away_team_yellow_cards': [0, 1, 1],
      ...     'home_team_red_cards': [0, 0, 0],
      ...     'away_team_red_cards': [0, 0, 0],
      ...     'winner': ['home', 'home', 'home']
      ... })
      >>> predict_football_match_winner(data)
      1.0
      """
output:     from sklearn.model_selection import train_test_split
      from sklearn.ensemble import RandomForestClassifier
      from sklearn.metrics import accuracy_score
  
      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)
  
      model = RandomForestClassifier(random_state=42)
      model.fit(X_train, y_train)
  
      y_pred = model.predict(X_test)
      return accuracy_score(y_test, y_pred)