code: def convert(model, input_features, output_features):
      
      if not(_HAS_SKLEARN):
          raise RuntimeError('scikit-learn not found. scikit-learn conversion API is disabled.')
  
      _sklearn_util.check_expected_type(model, _ensemble.GradientBoostingRegressor)
      def is_gbr_model(m):
          if len(m.estimators_) == 0:
              return False
          if hasattr(m, 'estimators_') and m.estimators_ is not None:
              for t in m.estimators_.flatten():
                  if not hasattr(t, 'tree_') or t.tree_ is None:
                      return False
              return True
          else:
              return False
  
      _sklearn_util.check_fitted(model, is_gbr_model)
  
      base_prediction = model.init_.mean
  
      return _MLModel(_convert_tree_ensemble(model, input_features, output_features,
              base_prediction = base_prediction))
docs: Convert a boosted tree model to protobuf format.
  
      Parameters
      ----------
      decision_tree : GradientBoostingRegressor
          A trained scikit-learn tree model.
  
      input_feature: [str]
          Name of the input columns.
  
      output_features: str
          Name of the output column.
  
      Returns
      -------
      model_spec: An object of type Model_pb.
          Protobuf representation of the model