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

Do tej pory mieliśmy wrażenie, że model działa bezpośrednio na wiersze zbioru danych; ale modele przetwarzają dane w nieco inny sposób.

Załóżmy na przykład, że zbiór danych zawiera pięć kolumn, z których tylko dwie kolumny (b i d) to cechy modelu. Podczas przetwarzania przykład w wierszu 3, czy model po prostu pobiera zawartość zaznaczono dwie komórki (3b i 3d) w następujący sposób?

Rysunek 1. Model pozyskujący przykład bezpośrednio ze zbioru danych.
            Zaznaczone są kolumny b i d w wierszu 3.
Rysunek 1. Niezupełnie tak, jak model otrzymuje przykłady.

W rzeczywistości model pozyskuje tablicę wartości zmiennoprzecinkowych o nazwie wektor cech. Możesz myśleć, wektora cech jako wartości zmiennoprzecinkowe stanowiące 1 przykład.

Rysunek 2.  Wektor cech pośredniczy między zbiorem danych
            i modelu.
Rysunek 2. Bardziej zbliżone do prawdy, ale nierealistyczne.

Jednak wektory cech rzadko korzystają z nieprzetworzonych wartości zbioru danych. Zamiast tego musisz zwykle przetworzyć wartości zbioru danych na reprezentacje których model może się lepiej uczyć. Bardziej realistyczne wektor cech może wyglądać mniej więcej 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 wygenerowałby lepszych prognoz przez trenowanie na podstawie faktyczne wartości w zbiorze danych niż wartości z zmienionych wartości? Co zaskakujące, odpowiedź brzmi: nie.

Musisz określić najlepszy sposób reprezentowania nieprzetworzonych wartości zbioru danych jako możliwego do trenowania w wektorze cech. Ten proces nazywa się inżynieria cech, To istotna część systemów uczących się. Najczęstsze techniki inżynierii cech to:

  • Normalizacja: konwertowanie do standardowego zakresu.
  • Binning (nazywany też bucketing): konwertowanie wartości liczbowych w zasobnikach zakresów.

W tym przewodniku omawiamy normalizację i łączenie. Kolejna część, Korzystanie z danych kategorialnych obejmuje inne formy wstępnego przetwarzania, takich jak konwertowania danych nieliczbowych, takich jak ciągi znaków, na wartości zmiennoprzecinkowe.

Każda wartość w wektorze cech musi być wartością zmiennoprzecinkową. Jednak wielu z nich funkcje są naturalnymi ciągami znaków lub innymi wartościami nieliczbowymi. W związku z tym znaczna część inżynierii cech jest przedstawiana jako wartości nieliczbowe jako wartości liczbowe. W kolejnych modułach przedstawimy wiele tego rodzaju zmian.