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'