input: from typing import List
  
  def predict_match_winner(features: List[str], random_state: int = 42) -> float:
      """ Train a machine learning model using features from past 5 years of Premier League
      matches to predict the winning team of a football match. Returns the accuracy
      score of the model.
      
      >>> predict_match_winner(['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'], 42)
      0.85
      """
output:     import pandas as pd
      from sklearn.model_selection import train_test_split
      from sklearn.ensemble import RandomForestClassifier
      from sklearn.metrics import accuracy_score
  
      # Sample data for demonstration purposes
      data = {
          'home_team_goals': [2, 1, 3, 0, 1],
          'away_team_goals': [1, 2, 1, 1, 0],
          'home_team_possession': [55, 60, 50, 45, 50],
          'away_team_possession': [45, 40, 50, 55, 50],
          'home_team_shots': [10, 8, 12, 6, 9],
          'away_team_shots': [8, 10, 9, 7, 8],
          'home_team_yellow_cards': [1, 2, 0, 1, 1],
          'away_team_yellow_cards': [2, 1, 1, 0, 2],
          'home_team_red_cards': [0, 0, 0, 0, 0],
          'away_team_red_cards': [0, 0, 0, 0, 0],
          'winner': [1, 0, 1, 0, 1]  # 1 for home team, 0 for away team
      }
  
      df = pd.DataFrame(data)
      X = df[features]
      y = df['winner']
  
      X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=random_state)
  
      model = RandomForestClassifier(random_state=random_state)
      model.fit(X_train, y_train)
  
      y_pred = model.predict(X_test)
      return accuracy_score(y_test, y_pred)