sklearn.utils.multiclass.type_of_target

sklearn.utils.multiclass.type_of_target(y)

源码

确定目标指示的数据类型。

请注意,此类型是可以推断的最具体的类型。

例如:

二进制更具体,但兼容多类。

整数的多类更具体,但与连续兼容。

multilabel-indicator更具体,但与multiclass-multioutput兼容。

参数 说明
y array-like
返回值 说明
target_type string
之一:
“连续的”:y是类似浮点数的数组,它们并不都是整数,而是一维或列向量。
“连续多输出”:y是2d的浮点数数组,它们都不都是整数,并且两个维度的大小都大于1。
“二进制”:y包含 2个以内的(含2个)离散值,为一维或列向量。
“ multiclass”:y包含两个以上的离散值,不是序列中的序列,并且是一维或列向量。
“ multiclass-multioutput”:y是一个二维数组,包含两个以上的离散值,不是序列中的序列,并且两个维度的大小均大于1。
“ multilabel-indicator”:y是标签指示符矩阵,是一个二维数组,至少包含两列,并且最多包含2个唯一值。
“未知”:y类似于数组,但以上都不是,例如3d数组,序列中的序列或非序列对象的数组。

示例:

>>> import numpy as np
>>> type_of_target([0.1, 0.6])
'continuous'
>>> type_of_target([1, -1, -1, 1])
'binary'
>>> type_of_target(['a', 'b', 'a'])
'binary'
>>> type_of_target([1.0, 2.0])
'binary'
>>> type_of_target([1, 0, 2])
'multiclass'
>>> type_of_target([1.0, 0.0, 3.0])
'multiclass'
>>> type_of_target(['a', 'b', 'c'])
'multiclass'
>>> type_of_target(np.array([[1, 2], [3, 1]]))
'multiclass-multioutput'
>>> type_of_target([[1, 2]])
'multilabel-indicator'
>>> type_of_target(np.array([[1.5, 2.0], [3.0, 1.6]]))
'continuous-multioutput'
>>> type_of_target(np.array([[0, 1], [1, 1]]))
'multilabel-indicator'