code: def get_split_value_histogram(self, feature, fmap='', bins=None, as_pandas=True):
          
          xgdump = self.get_dump(fmap=fmap)
          values = []
          regexp = re.compile(r"\[{0}<([\d.Ee+-]+)\]".format(feature))
          for i, _ in enumerate(xgdump):
              m = re.findall(regexp, xgdump[i])
              values.extend([float(x) for x in m])
  
          n_unique = len(np.unique(values))
          bins = max(min(n_unique, bins) if bins is not None else n_unique, 1)
  
          nph = np.histogram(values, bins=bins)
          nph = np.column_stack((nph[1][1:], nph[0]))
          nph = nph[nph[:, 1] > 0]
  
          if as_pandas and PANDAS_INSTALLED:
              return DataFrame(nph, columns=['SplitValue', 'Count'])
          if as_pandas and not PANDAS_INSTALLED:
              sys.stderr.write(
                  "Returning histogram as ndarray (as_pandas == True, but pandas is not installed).")
          return nph
docs: Get split value histogram of a feature
  
          Parameters
          ----------
          feature: str
              The name of the feature.
          fmap: str (optional)
              The name of feature map file.
          bin: int, default None
              The maximum number of bins.
              Number of bins equals number of unique split values n_unique,
              if bins == None or bins > n_unique.
          as_pandas: bool, default True
              Return pd.DataFrame when pandas is installed.
              If False or pandas is not installed, return numpy ndarray.
  
          Returns
          -------
          a histogram of used splitting values for the specified feature
          either as numpy array or pandas DataFrame.