目標類型#

sklearn.utils.multiclass.type_of_target(y, input_name='', raise_unknown=False)[原始碼]#

判斷目標所指示的資料類型。

請注意,此類型是可以推斷出的最明確的類型。例如

  • binarymulticlass 更明確,但與其相容。

  • 整數的 multiclasscontinuous 更明確,但與其相容。

  • multilabel-indicatormulticlass-multioutput 更明確,但與其相容。

參數:
y{類陣列, 稀疏矩陣}

目標值。如果是一個稀疏矩陣,則預期 y 為 CSR/CSC 矩陣。

input_namestr,預設值=""

用於建構錯誤訊息的資料名稱。

在 1.1.0 版本中新增。

raise_unknownbool,預設值=False

如果 True,當 type_of_target 回傳的目標類型為 "unknown" 時,會引發錯誤。

在 1.6 版本中新增。

回傳值:
target_typestr

下列其中之一

  • ‘continuous’:y 是一個由非全為整數的浮點數組成的類陣列,且為 1 維或一個列向量。

  • ‘continuous-multioutput’:y 是一個由非全為整數的浮點數組成的二維陣列,且兩個維度的大小都 > 1。

  • ‘binary’:y 包含 <= 2 個離散值,且為 1 維或一個列向量。

  • ‘multiclass’:y 包含超過兩個離散值,不是序列的序列,且為 1 維或一個列向量。

  • ‘multiclass-multioutput’:y 是一個包含超過兩個離散值的二維陣列,不是序列的序列,且兩個維度的大小都 > 1。

  • ‘multilabel-indicator’:y 是一個標籤指示矩陣,一個至少有兩列且最多有 2 個唯一值的二維陣列。

  • ‘unknown’:y 是一個類陣列,但不是以上任何一種,例如一個三維陣列、序列的序列或非序列物件的陣列。

範例

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