Co zrobić, gdy dane testowe mają mniej funkcji niż dane treningowe?


10

Powiedzmy, że przewidujemy sprzedaż sklepu, a moje dane szkoleniowe mają dwa zestawy funkcji:

  • Jedna dotyczy sprzedaży w sklepie z datami (pole „Sklep” nie jest unikalne)
  • Jedna dotyczy typów sklepów (pole „Sklep” jest tutaj unikalne)

Zatem macierz wyglądałaby mniej więcej tak:

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

i

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

Druga matryca opisuje typ sklepu, grupy asortymentowe przedmiotów, które sprzedaje każda z nich, oraz odległość od najbliższego sklepu konkurencyjnego.

Ale w moich danych testowych mam informacje tylko w pierwszej macierzy bez pól Customersi Sales. Celem jest przewidzenie pola sprzedaży, biorąc pod uwagę

  • Sklep
  • Dzień tygodnia
  • Data
  • Otwórz (czy sklep jest otwarty)
  • Promocja (czy sklep ma promocję)
  • Święto państwowe (niezależnie od tego, czy jest to święto państwowe)

Mogę łatwo wyszkolić klasyfikatora na podstawie wypunktowanych pól powyżej, aby przewidzieć, Salesale jak mogę wykorzystać drugą macierz w moich danych treningowych, których nie uzyskałbym w danych testowych?

Czy logiczne jest założenie, że druga matryca dotycząca typów Store jest statyczna i mogę łatwo dołączyć ją do danych testowych?

Co się stanie, jeśli w moim zestawie funkcji danych testowych są dziury, powiedzmy, że w przypadku niektórych wierszy danych testowych nie mam wartości „Promo”.


Wiesz, że możesz o to zapytać na forum Kaggle, a już na nie odpowiedziano : kaggle.com/c/rossmann-store-sales/forums/t/17137/... i kaggle.com/c/rossmann-store-sales/forums / t / 16730 /…
Neil Slater,

Oooo, wybacz mi mój kaggle noobiness. Pierwszy raz kaggle bez trzymania mnie za ręce =)
alvas

1
Nie ma problemu. CustomersDanych jest bardzo charakterystyczne dla konkurencji. Jeśli nie masz pewności, jak ogólnie radzić sobie z brakującymi wartościami ML (takimi jak puste Promowartości), warto zmienić to pytanie, aby dotyczyło tylko tego problemu. Na tej stronie jest już kilka odpowiedzi na ten temat, np. Datascience.stackexchange.com/questions/8322/...
Neil Slater,

Odpowiedzi:



2

Myślę, że może występować problem w sposobie jego zgłaszania. Mówisz, że dane testowe nie mają dwóch pól, ale to nie może być poprawne.

Musisz wziąć wszystkie swoje dane i podzielić je na 2 grupy, zestaw treningowy i zestaw testowy. W proporcji 80% -20% lub 70% -30%. Następnie trenujesz algorytm z danymi w zestawie szkoleniowym i testujesz dokładność modelu z danymi w zestawie testowym.

Otrzymana dokładność to prawdopodobieństwo, że Twój model jest poprawny. Lub mówiąc inaczej, przy następnym użyciu modelu do przewidywania sprzedaży, dokładność to prawdopodobieństwo, że Twoja prognoza jest prawdziwa


Myślę, że wpadasz w pułapkę użycia przez OP terminu „dane testowe” i całkowicie
pomijasz
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.