Phải làm gì khi dữ liệu thử nghiệm có ít tính năng hơn dữ liệu huấn luyện?


10

Giả sử chúng tôi dự đoán doanh số của một cửa hàng và dữ liệu đào tạo của tôi có hai bộ tính năng:

  • Một về doanh số của cửa hàng với ngày (trường "Cửa hàng" không phải là duy nhất)
  • Một về các loại cửa hàng (trường "Cửa hàng" là duy nhất ở đây)

Vì vậy, ma trận sẽ trông giống như thế này:

+-------+-----------+------------+---------+-----------+------+-------+--------------+
| 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]

Ma trận thứ hai mô tả loại cửa hàng, các nhóm mặt hàng mà mỗi mặt hàng bán và khoảng cách từ cửa hàng đối thủ gần nhất.

Nhưng trong dữ liệu thử nghiệm của tôi, tôi chỉ có thông tin trong ma trận đầu tiên mà không có các trường CustomersSales. Mục đích là để dự đoán lĩnh vực bán hàng được đưa ra

  • Cửa hàng
  • Ngày trong tuần
  • Ngày
  • Mở (cho dù cửa hàng đang mở)
  • Khuyến mãi (cho dù cửa hàng đang có chương trình khuyến mãi)
  • StateHoliday (cho dù đó là một ngày lễ nhà nước)

Tôi có thể dễ dàng huấn luyện một trình phân loại dựa trên các trường được gạch đầu dòng ở trên để dự đoán Salesnhưng làm cách nào tôi có thể sử dụng ma trận thứ hai trong dữ liệu đào tạo của mình mà tôi sẽ không nhận được trong dữ liệu thử nghiệm?

Có hợp lý không khi cho rằng ma trận thứ hai về các loại Store là tĩnh và tôi có thể dễ dàng kết hợp nó với dữ liệu thử nghiệm?

Điều gì xảy ra nếu có lỗ hổng trong bộ tính năng dữ liệu thử nghiệm của tôi, giả sử đối với một số hàng trong dữ liệu thử nghiệm, tôi không có giá trị "Quảng cáo".


Bạn biết bạn có thể hỏi điều này trên diễn đàn Kaggle và nó đã được trả lời : kaggle.com/c/rossmann-store-sales/forums/t/17137/ phỏngkaggle.com/c/rossmann-store-sales/forums / t / 16730 / Nhận
Neil Slater

Oooo, tha thứ cho sự buồn nôn của tôi. Lần đầu tiên kaggle mà không có ai nắm tay tôi =)
alvas

1
Không vấn đề gì. Các Customersdữ liệu là rất cụ thể cho các đối thủ cạnh tranh. Nếu bạn không chắc chắn làm thế nào để xử lý các giá trị bị thiếu nói chung cho ML (chẳng hạn như Promocác giá trị trống ), có thể đáng để thay đổi câu hỏi này chỉ là về vấn đề đó. Đã có một số câu trả lời về điều đó trên trang web này, ví dụ: datascience.stackexchange.com/questions/8322/ mẹo
Neil Slater

Câu trả lời:



2

Tôi nghĩ rằng có thể có một vấn đề trong cách bạn nêu vấn đề. Bạn nói rằng bạn kiểm tra dữ liệu không có hai trường, nhưng điều đó không thể chính xác.

Bạn phải lấy tất cả dữ liệu của mình và chia thành 2 nhóm, tập huấn luyện và tập kiểm tra. Trong một tỷ lệ 80% -20% hoặc 70% -30%. Sau đó, bạn huấn luyện thuật toán của mình với dữ liệu trong tập huấn luyện và kiểm tra độ chính xác của mô hình với dữ liệu trong tập kiểm tra.

Độ chính xác bạn nhận được là xác suất mà mô hình của bạn là chính xác. Hay nói theo một cách khác, lần sau khi bạn sử dụng mô hình của mình để dự đoán bán hàng, độ chính xác là xác suất dự đoán của bạn là có thật


Tôi nghĩ rằng bạn đang bị sa lầy bởi việc OP sử dụng thuật ngữ "dữ liệu thử nghiệm" và hoàn toàn thiếu bản chất của câu hỏi ...
Patrick Coulombe
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.