在训练/测试拆分之前或之后分解列?

时间:2020-07-11 17:40:25

标签: pandas machine-learning classification

我正在开发一个用于分类问题的神经网络。我有一个带有text id列的数据集,并使用pandas.factorize()函数将字符串id转换为int id。

我的名为“ customer_id”的文本ID列如下所示:

      customer_id   
0       Z59FTQD 
1       HMP29SK 
2       VPP29SK
3       VPP29SK 
.. .. .. .. .. 
1500    0JP2FAB
15001   ZJP29AK

使用后:

dataset['customer_num_id'] = pd.factorize(dataset['customer_id'])[0] + 1

创建一个名为“ customer_num_id”的新列以将字符串ID表示为要馈入我的神经网络模型的int值,我的新列如下所示:

      customer_id  customer_num_id  
0       Z59FTQD      1
1       HMP29SK      2
2       VPP29SK      3
3       VPP29SK      3
.. .. .. .. .. 
1500    0JP2FAB      1500
1501    ZJP29AK      1501

我想在大约80%的数据上训练我的模型,并在其余20%的数据上对其进行测试。

我的问题是:在将数据集分为训练集和测试集之前或之后,我应该分解数据集吗?

1 个答案:

答案 0 :(得分:0)

在将其分为测试和训练数据集之前,我会对其进行编码/分解。 这样,您可以确保两个拆分中的分解因子一致。

我也建议您调查sklearn.preprocessing.LabelEncoder