我试图保留数据集中包含缺失数据的行。
当使用 sklearn 对一列(或多列)进行 one-hot 编码时。是否可以写一个规则if currentItem == null
or if currentItem == 0
然后将输出数组设置为全0?
e.g.
A A B
-> [[1, 0], [1, 0], [0,1]]
B B A
-> [[0, 1], [0, 1], [1,0]]
null B A
-> [[0, 0], [0, 1], [1,0]]
独热编码:
import numpy as np
from sklearn.preprocessing import LabelEncoder
dataset = np.loadtxt("someFile.csv", delimiter=",")
B = dataset[:,1]
encoder = LabelEncoder()
encoder.fit(B)
encoded_B = encoder.transform(B)
Y = to_categorical(encoded_B)
编辑 - 示例数据集:其中 A-E 是输入,X & Y 是输出
A B C D E X Y
7 6 3 3 2 11 4
5 6 0 0 7 15 7
3 3 9 null 7 12 7
7 null 7 null 7 12 13
null 7 4 6 12 13 4
null 5 7 6 null 14 7
2 6 0 0 2 13 3
7 null 7 null 2 13 7