假设我们正在预测一家商店的销售额,我的训练数据有两组特征:
- 一个关于日期的商店销售(“商店”字段不是唯一的)
- 关于商店类型的一种(“商店”字段在这里是唯一的)
所以矩阵看起来像这样:
+-------+-----------+------------+---------+-----------+------+-------+--------------+
| Store | DayOfWeek | Date | Sales | Customers | Open | Promo | StateHoliday |
+-------+-----------+------------+---------+-----------+------+-------+--------------+
| 1 | 5 | 2015-07-31 | 5263.0 | 555.0 | 1 | 1 | 0 |
| 2 | 5 | 2015-07-31 | 6064.0 | 625.0 | 1 | 1 | 0 |
| 3 | 5 | 2015-07-31 | 8314.0 | 821.0 | 1 | 1 | 0 |
| 4 | 5 | 2015-07-31 | 13995.0 | 1498.0 | 1 | 1 | 0 |
| 5 | 5 | 2015-07-31 | 4822.0 | 559.0 | 1 | 1 | 0 |
| 6 | 5 | 2015-07-31 | 5651.0 | 589.0 | 1 | 1 | 0 |
| 7 | 5 | 2015-07-31 | 15344.0 | 1414.0 | 1 | 1 | 0 |
| 8 | 5 | 2015-07-31 | 8492.0 | 833.0 | 1 | 1 | 0 |
| 9 | 5 | 2015-07-31 | 8565.0 | 687.0 | 1 | 1 | 0 |
| 10 | 5 | 2015-07-31 | 7185.0 | 681.0 | 1 | 1 | 0 |
+-------+-----------+------------+---------+-----------+------+-------+--------------+
[986159 rows x 4 columns]
和
+-------+-----------+------------+---------------------+
| Store | StoreType | Assortment | CompetitionDistance |
+-------+-----------+------------+---------------------+
| 1 | c | a | 1270 |
| 2 | a | a | 570 |
| 3 | a | a | 14130 |
| 4 | c | c | 620 |
| 5 | a | a | 29910 |
| 6 | a | a | 310 |
| 7 | a | c | 24000 |
| 8 | a | a | 7520 |
| 9 | a | c | 2030 |
| 10 | a | a | 3160 |
+-------+-----------+------------+---------------------+
[1115 rows x 4 columns]
第二个矩阵描述了商店类型、每个商品的分类组以及与最近的竞争对手商店的距离。
但是在我的测试数据中,我只有第一个矩阵中的信息,没有Customers
andSales
字段。目的是在给定的情况下预测销售领域
- 店铺
- 星期几
- 日期
- 营业(店铺是否营业)
- 促销(商店是否有促销)
- StateHoliday(是否为国定假日)
我可以轻松地根据上面的项目符号字段训练分类器进行预测Sales
,但是如何利用训练数据中我不会在测试数据中获得的第二个矩阵?
假设关于 Store 类型的第二个矩阵是静态的并且我可以轻松地将它加入到测试数据中是否合乎逻辑?
如果我的测试数据功能集中有漏洞会发生什么,比如说对于测试数据中的某些行,我没有“促销”值。