Cosa fare quando i dati di test hanno meno funzioni rispetto ai dati di training?


10

Supponiamo di prevedere le vendite di un negozio e che i miei dati di formazione abbiano due serie di funzionalità:

  • Uno sulle vendite del negozio con le date (il campo "Negozio" non è unico)
  • Uno sui tipi di negozi (il campo "Store" è unico qui)

Quindi la matrice sarebbe simile a questa:

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

e

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

La seconda matrice descrive il tipo di negozio, i gruppi di assortimento di articoli venduti da ciascuno di essi e la distanza dal negozio della concorrenza più vicino.

Ma nei miei dati di test, ho solo informazioni nella prima matrice senza i campi Customerse Sales. L'obiettivo è quello di prevedere il campo di vendita dato il

  • Memorizzare
  • Giorno della settimana
  • Data
  • Apri (se il negozio è aperto)
  • Promo (se il negozio ha una promozione)
  • StateHoliday (sia che si tratti di una festa di stato)

Posso facilmente addestrare un classificatore basato sui campi puntati sopra per prevedere, Salesma come posso utilizzare la seconda matrice nei miei dati di allenamento che non vorrei ottenere nei dati di test?

È logico supporre che la seconda matrice relativa ai tipi di Store sia statica e che possa facilmente unirla ai dati di test?

Cosa succede se ci sono buchi nel mio set di funzionalità dei dati di test, diciamo per alcune righe nei dati di test, non ho i valori "Promo".


Sai che puoi chiedere questo sul forum di Kaggle, ed è già una risposta : kaggle.com/c/rossmann-store-sales/forums/t/17137/… e kaggle.com/c/rossmann-store-sales/forums / t / 16730 /…
Neil Slater,

Oooo, scusa la mia fragorosa rumorosità. Kaggle per la prima volta senza che nessuno mi tenga le mani =)
alvas il

1
Nessun problema. I Customersdati sono molto specifici per la concorrenza. Se non sei sicuro di come gestire i valori mancanti in generale per ML (come i Promovalori vuoti ), potrebbe valere la pena di cambiare questa domanda per riguardare solo quel problema. Ci sono già alcune risposte al riguardo su questo sito, ad esempio datascience.stackexchange.com/questions/8322/…
Neil Slater,

Risposte:



2

Penso che potrebbe esserci un problema nel modo in cui stai affermando il problema. Dici che i dati dei test non hanno due campi, ma ciò non può essere corretto.

Devi prendere tutti i tuoi dati e dividerli in 2 gruppi, il set di allenamento e il set di test. In una percentuale dell'80% -20% o del 70% -30%. Quindi si allena l'algoritmo con i dati nel set di addestramento e si verifica l'accuratezza del modello con i dati nel set di test.

L'accuratezza che ottieni è la probabilità che il tuo modello sia corretto. O detto in un altro modo, la prossima volta che usi il tuo modello per prevedere una vendita, l'accuratezza è la probabilità che la tua previsione sia reale


Penso che ti stia impantanando nell'uso del termine "dati di test" da parte di OP e ti manchi completamente l'essenza della domanda ...
Patrick Coulombe,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.