code: def _split_estimator_params_by_classes(
      values, n_classes, params_seq_len
  ):
      # Splits are computed based on a comment
      # https://github.com/dmlc/xgboost/issues/1746#issuecomment-267400592
      # and the enhancement to support boosted forests in XGBoost.
      values_len = len(values)
      block_len = n_classes * params_seq_len
      indices = list(range(values_len))
      indices_by_class = np.array(
          [
              [
                  indices[i : i + params_seq_len]
                  for i in range(j, values_len, block_len)
              ]
              for j in range(0, block_len, params_seq_len)
          ]
      ).reshape(n_classes, -1)
      return [
          [values[idx] for idx in class_idxs]
          for class_idxs in indices_by_class
      ]
  
imports: import json
  import math
  import numpy
  from m2cgen import ast
  from m2cgen.assemblers import utils
  from m2cgen.assemblers.base import ModelAssembler
  from m2cgen.assemblers.linear import _linear_to_ast
label_desc: Use image node_id 1 for calling a global function with example usage: _split_estimator_params_by_classes(values, n_classes, params_seq_len) and returns: unknown