新数据和训练数据集之间的形状不同

时间:2019-12-03 13:45:57

标签: python pandas encoding classification shapes

我有一个数据框,看起来像下面的数据框。

    Spent      Products bought         Target Variable               
0   2300       Car/Mortgage/Leisure    0
1   1500       Car/Education           0
2   150        Groceries               1
3   700        Groceries/Education     1  
4   900        Mortgage                1
5   180        Education/Sports        1
6   1800       Car/Mortgage/Others     0
7   900        Sports/Groceries        1
8   1000       Self-Enrichment/Car     1
9   140        Car/Groceries           1

我使用pd.get_dummies对所有“购买的产品”列进行了热编码。 现在我的形状为(5000,150)

我训练/测试/分割数据,然后应用PCA。我fit_transform训练组,并且仅将transform应用于测试组。之后,我使用决策树分类器进行预测,从而获得90%的准确性。

现在问题来了。我有一组新数据。我知道我的模型是在(150)形状上训练的,并且此**新数据在使用pd.get_dummies编码后仅具有(150,28)形状

我知道将新数据与旧数据集合并不是解决方案。我有点被困住了,我不确定该如何解决。有人有意见吗?谢谢

编辑:我尝试重新索引新的数据集,但是没有用。在我的训练集的“购买的​​产品”列中,唯一变量更多,而在新数据集中,则更少。

新数据框看起来更像下面的数据框。

    Spent      Products bought         Target Variable               
0   230        Leisure                 1
1   150        Others                  1
2   100        Groceries               1
3   700        Education               1  
4   900        Mortgage                0
5   180        Education/Sports        1
6   1800       Car/Mortgage            0
7   400        Groceries               1
8   4000       Car                     1
9   140        Car/Groceries           1

0 个答案:

没有答案