【问题标题】:Create a dataset for multi-labelled classification为多标签分类创建数据集
【发布时间】:2017-11-08 09:08:36
【问题描述】:

我有一个如下形式的数据集:

Id  Class

1   a
2   b
2   c
3   c
3   d
3   a
3   e
3   f
4   g

我需要准备这些数据来执行多标签分类 所以我使用:

df.groupby("Id").Class.apply(','.join).reset_index()

得到:

Id  Class

1   a
2   b,c
3   c,d,e,f
4   g

现在MultiLabelBinarizer 无法以当前形式处理此问题,因为df.Class 表示为

("a", "b,c", "c,d,e,f", "g")

但是,它应该是形式

[["a"], ["b","c"], ["c","d","e","f"],["g"]]

我应该怎么做?

【问题讨论】:

  • 用逗号","分割,然后使用MultiLabelBinarizer。

标签: python-3.x pandas dataframe scikit-learn multilabel-classification


【解决方案1】:

你需要applylist:

print (df.groupby("Id").Class.apply(list))
Id
1                [a]
2             [b, c]
3    [c, d, a, e, f]
4                [g]
Name: Class, dtype: object

【讨论】:

  • 有效!!非常感谢! :D
  • 高人,很高兴能帮上忙!
  • 如果我的回答有帮助,别忘了accept。谢谢。
猜你喜欢
  • 2017-11-08
  • 2017-03-07
  • 2019-11-17
  • 2021-11-05
  • 2016-08-26
  • 2013-12-15
  • 1970-01-01
  • 1970-01-01
  • 2017-11-01
相关资源
最近更新 更多