Przygotowywanie danych

Kurs Przygotowanie danych i Inżynieria funkcji dla systemów uczących się obejmuje ogólne przygotowanie danych, ale ten kurs omawia przygotowywanie zadań w przypadku klastrów.

W klastrze obliczasz podobieństwo między 2 przykładami, łącząc wszystkie dane cech dla tych przykładów w wartości liczbowe. Łączenie danych cech wymaga skalowania tej samej skali. W tej sekcji opisujemy normalizację, przekształcanie i tworzenie kwantylów oraz wyjaśniamy, dlaczego kwantyl jest najlepszym wyborem w przypadku przekształcania danych. Wybór domyślny umożliwia przekształcenie danych bez sprawdzenia ich dystrybucji.

Normalizowanie danych

Możesz przekształcić dane z wielu funkcji na tę samą skalę, normalizując je. Normalizacja dobrze nadaje się do przetwarzania najczęstszej dystrybucji danych – rozkładu Gaussa. W porównaniu z kwantylami normalizacja wymaga znacznie mniejszej ilości danych. Znormalizuj dane, obliczając ich wynikz-score w następujący sposób:

\[x'=(x-\mu)/\sigma\\ \begin{align*} \text{where:}\quad \mu &= \text{mean}\\ \sigma &= \text{standard deviation}\\ \end{align*} \]

Przyjrzyjmy się podobieństwu między przykładami z normalizacją i bez niej. Na rysunku 1 widać, że czerwony jest bardziej podobny do niebieskiego niż żółtego. Funkcje na osiach X i Y nie są jednakowe. Zaobserwowane podobieństwo może więc być artefaktem nieskalowanych danych. Po znormalizowaniu za pomocą wyniku Z- wszystkie funkcje mają tę samą skalę. Teraz okazuje się, że czerwony bardziej przypomina żółty. Dlatego po znormalizowaniu danych możesz dokładniej obliczyć podobieństwo.

2 wykresy porównujące dane o funkcjach przed normalizacją i po jej normalizacji
Ilustracja 1. Porównanie danych o funkcjach przed i po normalizacji.

W skrócie zastosuj normalizację, gdy spełniony jest dowolny z tych warunków:

  • Twoje dane są rozproszone metodą Gaussa.
  • Zbiór danych nie dysponuje wystarczającą ilością danych do utworzenia kwantyfikatorów.

Korzystanie z przekształcenia logu

Zdarza się, że zbiór danych jest zgodny z prawem mocy, które zbiera dane na końcu ścieżki. Na rysunku 2 czerwony jest bliższy żółto niż niebieskim.

Wykres słupkowy przedstawiający większość danych z dołu
Ilustracja 2. Dystrybucja przepisów prawa

Przetwarzaj prawa autorskie przy użyciu przekształcenia logów. Na rysunku 3 przekształcenie logu zapewnia płynne rozłożenie, a czerwony jest zbliżony do niebieskiego niż żółtego.

Wykres przedstawiający rozkład normalny (Gaussian)
Ilustracja 3. Normalna dystrybucja Gaussa

Korzystanie z kwantyli

normalizacja i przekształcenia logów odpowiadają rozkładom konkretnych danych. Co w sytuacji, gdy dane nie są zgodne z dystrybucją Gaussa lub prawa przedsiębiorstwa? Czy jest jakieś ogólne podejście do każdej dystrybucji danych?

Spróbujmy wstępnie przetworzyć tę dystrybucję.

Wykres przedstawiający rozkład danych przed przetworzeniem
Ilustracja 4. Niemożliwy do wygenerowania rozkład przed rozpoczęciem przetwarzania danych

Jeśli 2 przykłady mają tylko kilka przykładów, są one podobne niezależnie od wartości. I na odwrót – jeśli 2 przykłady mają wiele przykładów, są one mniej podobne. Dlatego podobieństwo między dwoma przykładami zmniejsza się, wraz ze wzrostem liczby przykładów między nimi.

Normalizowanie danych po prostu odtwarza rozkład danych, ponieważ normalizacja jest liniowym przekształceniem. Zastosowanie przekształcenia logów nie odzwierciedla odczuć, jak działa podobieństwo, jak przedstawiono na rysunku 5 poniżej.

Wykres przedstawiający rozkład danych po przekształceniu logu
Ilustracja 5.Rozkład po przekształceniu logu

Zamiast tego podziel dane na przedziały, w których każdy przedział zawiera podobną liczbę przykładów. Te przedziały czasu są nazywane kwantylami.

Przekonwertuj dane na kwantyle, wykonując te czynności:

  1. Określ liczbę interwałów.
  2. Określ przedziały tak, aby każdy z nich miał taką samą liczbę przykładów.
  3. Zastąp każdy przykład indeksem interwału.
  4. Przenieś indeksy do tego samego zakresu co inne dane cech, skalując wartości indeksu do [0,1].
Wykres pokazujący dane po konwersji w kwantynach. Linia przedstawia 20 interwałów.]
Ilustracja 6.Rozkład po przeliczeniu na kwantyle

