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 Customers
i 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ć, Sales
ale 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”.
Customers
Danych jest bardzo charakterystyczne dla konkurencji. Jeśli nie masz pewności, jak ogólnie radzić sobie z brakującymi wartościami ML (takimi jak pustePromo
wartoś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/...Odpowiedzi:
Skorzystaj z dodatkowych funkcji uczenia się bez nadzoru. Możesz cieszyć się podejściem Vladimira Vapnika w kontekście SVM, które nazywa uprzywilejowanym uczeniem się: Uczenie się z inteligentnym nauczycielem: kontrola podobieństwa i transfer wiedzy
źródło
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
źródło