Apa yang harus dilakukan ketika menguji data memiliki lebih sedikit fitur daripada data pelatihan?


10

Katakanlah kita memperkirakan penjualan toko dan data pelatihan saya memiliki dua set fitur:

  • Satu tentang penjualan toko dengan tanggal (bidang "Toko" tidak unik)
  • Satu tentang jenis toko (bidang "Toko" unik di sini)

Jadi matriksnya akan terlihat seperti ini:

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

dan

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

Matriks kedua menggambarkan jenis toko, kelompok bermacam-macam barang yang masing-masing dijual dan jarak dari toko pesaing terdekat.

Tetapi dalam data pengujian saya, saya hanya memiliki informasi dalam matriks pertama tanpa Customersdan Salesbidang. Tujuannya adalah untuk memprediksi bidang penjualan yang diberikan

  • Toko
  • Hari dalam seminggu
  • Tanggal
  • Buka (apakah toko terbuka)
  • Promo (apakah toko sedang promosi)
  • StateHoliday (apakah itu hari libur negara)

Saya dapat dengan mudah melatih classifier berdasarkan bidang berpoin di atas untuk memprediksi Salestetapi bagaimana saya bisa menggunakan matriks kedua dalam data pelatihan saya yang tidak akan saya dapatkan dalam data uji?

Apakah logis untuk berasumsi bahwa matriks kedua tentang tipe Store adalah statis dan saya dapat dengan mudah bergabung ke data uji?

Apa yang terjadi jika ada lubang di set fitur data pengujian saya, katakanlah untuk beberapa baris dalam data pengujian, saya tidak memiliki nilai "Promo".


Anda tahu Anda dapat menanyakan ini di forum Kaggle, dan sudah dijawab : kaggle.com/c/rossmann-store-sales/forums/t/17137/… dan kaggle.com/c/rossmann-store-sales/forums / t / 16730 / ...
Neil Slater

Oooo, maafkan ketakjubanku yang menakjubkan. Pertama kali kaggle tanpa ada yang memegang tangan saya =)
alvas

1
Tidak masalah. The Customersdata sangat spesifik untuk kompetisi. Jika Anda tidak yakin bagaimana menangani nilai yang hilang secara umum untuk ML (seperti Promonilai kosong ), mungkin ada baiknya mengubah pertanyaan ini hanya tentang masalah itu saja. Sudah ada beberapa jawaban tentang itu di situs ini, misalnya datasetcience.stackexchange.com/questions/8322/…
Neil Slater

Jawaban:



2

Saya pikir mungkin ada masalah dengan cara Anda menyatakan masalahnya. Anda mengatakan bahwa Anda menguji data tidak memiliki dua bidang, tetapi itu tidak benar.

Anda harus mengambil semua data Anda dan membaginya menjadi 2 kelompok, set pelatihan dan set tes. Dalam proporsi 80% -20% atau 70% -30%. Kemudian Anda melatih algoritma Anda dengan data di set pelatihan, dan menguji keakuratan model dengan data di set tes.

Akurasi yang Anda dapatkan adalah probabilitas bahwa model Anda benar. Atau dengan kata lain, lain kali Anda menggunakan model Anda untuk memprediksi penjualan, keakuratan adalah probabilitas bahwa prediksi Anda nyata.


Saya pikir Anda terjebak oleh penggunaan istilah "data uji" OP dan sepenuhnya kehilangan esensi dari pertanyaan ...
Patrick Coulombe
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.