Python中的一个热编码

Python中的一个热编码,python,pandas,machine-learning,Python,Pandas,Machine Learning,我正在努力学习机器学习 我对一个热门编码有疑问: 我将一个数据集拆分为两张excel数据表。一张有列车,另一张有试验数据。我首先通过导入带有熊猫的列车数据表来训练我的模型。数据集中存在必须编码的分类特征。我对他们进行了一次热编码 导入测试数据集后,如果我对其进行热编码,编码将与列车数据集的编码相同还是不同。如果是这样,我如何解决这个问题?OneHot编码为每个类别或每个值创建二进制属性,一个属性等于1(否则为0)。一个属性等于1(热),而其他属性等于0(冷) 示例:- from sklearn.

我正在努力学习机器学习

我对一个热门编码有疑问:
我将一个数据集拆分为两张excel数据表。一张有列车,另一张有试验数据。我首先通过导入带有熊猫的列车数据表来训练我的模型。数据集中存在必须编码的分类特征。我对他们进行了一次热编码


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

OneHot编码为每个类别或每个值创建二进制属性,一个属性等于1(否则为0)。一个属性等于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中拟合的属性值是否相对接近。

您有两个单独的表(用于测试和训练数据集)。在将两张图纸导入pandas数据框后,必须对其分别进行热编码


是,对于相同的数据集,一个热编码将是相同的无论您在不同的数据表上应用,请确保您在每个数据表的该列中具有相同的分类值

您是如何执行一个热编码的。?手动或使用sklearn。?如果您的训练集/测试集在分类中包含不同的值,即您是一个热编码,那么您将返回不同的列。依我看,您可以选择一起对列车/测试进行编码,或者编写一个函数,将适当的虚拟列添加到您的热编码列车/测试集中。