目標類型#
- sklearn.utils.multiclass.type_of_target(y, input_name='', raise_unknown=False)[原始碼]#
判斷目標所指示的資料類型。
請注意,此類型是可以推斷出的最明確的類型。例如
binary
比multiclass
更明確,但與其相容。整數的
multiclass
比continuous
更明確,但與其相容。multilabel-indicator
比multiclass-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'