Po przekonwertowaniu danych na kwantylowe podobieństwo między dwoma przykładami jest odwrotnie określone proporcjonalnie do liczby przykładów w tych dwóch przykładach. Matematyka, gdzie „x” to dowolny przykład zbioru danych:

  • \(sim(A,B) \approx 1 − | \text{prob}[x > A] − \text{prob}[x > B] |\)
  • \(sim(A,B) \approx 1 − | \text{quantile}(A) − \text{quantile}(B) |\)

Kwantyle to najlepszy wybór domyślny do przekształcania danych. Aby jednak utworzyć kwantyle stanowiące wiarygodne wskaźniki bazowej dystrybucji danych, potrzebujesz wielu danych. Zgodnie z ogólną zasadą, aby utworzyć \(n\) kwantyl, musisz mieć co najmniej \(10n\) przykłady. Jeśli nie masz wystarczającej ilości danych, trzymaj się normalizacji.

Sprawdź swoją wiedzę

W przypadku poniższych pytań załóżmy, że masz wystarczającą ilość danych do utworzenia kwantyli.

Pytanie 1

Wykres przedstawiający 3 dystrybucje danych
Jak przetwarzasz tę dystrybucję danych?
Utwórz kwantyle.
Dobra odpowiedź. Dystrybucja nie jest zgodna ze standardową dystrybucją danych, więc należy utworzyć kwantyle.
normalizacja.
Zwykle normalizuje dane, jeśli:
  • Rozkład danych to Gaussian.
  • Masz wgląd w to, co oznaczają dane, co wskazuje, że nie należy ich przekształcać nielinearnie. W rezultacie unikniesz kwantyli i wybierzesz normalizację.
Nie dotyczy to żadnego z tych przypadków. Rozkład danych nie jest Gaussian, ponieważ nie jest symetryczny. Nie masz też wglądu w to, jak te wartości reprezentują świat.
Przekształć log.
Nie jest to najlepszy wybór, bo nie jest to idealny rozkład praw.

Pytanie 2

Wykres przedstawiający 3 dystrybucje danych
Jak przetwarzasz tę dystrybucję danych?
normalizacja.
Dobra odpowiedź. To jest rozkład Gaussa.
Utwórz kwantyle.
Źle. Jest to rozkład Gaussa, dlatego preferowanym przekształceniem jest normalizacja.
Przekształć log.
Źle. Zastosuj przekształcenie logu tylko do dystrybucji praw autorskich.

Brakujące dane

Jeśli zbiór danych zawiera przykłady z brakującymi wartościami dla określonej funkcji, ale te przykłady występują rzadko, możesz je usunąć. Jeśli często się to zdarzają, możemy całkowicie usunąć tę funkcję albo przewidzieć brakujące wartości z innych przykładów, korzystając z modelu systemów uczących się. Na przykład możesz wywnioskować brakujące dane liczbowe za pomocą modelu regresji wytrenowanego na podstawie istniejących danych cech.