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
对所有“购买的产品”列进行一次热编码。现在我的形状为 (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
解决方案
推荐阅读
- sql - 递归树作为新属性值子项中的列表(数组项)
- javascript - 如何更新所有html页面中的href链接?
- flutter - 在 ListView 中使用时,Flutter Stack 小部件的大小不正确
- flutter - 如何使小部件与 Flutter 中的屏幕一样宽?
- matlab - 如何在matlab中将两个等高线图叠加在一起?
- java - Java List.contains 对象具有双精度和容差
- image - 对带搜索引擎的图像数据库服务器的建议
- python - 按钮和标签不会显示在窗口中
- material-ui - Material UI 应用深色主题
- c - 将文件中的数字扫描到二维数组中