Python的一种热门编码方式

时间:2018-07-10 03:41:09

标签: python pandas machine-learning

我正在尝试学习机器学习。

我对一种热门编码有疑问:
我有一个数据集,分为2个excel数据表。一张纸上有火车,另一张纸上有测试数据。首先,我通过导入带有熊猫的火车数据表来训练我的模型。数据集中有一些分类特征必须进行编码。我一个热编码他们。

导入测试数据集后,如果我对它进行热编码,其编码将与火车数据集的编码相同还是不同。如果是这样,我该如何解决这个问题?

2 个答案:

答案 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>