input: Write a function to categorize a dataset of records using a machine learning algorithm in Python. The function should take a list of dictionaries, each containing a 'label' and 'features' key, train a Support Vector Classifier (SVC) model on this data, and then predict the category ('label') for a given set of features. If the dataset is empty, the function should return None.
  assert categorize_data([
    {"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_data([], [1, 0, 1]) == None
  assert categorize_data([
    {"label": "apple", "features": [1, 1, 0]}, 
    {"label": "pear", "features": [0, 1, 0]}, 
  ], [0, 0, 1]) == "apple"
  assert categorize_data([
    {"label": "lemon", "features": [0, 0, 1]}, 
    {"label": "orange", "features": [1, 0, 0]}, 
  ], [0, 1, 0]) == "orange"
output: def categorize_data(dataset, features):
      if not dataset:
          return None
      
      X = [entry['features'] for entry in dataset]
      y = [entry['label'] for entry in dataset]
      
      from sklearn.svm import SVC
      model = SVC()
      model.fit(X, y)
      
      return model.predict([features])[0]