首页 > 解决方案 > 新数据和训练数据集之间的不同形状

问题描述

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

    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) 的形状上训练的,并且这个**新数据在**应用编码后只有 (150, 28) 的形状pd.get_dummies

我知道将新数据与旧数据集合并不是解决方案。我有点卡住了,我不确定如何解决这个问题。有人有任何意见吗?谢谢

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

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

    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

标签: pythonpandasencodingclassificationshapes

解决方案


推荐阅读