我有一家电信公司的数据集,具有很多分类功能。我使用pandas.get_dummies
方法通过drop_first=True
选项将它们转换为一种热编码格式。现在,我该如何使用预测函数,需要以相同的方式对测试输入数据进行编码,因为drop_first = True选项还删除了一些列,如何确保以类似的方式进行编码。
编码前的数据集形状:(7043, 21)
编码后的数据集形状:(7043, 31)
答案 0 :(得分:0)
如果不使用drop_first=True
,则有两个选择:
在训练和测试集中分割数据之前执行一键编码。 (或合并数据集,执行一次热编码,然后再次拆分数据集。)
在进行一键编码后对齐数据集:内部联接将删除其中一组不存在的功能(无论如何它们将无用)。 train, test = train.align(test, join='inner', axis=1)
您(正确地)注意到方法2可能无法达到预期效果,因为您正在使用drop_first=True
。因此,您将剩下方法1。