Przygotowywanie zestawu danych do uczenia
Uczysz zestaw danych, aby uzyskać odpowiedź na pytanie uczenia maszynowego. Zestaw danych do uczenia zawiera kolumnę dla każdej cechy, a także kolumnę zawierającą cel. Algorytmy uczenia maszynowego uczą się z tych wierszy danych ogólnych wzorców, aby wygenerować model, który może przewidzieć cel.
Aby zestaw danych był gotowy do uczenia maszynowego, musisz zrozumieć swoje dane i zebrać niezbędne punkty danych. Może być również wymagane przekształcenie niektórych danych i usunięcie tych, które nie są istotne w danym przypadku.
Jakie dane należy gromadzić?
Dokładnie zdefiniuj pytanie dotyczące uczenia maszynowego i zdecyduj dokładnie, jakie dane należy zagregować, aby podejść do tego pytania:
-
Jeśli chcesz przewidzieć, którzy klienci odejdą, musisz zagregować zestaw danych, w którym każdy wiersz reprezentuje klienta, każda kolumna cechy reprezentuje cechę opisującą tego klienta, a kolumna celu określa, czy ten klient odszedł w określonym przedziale czasu.
-
Jeśli chcesz przewidzieć, jaka będzie sprzedaż w danym miesiącu i regionie, musisz zagregować zestaw danych, w którym każdy wiersz reprezentuje dany miesiąc dla danego regionu, każda kolumna cechy reprezentuje cechę opisującą obroty w tym miesiącu w danym regionie, a kolumna celu to przychody ze sprzedaży dla tego regionu w danym miesiącu.
Spróbuj się zorientować, jakie czynniki mogą mieć wpływ na cel, i sprawdź, czy dane te można zebrać. Pamiętaj, że algorytmy predykcyjne mogą identyfikować tylko takie wzorce, które można znaleźć. Być może trzeba zebrać lub utworzyć dodatkowe cechy, aby wyodrębnić dodatkowe informacje?
Musisz także określić, ile danych trzeba zgromadzić, zanim będzie można dokładnie przewidzieć wynik. Po jakim czasie zdarzenie staje się reprezentatywne? Rozważ następujące przykłady:
-
Klienci muszą być subskrybentami przez 60 dni, zanim będzie można przewidzieć, czy odejdą przed upływem 90 dni.
-
Koszt roszczeń ubezpieczeniowych nie będzie znany przez kilka miesięcy, więc możesz wykluczyć roszczenia mające niż sześć miesięcy.
Rozróżnij dane niestacjonarne od danych stacjonarnych. Czy w przypadku danych niestacjonarnych dane ze znacznikiem czasu mają być odpowiednio agregowane?
Czy dane będą dostępne w momencie dokonywania predykcji?
Wszystkie cechy uwzględnione w zestawie danych do uczenia muszą być dostępne również dla przyszłych predykcji. Częstym błędem jest uczenie modelu na cechach, które są dostępne dla danych historycznych, ale nie będą dostępne w momencie tworzenia predykcji w przyszłości. Podczas przewidywania nowych danych algorytm uczenia maszynowego musi mieć wartości wszystkich cech, które były dostępne w zestawie danych do uczenia.
Czy im więcej danych, tym lepiej?
Wielkość próbki
Większa ilość danych prowadzi zwykle do powstawania bardziej niezawodnych modeli. Pomocne są wszelkie dodatkowe istotne punkty danych, niezależnie od tego, czy są to obserwacje nowe, czy historyczne.
Liczba cech
Kuszące może być włączanie do modelu wszystkich możliwych zmiennych, bez względu na ich znaczenie dla docelowego wyniku. Zazwyczaj lepsze są modele prostsze. Z reguły lepiej jest używać w modelu mniejszej liczby cech.
Gdy cech będzie więcej, może istnieć większe ryzyko potencjalnego ukrycia prawdziwej bazowej relacji, którą chcesz odkryć. Model predykcyjny może wykorzystywać wszystkie cechy, aby opracować serię skomplikowanych reguł, które dają dobre wyniki na podstawie danych używanych do uczenia modelu. Jednak na przewidywany cel może mieć wpływ tylko jedna lub dwie cechy. Model może nie nadawać się do uogólniania danych spoza zestawu użytego do uczenia, co skutkowałoby słabą wydajnością predykcyjną w przypadku zastosowania do nowych danych.
Przetrenowanie
Przetrenowanie oznacza, że model jest zbyt złożony i w rezultacie niewiarygodny podczas przewidywania nowych danych. Do przetrenowania dochodzi zwykle wtedy, gdy istnieje zbyt wiele cech w stosunku do liczby dostępnych punktów danych. Na przykład możesz mieć w zestawie danych tylko 50 wierszy danych i 100 kolumn cech.
Czy Twoje dane do uczenia są istotne?
Algorytm uczenia maszynowego znajduje wzorce w danych, które mu przekazujesz, i wykorzystuje je do tworzenia predykcji na podstawie danych w przyszłości. Podczas dokonywania predykcji na podstawie nowych danych zakłada się, że są one podobne do danych użytych do uczenia. Z tego powodu ważne jest, aby zestaw danych do uczenia statystycznie przypominał dane, na podstawie których będziesz tworzyć predykcje.
Jeśli rynek lub działalność firmy zmieniły się znacząco w stosunku do tego, co opisuje Twój zestaw danych do uczenia, prawdopodobnie używasz nieaktualnego zestawu danych, który doprowadzi do niedokładnych predykcji. Być może trzeba będzie utworzyć nowy zestaw danych do uczenia i użyć tylko danych zebranych po wystąpieniu zmiany.
Rozważ przykład dotyczący prognoz sprzedaży w Na czym polega uczenie maszynowe. Załóżmy, że wprowadziliśmy do algorytmu dane reprezentujące wydatki na reklamę w telewizji, radiu i prasie, a także przychody ze sprzedaży w historycznych kwartałach biznesowych. Dane zebrano jednak w latach 80. XX wieku. Teraz nie reklamujemy już tego produktu w radiu, lecz prawie wyłącznie online. Nasz wyuczony algorytm słabo radziłby sobie z przewidywaniem sprzedaży w bieżącym kwartale biznesowym, ponieważ dane do uczenia nie są reprezentatywne dla bieżącej działalności.
Eksploracja danych
Wykorzystaj swoją wiedzę biznesową, aby zrozumieć i zweryfikować dane. Jeśli dane nie zgadzają się z Twoimi założeniami, czy może to oznaczać problemy z danymi czy z prawidłowością założenia?
Usuwanie niewiarygodnych cech
Rozważ wykluczenie ze zbioru danych kolumn, gdzie:
-
Występuje duża koncentracja jednej wartości (mała kardynalność). Na przykład kolumna z wartościami „czerwony”, „zielony”, „niebieski”, gdzie 90 procent wartości to „czerwony”.
-
Wartości są bardzo unikatowe (duża kardynalność).
-
Większość wartości to null.
Redukcja cech skorelowanych
Usuń zbędne cechy, takie jak ściśle skorelowane cechy, które dostarczają takich samych lub bardzo podobnych informacji. Rozważ wybranie pojedynczej cechy z grup, które wydają się rejestrować te same zachowania w danych. Spróbuj ustalić, czy istnieje cecha, która stymuluje inną.
Zastępowanie wartości null
Sprawdź, czy w kluczowych punktach danych, takich jak cel lub kluczowe cechy, brakuje wartości. Aby użyć wartości z rozrzedzonej kolumny, możesz zastąpić wartości null wartościami „inne” lub „nieznane”. Być może trzeba zweryfikować gromadzenie danych.
Zakres celu
Spójrz na rozkład danych. Jeśli dane celu są zbyt rozłożone w stosunku do wielkości próby, znalezienie jakiegokolwiek wzorca może być trudne.
Jaki jest zakres wartości danych? Z przewidywaniem wartości danych poza zakresem wiążą się pewne wyzwania. Więcej informacji: Ekstrapolacja i interpolacja.
Czy występują nieprawidłowości w rozkładzie? Skośność, ogony i wielomodalne kształty w danych mogą wymagać dodatkowej transformacji danych lub dalszej inżynierii cech. Spróbuj pogrupować kategorie o małej objętości i zaokrąglić lub usunąć ogony w cechach numerycznych.
Eliminacja wartości odstających
Rozważ usunięcie obserwacji z wartościami odstającymi w kolumnach cech. Wartości odstające mogą utrudniać algorytmowi rozpoznawanie ogólnych wzorców w danych. Być może lepiej będzie przyjrzeć się mniejszemu podzestawowi danych, który ma węższy rozrzut w kolumnie celu.
Grupowanie danych
Wyniki można poprawić, dzieląc dane na różne zestawy danych i używając ich do uczenia osobnych modeli. Oprzyj grupowanie danych na jednej lub kilku cechach.
Wyciek danych
Wyciek danych oznacza, że dane używane do uczenia algorytmu uczenia maszynowego zawierają informacje, które próbujesz przewidzieć.