input: Write a function to implement a machine learning algorithm that categorizes a dataset of records based on their features. The function should extract features and labels from the provided dataset, train a Support Vector Classifier (SVC) model, and then predict the label for a given set of features. If the dataset is empty, the function should return None.
  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([], [1, 0, 1])==None
  assert categorize_dataset([
   {"label": "apple", "features": [1, 1, 0]}, 
   {"label": "banana", "features": [0, 1, 1]}, 
   {"label": "lemon", "features": [0, 0, 1]}, 
  ], [0, 1, 1])==["banana"]
  assert categorize_dataset([
   {"label": "apple", "features": [1, 1, 0]}, 
   {"label": "banana", "features": [0, 1, 1]}, 
   {"label": "lemon", "features": [0, 0, 1]}, 
  ], [1, 0, 0])==["apple"]
  assert categorize_dataset([
   {"label": "apple", "features": [1, 1, 0]}, 
   {"label": "banana", "features": [0, 1, 1]}, 
   {"label": "lemon", "features": [0, 0, 1]}, 
  ], [0, 1, 0])==None
output: def categorize_dataset(dataset, features):
      if not dataset:
          return None
      X = [entry["features"] for entry in dataset]
      y = [entry["label"] for entry in dataset]
      model = SVC()
      model.fit(X, y)
      prediction = model.predict([features])
      return prediction