例如,我有以下内容:[1,2,3,5],我想对其进行热编码.通常是这样的:
[1,0,0,0,0]
[0,1,0,0,0]
[0,0,1,0,0]
[0,0,0,0,1]
但与此相反,我希望有一个条件一热编码,只有两个类.3以下的所有值均为值1,3以上或等于3的所有值均为值0,如下所示:
[1,0]
[1,0]
[0,1]
[0,1]
我知道如何做第一个,但我正在努力做第二个.谁能帮帮我吗?
例如,我有以下内容:[1,2,3,5],我想对其进行热编码.通常是这样的:
[1,0,0,0,0]
[0,1,0,0,0]
[0,0,1,0,0]
[0,0,0,0,1]
但与此相反,我希望有一个条件一热编码,只有两个类.3以下的所有值均为值1,3以上或等于3的所有值均为值0,如下所示:
[1,0]
[1,0]
[0,1]
[0,1]
我知道如何做第一个,但我正在努力做第二个.谁能帮帮我吗?
使用列表理解:
data = [1,2,3,5]
CUTOFF = 3
[[1, 0] if val < CUTOFF else [0, 1] for val in data]
这将输出:
[[1, 0], [1, 0], [0, 1], [0, 1]]