Dane liczbowe: jak model pozyskuje dane za pomocą wektorów cech

Do tej pory mogliśmy dawać Ci wrażenie, że model działa bezpośrednio na wierszach zbioru danych. W rzeczywistości jednak modele przetwarzają dane w trochę inny sposób.

Załóżmy na przykład, że zbiór danych zawiera 5 kolumn, ale tylko 2 z nich (bd) są w tym modelu funkcjami. Czy podczas przetwarzania przykładu w wierszu 3 model po prostu pobiera zawartość dwóch wyróżnionych komórek (3b i 3d) w ten sposób?

Rysunek 1. Model pobierający przykład bezpośrednio ze zbioru danych.
            Kolumny b i d w wierszu 3 są wyróżnione.
Rysunek 1. Nie chodzi o to, w jaki sposób model uzyskuje przykłady.

Model przetwarza tablicę wartości zmiennoprzecinkowych, zwaną wektorem cech. Wektor cech możesz sobie wyobrazić jako wartości zmiennoprzecinkowe tworzące jeden przykład.

Rysunek 2.  Wektor cech jest pośrednikiem między zbiorem danych a modelem.
Rysunek 2. Bliżej prawdy, ale nierealistyczne.

Wektory cech rzadko jednak korzystają z wartości surowych zbioru danych. Zamiast tego zwykle trzeba przetworzyć wartości zbioru danych na reprezentacje, z których model może lepiej się uczyć. Bardziej realistyczny wektor cech może wyglądać tak:

Rysunek 3.  Wektor cech zawiera 2 wartości zmiennoprzecinkowe: 0,13 i 0,47. bardziej realistyczny wektor cech;
Rysunek 3. bardziej realistyczny wektor cech;

Czy model nie będzie lepiej prognozować, jeśli trenuje się na podstawie rzeczywistych wartości w zbiorze danych, a nie na podstawie wartości zmienionych? Odpowiedź brzmi: nie.

Musisz określić najlepszy sposób przedstawiania wartości nieprzetworzonych zbiorów danych jako wartości do trenowania we wektorze cech. Taki proces nazywa się inżynierią cech i jest kluczowym elementem uczenia maszynowego. Najczęstsze techniki inżynierii cech to:

  • Normalizacja: konwertowanie wartości liczbowych na zakres standardowy.
  • Binning (zwane też bucketingiem): konwertowanie wartości liczbowych na zbiory zakresów.

W tej jednostce omawiamy normalizację i binowanie. W następnej lekcji Praca z danymi kategorialnymi omawiamy inne formy wstępnego przetwarzania, np. konwersję danych nieliczbowych, takich jak ciągi znaków, na wartości zmiennoprzecinkowe.

Każda wartość w wektorze cech musi być wartością zmiennoprzecinkową. Jednak wiele funkcji to w istocie ciągi znaków lub inne wartości niebędące liczbami. W związku z tym większość procesów inżynierii cech polega na przedstawianiu wartości nienumerycznych jako wartości numerycznych. W kolejnych modułach będziesz to często robić.