def eval_metric(label, approx, metric, weight=None, group_id=None, thread_count=(- 1)):
    '\n    Evaluate metrics with raw approxes and labels.\n\n    Parameters\n    ----------\n    label : list or numpy.arrays or pandas.DataFrame or pandas.Series\n        Object labels.\n\n    approx : list or numpy.arrays or pandas.DataFrame or pandas.Series\n        Object approxes.\n\n    metrics : list of strings\n        List of eval metrics.\n\n    weight : list or numpy.array or pandas.DataFrame or pandas.Series, optional (default=None)\n        Object weights.\n\n    group_id : list or numpy.array or pandas.DataFrame or pandas.Series, optional (default=None)\n        Object group ids.\n\n    thread_count : int, optional (default=-1)\n        Number of threads to work with.\n        If -1, then the number of threads is set to the number of cores.\n\n    Returns\n    -------\n    metric results : list with metric values.\n    '
    if (len(approx) == 0):
        approx = [[]]
    if (not isinstance(approx[0], ARRAY_TYPES)):
        approx = [approx]
    return _eval_metric_util(label, approx, metric, weight, group_id, thread_count)
Evaluate metrics with raw approxes and labels.

Parameters
----------
label : list or numpy.arrays or pandas.DataFrame or pandas.Series
    Object labels.

approx : list or numpy.arrays or pandas.DataFrame or pandas.Series
    Object approxes.

metrics : list of strings
    List of eval metrics.

weight : list or numpy.array or pandas.DataFrame or pandas.Series, optional (default=None)
    Object weights.

group_id : list or numpy.array or pandas.DataFrame or pandas.Series, optional (default=None)
    Object group ids.

thread_count : int, optional (default=-1)
    Number of threads to work with.
    If -1, then the number of threads is set to the number of cores.

Returns
-------
metric results : list with metric values.
def eval_metric(label, approx, metric, weight=None, group_id=None, thread_count=(- 1)):
    '\n    Evaluate metrics with raw approxes and labels.\n\n    Parameters\n    ----------\n    label : list or numpy.arrays or pandas.DataFrame or pandas.Series\n        Object labels.\n\n    approx : list or numpy.arrays or pandas.DataFrame or pandas.Series\n        Object approxes.\n\n    metrics : list of strings\n        List of eval metrics.\n\n    weight : list or numpy.array or pandas.DataFrame or pandas.Series, optional (default=None)\n        Object weights.\n\n    group_id : list or numpy.array or pandas.DataFrame or pandas.Series, optional (default=None)\n        Object group ids.\n\n    thread_count : int, optional (default=-1)\n        Number of threads to work with.\n        If -1, then the number of threads is set to the number of cores.\n\n    Returns\n    -------\n    metric results : list with metric values.\n    '
    if (len(approx) == 0):
        approx = [[]]
    if (not isinstance(approx[0], ARRAY_TYPES)):
        approx = [approx]
    return _eval_metric_util(label, approx, metric, weight, group_id, thread_count)