【发布时间】:2019-11-17 15:01:55
【问题描述】:
我正在研究一个多标签分类问题。 X 中的每个值都是一个分类值。原始数据如下
ID X1 X2 X3 Y
111 AA LL KK MMM
111 AA LL KK MMM
111 BB LL jj NNN
121 HH DD uu III
121 HH DD yy OOO
121 HH LL aa PPP
我正在尝试将其转换为数据框,其中列(X1、X2、X3、Y)中存在的每个唯一值都将成为一个新列,并且每个 ID 都将有一条记录。我想要得到的预期输出是
ID X1_AA X1_BB X1_HH X2_LL X2_DD X3_KK X3_jj X3_uu X3_yy x3_aa Y_MMM Y_NNN Y_III Y_OOO Y_PPP
111 1 1 0 1 0 1 1 0 0 0 1 1 0 0 0
121 0 0 1 1 1 0 0 1 1 1 0 0 1 1 1
我尝试使用 pandas get_dummies,它正在创建虚拟列,但 id 是重复的。这里 Y 是我的目标列。一个ID的多个Y值表示ID访问了多个频道。
另外请建议我是否可以通过在分类中为 X 和 Y 创建虚拟列来直接使用原始数据
【问题讨论】:
-
以文本格式添加输入,而不是在图像中。
-
Also please suggest if I can directly use original data by creating dummy columns for X and Y in classification- 你能解释更多吗? -
@jezrael Point 我试图通过使用来自 pandas 的 get_dummies,而不为每个 ID 创建单个记录,然后将其用作算法的输入来预测标签。在这种情况下,我的新数据的形状将与原始输入数据相同。我不确定这是否是正确的方法
-
@Lucy - 我认为这应该是新问题,https://stats.stackexchange.com/中最好的问题@
-
@jezrael 我会将此作为一个新问题发布。谢谢
标签: python-3.x pandas multilabel-classification