input: Write a function to develop an ML model in Python for predicting the winning team of football matches using data from the past 5 years of the Premier League. The function should load data, select features and target, split the data into training and test sets, train a GradientBoostingClassifier, make predictions, and evaluate the model.
  assert predict_winner('data.csv') == 'Model score: 0.85'
  assert predict_winner('empty_data.csv') == 'Error: Data file is empty.'
  assert predict_winner('missing_features_data.csv') == 'Error: Missing required features.'
output: def predict_winner(file_path):
      import pandas as pd
      from sklearn.model_selection import train_test_split
      from sklearn.ensemble import GradientBoostingClassifier
      from sklearn.metrics import accuracy_score
  
      try:
          data = pd.read_csv(file_path)
          if data.empty:
              return 'Error: Data file is empty.'
          
          required_features = ['feature1', 'feature2', 'target']  # Replace with actual feature names
          if not all(feature in data.columns for feature in required_features):
              return 'Error: Missing required features.'
          
          X = data[['feature1', 'feature2']]  # Replace with actual feature names
          y = data['target']  # Replace with actual target name
          
          X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
          
          model = GradientBoostingClassifier()
          model.fit(X_train, y_train)
          
          y_pred = model.predict(X_test)
          score = accuracy_score(y_test, y_pred)
          
          return f'Model score: {score:.2f}'
      
      except Exception as e:
          return f'Error: {str(e)}'