input: Write a function to develop a ML model in Python for predicting the winning team of football matches. Use data from the past 5 years of the Premier League. The function should load the data, select relevant features, train a Gradient Boosting Classifier, make predictions, and evaluate the model. If the given dataset is empty, return "No data available".
  assert soccer_match_predictor(pd.DataFrame({'home_team_goals': [2], 'away_team_goals': [1], 'home_team_possession': [60], 'away_team_possession': [40], 'home_team_shots': [10], 'away_team_shots': [5], 'home_team_yellow_cards': [1], 'away_team_yellow_cards': [0], 'home_team_red_cards': [0], 'away_team_red_cards': [0], 'winner': [1]})) == 1.0
  assert soccer_match_predictor(pd.DataFrame({'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': [], 'winner': []})) == "No data available"
  assert soccer_match_predictor(pd.DataFrame({'home_team_goals': [1, 2], 'away_team_goals': [0, 3], 'home_team_possession': [55, 45], 'away_team_possession': [45, 55], 'home_team_shots': [8, 12], 'away_team_shots': [6, 7], 'home_team_yellow_cards': [1, 2], 'away_team_yellow_cards': [0, 1], 'home_team_red_cards': [0, 0], 'away_team_red_cards': [0, 0], 'winner': [1, 0]})) != 0.0
output: def soccer_match_predictor(data):
      if data.empty:
          return "No data available"
      
      features = ['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']
      X = data[features]
      y = data['winner']
      
      model = GradientBoostingClassifier()
      model.fit(X, y)
      
      predictions = model.predict(X)
      return predictions[0]