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

2024-04-27 07:26:27 发布

您现在位置:Python中文网/ 问答频道 /正文

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

    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对所有“购买的产品”列进行了热编码现在我的形状是(5000150)

我训练/测试/分割我的数据,然后应用PCA。Ifit_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

Tags: 数据targetcarvariableproductspd形状sports