Wprowadzenie do przekształcania danych

Inżynieria cech to proces określania funkcji, które mogą być przydatne podczas trenowania modelu, a następnie tworzenia tych cech przez przekształcanie nieprzetworzonych danych znalezionych w plikach dziennika i innych źródłach. W tej sekcji skupimy się na tym, kiedy i jak należy przekształcać dane liczbowe oraz kategorialne, a także w jaki sposób kompromisy.

Powody transformacji danych

Przekształcamy funkcje przede wszystkim z tych powodów:

  1. Obowiązkowe przekształcenia zapewniające zgodność z danymi. Przykłady:

    • Konwertuję funkcje nieliczbowe na liczbowe. Nie można mnożyć ciągów znaków w ciągu, więc musimy przekonwertować ciąg na postać liczbową.
    • Zmieniam rozmiar danych wejściowych na stały rozmiar. Modele liniowe i przekazywane sieci neuronowe mają stałą liczbę węzłów wejściowych, więc dane wejściowe muszą zawsze mieć ten sam rozmiar. Na przykład modele obrazów muszą zmieniać rozmiar obrazów w zbiorze danych na stały rozmiar.
  2. Opcjonalne przekształcenia jakościowe, które pomagają poprawić skuteczność modelu. Przykłady:

    • Tokenizacja lub małe litery w funkcjach tekstowych.
    • Znormalizowane funkcje liczbowe (większość modeli działa później lepiej).
    • Umożliwianie wprowadzania modeli nieliniowych do przestrzeni cech.

Mówiąc ściśle, zmiany jakości nie są niezbędne – w takim przypadku model może być nadal używany bez nich. Jednak zastosowanie tych technik umożliwi modelowi uzyskiwanie lepszych wyników.

Gdzie przeprowadzić transformację?

Przekształcenia możesz zastosować podczas generowania danych na dysku lub w modelu.

Przekształcanie przed treningiem

W ramach tej metody przeprowadzamy transformację przed trenowaniem. Ten kod jest oddzielny od Twojego modelu systemów uczących się.

Zalety

  • Obliczanie odbywa się tylko raz.
  • Przetwarzanie pozwala przeanalizować cały zbiór danych, aby określić przekształcenie.

Wady

  • Przekształcenia należy odtworzyć w czasie prognozowania. Uważaj na zniekształcenie?
  • Wszelkie zmiany przekształcania wymagają ponownego wygenerowania danych, co prowadzi do wolniejszych iteracji.

W przypadku wyświetlania reklam online zniekształcenie jest bardziej niebezpieczne. W trybie offline możesz użyć kodu, który generuje dane treningowe. W obszarze udostępniania online kod, który tworzy zbiór danych i kod używany do obsługi rzeczywistego ruchu, jest niemal taki sam, co ułatwia wprowadzenie odchylenia.

Przekształcanie w ramach modelu

Podejście takie jest częścią kodu modelu. Model przyjmuje nieprzekształcone dane jako dane wejściowe i przekształca je w modelu.

Zalety

  • Łatwe iteracje. Jeśli zmienisz przekształcenia, nadal możesz używać tych samych plików danych.
  • Gwarantujesz te same przekształcenia podczas trenowania i prognozowania.

Wady

  • Drogie przekształcenia mogą zwiększać opóźnienie modelu.
  • Przekształcenia dotyczą każdej grupy.

Istnieje wiele kwestii dotyczących przekształcania na grupę. Załóżmy, że chcesz znormalizować funkcję według jej średniej wartości, czyli zmienić wartości cech na średnią 0 i odchylenie standardowe 1. Podczas przekształcania w modelu ta normalizacja będzie miała dostęp tylko do jednej grupy danych, a nie do całego zbioru danych. Możesz normalizować wartość według średniej wartości w grupie (niebezpieczna, jeśli grupy są bardzo zróżnicowane) lub obliczyć wartość średnią i poprawić ją jako stałą w modelu. Normalizację omówimy w następnej sekcji.

Przeglądaj, oczyszczaj i wizualizuj swoje dane

Przeglądaj i czyść dane, zanim wprowadzisz w nich przekształcenia. Podczas zbierania i tworzenia zbioru danych możesz wykonać niektóre z tych zadań:

  • Przeanalizuj kilka wierszy danych.
  • sprawdzać podstawowe statystyki;
  • Napraw brakujące pozycje liczbowe.

Często wizualizuj dane. Wykresy mogą pomóc w wychwyceniu anomalii lub wzorców, których nie da się rozróżnić w statystykach. Zanim przejdziesz do analizy, przeanalizuj dane przedstawione w postaci wykresów punktowych lub histogramów. Możesz wyświetlać wykresy nie tylko na początku potoku, ale także podczas transformacji. Wizualizacje pomogą Ci stale sprawdzać założenia i obserwować efekty istotnych zmian.