type_of_target#
- sklearn.utils.multiclass.type_of_target(y, input_name='', raise_unknown=False)[source]#
确定目标指示的数据类型。
请注意,此类型是最具体的可以推断的类型。例如:
binary比multiclass更具体,但与其兼容。整数的
multiclass比continuous更具体,但与其兼容。multilabel-indicator比multiclass-multioutput更具体,但与其兼容。
- 参数:
- y{array-like, sparse matrix}
目标值。如果为稀疏矩阵,则
y预计为 CSR/CSC 矩阵。- input_namestr, default=””
用于构建错误消息的数据名称。
版本 1.1.0 中添加。
- raise_unknownbool, default=False
如果为
True,则当type_of_target返回的目标类型为"unknown"时,将引发错误。版本 1.6 中新增。
- 返回:
- target_typestr
以下之一:
‘continuous’:
y是浮点数的 array-like,且不全是整数,并且是 1d 或列向量。‘continuous-multioutput’:
y是浮点数的 2d 数组,且不全是整数,并且两个维度的大小都大于 1。‘binary’:
y包含小于等于 2 个离散值,并且是 1d 或列向量。‘multiclass’:
y包含两个以上的离散值,不是序列的序列,并且是 1d 或列向量。‘multiclass-multioutput’:
y是一个 2d 数组,包含两个以上的离散值,不是序列的序列,并且两个维度的大小都大于 1。‘multilabel-indicator’:
y是一个标签指示器矩阵,一个具有至少两列的二维数组,并且最多有 2 个唯一值。‘unknown’:
y是 array-like,但不是以上任何一种,例如 3d 数组、序列的序列或非序列对象的数组。
示例
>>> from sklearn.utils.multiclass import type_of_target >>> 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'