我在上一篇文章中曾问过如何对连续的预测变量进行分类。建议使用pd.cut或pd.qcut:
Create multiple classes from continuous variables Python
我想知道这些函数的作用:
http://scikit-learn.org/stable/modules/multiclass.html#multilabel-classification-format
让该软件包负责分类而不是自己进行分类是否有意义?
答案 0 :(得分:1)
MultiLabelBinarizer
不创建垃圾箱,它将为每个垃圾箱分配不同的类别。
例如,如果在示例中有一个y
,则有4个唯一值,MultiLabelBinarizer
将返回一个形状为(4,2)的数组。但是,如果有浮点数,我们将为每个数字返回不同的类别。
from sklearn.preprocessing import MultiLabelBinarizer
y = [[1.1, 2.2], [1.3, 1.4, 1.1]]
print(MultiLabelBinarizer().fit_transform(y))
# [[1 0 0 1]
# [1 1 1 0]]
因此,首先您需要制作垃圾箱(在本例中为圆形):
# round the y
round_y = []
for arr in y:
round_y.append([round(i) for i in arr])
print(round_y)
# [[1, 2], [1, 1, 1]]
print(MultiLabelBinarizer().fit_transform(round_y))
# [[1 1]
# [1 0]]