input: Write a function to create a machine learning model using Python that categorizes a dataset of records based on their features. The function should use the given dataset, extract features, train a Support Vector Classifier (SVC), and then predict the label for a given set of features. 
  
  def categorize_dataset(training_data, predict_data):
      """
      Args:
      training_data (list of dicts): The dataset to train the model, where each dict has a 'label' and 'features'.
      predict_data (list of ints): The features to predict the label for.
      
      Returns:
      str: The predicted label for the given predict_data.
      """
      import numpy as np
      from sklearn.svm import SVC
      
      # Feature extraction 
      X = []
      y = []
      for data in training_data:
          X.append(data['features'])
          y.append(data['label'])
      
      # Model 
      clf = SVC()
      clf.fit(X, y) 
      
      # Prediction 
      predicted_label = clf.predict([predict_data])
      
      return predicted_label[0]
  
  # Test cases
  assert categorize_dataset([
    {"label": "apple", "features": [1, 1, 0]}, 
    {"label": "banana", "features": [0, 1, 1]}, 
    {"label": "lemon", "features": [0, 0, 1]}, 
    {"label": "orange", "features": [1, 0, 0]}, 
    {"label": "pear", "features": [0, 1, 0]}, 
  ], [1, 0, 1]) == "banana"
  
  assert categorize_dataset([
    {"label": "apple", "features": [1, 1, 0]}, 
    {"label": "banana", "features": [0, 1, 1]}, 
    {"label": "lemon", "features": [0, 0, 1]}, 
    {"label": "orange", "features": [1, 0, 0]}, 
    {"label": "pear", "features": [0, 1, 0]}, 
  ], [0, 1, 0]) == "pear"
  
  assert categorize_dataset([
    {"label": "apple", "features": [1, 1, 0]}, 
    {"label": "banana", "features": [0, 1, 1]}, 
    {"label": "lemon", "features": [0, 0, 1]}, 
    {"label": "orange", "features": [1, 0, 0]}, 
    {"label": "pear", "features": [0, 1, 0]}, 
  ], [0, 0, 1]) == "lemon"
  
  assert categorize_dataset([
    {"label": "apple", "features": [1, 1, 0]}, 
    {"label": "banana", "features": [0, 1, 1]}, 
    {"label": "lemon", "features": [0, 0, 1]}, 
    {"label": "orange", "features": [1, 0, 0]}, 
    {"label": "pear", "features": [0, 1, 0]}, 
  ], [1, 1, 0]) == "apple"
  
  assert categorize_dataset([
    {"label": "apple", "features": [1, 1, 0]}, 
    {"label": "banana", "features": [0, 1, 1]}, 
    {"label": "lemon", "features": [0, 0, 1]}, 
    {"label": "orange", "features": [1, 0, 0]}, 
    {"label": "pear", "features": [0, 1, 0]}, 
  ], [1, 0, 0]) == "orange"
output: 
  def categorize_dataset(training_data, predict_data):
      import numpy as np
      from sklearn.svm import SVC
      
      X = []
      y = []
      for data in training_data:
          X.append(data['features'])
          y.append(data['label'])
      
      clf = SVC()
      clf.fit(X, y) 
      
      predicted_label = clf.predict([predict_data])
      
      return predicted_label[0]
  