我正在尝试学习机器学习。
我对一种热门编码有疑问:
我有一个数据集,分为2个excel数据表。一张纸上有火车,另一张纸上有测试数据。首先,我通过导入带有熊猫的火车数据表来训练我的模型。数据集中有一些分类特征必须进行编码。我一个热编码他们。
导入测试数据集后,如果我对它进行热编码,其编码将与火车数据集的编码相同还是不同。如果是这样,我该如何解决这个问题?
答案 0 :(得分:1)
OneHot编码为每个类别或每个值创建二进制属性,一个属性等于1(否则为o)。一种属性等于1(热),而另一种属性等于0(冷)。
示例示例:-
from sklearn.preprocessing import OneHotEncoder
encoder = OneHotEncoder()
1hot = encoder.fit_transform(df_object.reshape(-1,1))
1hot
示例输出:-
array([[0., 0., 0., 1., 0.],
[0., 0., 0., 1., 0.],
[0., 0., 0., 1., 0.],
...,
[0., 1., 0., 0., 0.],
[0., 1., 0., 0., 0.],
[0., 1., 0., 0., 0.]])
您需要检查您适合oneHotEncoding的属性是否是相对接近的值。
答案 1 :(得分:0)
您有2张单独的纸(用于测试和训练数据集)。在将它们导入到熊猫数据框中后,您必须对它们分别进行一次热编码。
和是的,对于相同的数据集,一种热编码将是相同的,无论您将其应用于不同的数据表,请确保在每个数据表的该列中具有相同的分类值< / p>