原理

举例:一个人的上医院的诊断结果,有糖尿病、高血压、冠心病。就是表示一个label有多个标签的情况

实现

如果总共有5类,并标记为0-4
(1)当一个label有1,2两个标签时,执行如下

from sklearn.preprocessing import MultiLabelBinarizer
mlb = MultiLabelBinarizer(classes=[0,1,2,3,4])
mlb.fit_transform([[1, 2]])

array([[0, 0, 1, 1, 0]])

(2)当一个label有0 2 3 4标签时,执行如下

mlb.fit_transform([[0, 2,3,4]])

array([[1, 0, 1, 1, 1]])

(3)多个label时,可以同时传参

mlb.fit_transform([[1,2],[0, 2,3,4]])

array([[0, 1, 1, 0, 0],
[1, 0, 1, 1, 1]])

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