input: from typing import List, Dict
  import numpy as np
  from sklearn.svm import SVC
  
  def categorize_dataset(training_data: List[Dict[str, any]], predict_data: List[float]) -> str:
      """Categorize a dataset of records using a machine learning algorithm.
      >>> training_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]}, 
      ... ]
      >>> predicted_label = categorize_dataset(training_data, [1, 0, 1])
      'banana'
      """
      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]
output:     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]