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'