type_of_target#

sklearn.utils.multiclass.type_of_target(y, input_name='')#

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

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

  • binary 更具体但与 multiclass 兼容。

  • multiclass 的整数更具体但与 continuous 兼容。

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

Parameters:
y{array-like, sparse matrix}

目标值。如果是一个稀疏矩阵, y 应为一个 CSR/CSC 矩阵。

input_namestr, default=””

用于构造错误消息的数据名称。

Added in version 1.1.0.

Returns:
target_typestr

以下之一:

  • ‘continuous’:y 是一个浮点数数组,不是所有整数,并且是 1d 或列向量。

  • ‘continuous-multioutput’:y 是一个浮点数二维数组,不是所有整数,并且两个维度的大小都大于 1。

  • ‘binary’:y 包含 <= 2 个离散值,并且是 1d 或列向量。

  • ‘multiclass’:y 包含超过两个离散值,不是序列的序列,并且是 1d 或列向量。

  • ‘multiclass-multioutput’:y 是一个包含超过两个离散值的二维数组,不是序列的序列,并且两个维度的大小都大于 1。

  • ‘multilabel-indicator’:y 是一个标签指示矩阵,一个至少有两列的二维数组,并且最多有 2 个唯一值。

  • ‘unknown’:y 是类数组但不是上述任何一种,例如一个 3d 数组、序列的序列或非序列对象的数组。

Examples

>>> 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'