input: Write a function to create a machine learning algorithm in Python to categorize a dataset of records using the SVC model from sklearn. The function should take a list of record dictionaries, each containing a label and features, and return the predicted label for a new set of features. If the dataset is empty, return None.
  assert categorize_records([
   {"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_records([], [1, 0, 1])==None
output: def categorize_records(records, new_features):
      if not records:
          return None
      
      from sklearn.svm import SVC
      from sklearn.preprocessing import LabelEncoder
      
      labels = [record['label'] for record in records]
      features = [record['features'] for record in records]
      
      label_encoder = LabelEncoder()
      encoded_labels = label_encoder.fit_transform(labels)
      
      svc_model = SVC()
      svc_model.fit(features, encoded_labels)
      
      predicted_label = svc_model.predict([new_features])
      return label_encoder.inverse_transform(predicted_label)[0]