Inżynieria funkcji — Feature engineering

Inżynieria funkcji to proces wykorzystywania wiedzy dziedzinowej do wyodrębniania cech (charakterystyki, właściwości, atrybuty) z surowych danych .

Cechą jest własnością wspólną przez niezależne jednostki, na których analizy lub predykcji jest do zrobienia.

Funkcje są używane przez modele predykcyjne i wpływają na wyniki.

Inżynieria funkcji została wykorzystana w konkursach Kaggle i projektach uczenia maszynowego.

Proces

Proces inżynierii funkcji to:

  • Burza mózgów lub funkcje testowania ;
  • Decydowanie, jakie funkcje stworzyć;
  • Tworzenie funkcji;
  • Testowanie wpływu zidentyfikowanych cech na zadanie;
  • W razie potrzeby ulepszanie swoich funkcji;
  • Powtarzać.

Typowe cechy inżynieryjne

Poniższa lista zawiera kilka typowych sposobów projektowania przydatnych funkcji

  • Przekształcenia numeryczne (takie jak branie ułamków lub skalowanie)
  • Koder kategorii, taki jak koder jednorazowy lub docelowy (dla danych kategorycznych )
  • Grupowanie
  • Grupuj zagregowane wartości
  • Analiza głównych składowych (dla danych liczbowych)

Znaczenie

Funkcje mają różne znaczenie. Nawet stosunkowo nieistotne cechy mogą przyczynić się do powstania modelu. Wybór funkcji może zmniejszyć liczbę funkcji, aby zapobiec zbytniemu dostosowywania modelu do zestawu danych uczących (przekroczenie).

Eksplozja

Eksplozja cech występuje, gdy liczba zidentyfikowanych cech rośnie niewłaściwie. Najczęstsze przyczyny to:

  • Szablony funkcji — wdrażanie szablonów funkcji zamiast kodowania nowych funkcji
  • Kombinacje cech — kombinacje, które nie mogą być reprezentowane przez układ liniowy

Eksplozja funkcji może być ograniczona za pomocą technik takich jak: regularyzacja , metoda jądra i wybór funkcji .

Automatyzacja

Automatyzacja inżynierii funkcji to temat badawczy, którego początki sięgają lat 90-tych. Oprogramowanie do uczenia maszynowego, które obejmuje zautomatyzowaną inżynierię funkcji, jest dostępne na rynku od 2016 r. Powiązaną literaturę akademicką można z grubsza podzielić na dwa typy:

  • Wielorelacyjne drzewo decyzyjne (MRDTL) wykorzystuje nadzorowany algorytm, który jest podobny do drzewa decyzyjnego .
  • Deep Feature Synthesis wykorzystuje prostsze metody.

Uczenie wielorelacyjnych drzew decyzyjnych (MRDTL)

MRDTL generuje funkcje w postaci zapytań SQL poprzez sukcesywne dodawanie klauzul do zapytań. Na przykład algorytm może zacząć się od

SELECT COUNT(*) FROM ATOM t1 LEFT JOIN MOLECULE t2 ON t1.mol_id = t2.mol_id GROUP BY t1.mol_id

Zapytanie można następnie sukcesywnie udoskonalać, dodając warunki, takie jak „WHERE t1.charge <= -0,392”.

Jednak większość badań MRDTL opiera implementacje na relacyjnych bazach danych, co skutkuje wieloma nadmiarowymi operacjami. Te nadmiarowości można zredukować za pomocą sztuczek, takich jak propagacja identyfikatorów krotek. Wydajność można zwiększyć, stosując aktualizacje przyrostowe, co eliminuje nadmiarowość.

Synteza głębokich cech

Algorytm Deep Feature Synthesis pokonał w konkursie 615 z 906 zespołów ludzkich.

Biblioteki:

  • Narzędzia funkcji.
  • OneBM
  • EksplorujKit.

[OneBM] pomaga analitykom danych skrócić czas eksploracji danych, umożliwiając im wypróbowanie wielu pomysłów w krótkim czasie. Z drugiej strony umożliwia osobom niebędącym ekspertami, którzy nie są zaznajomieni z nauką o danych, szybkie wyodrębnienie wartości ze swoich danych przy niewielkim wysiłku, czasie i kosztach.

Sklepy z funkcjami

Magazyn funkcji obejmuje możliwość przechowywania kodu używanego do generowania funkcji, stosowania kodu do nieprzetworzonych danych i udostępniania tych funkcji modelom na żądanie. Przydatne możliwości obejmują przechowywanie wersji funkcji i zasady regulujące okoliczności, w których funkcje mogą być używane.

Sklepy z funkcjami mogą być samodzielnymi narzędziami programowymi lub wbudowanymi w platformy uczenia maszynowego. Na przykład Feast to sklep z funkcjami typu open source, podczas gdy platformy takie jak Uber Michelangelo wykorzystują sklepy z funkcjami jako komponent.

Zobacz też

Bibliografia

Dalsza lektura

  • Boehmkego, Bradleya; Greenwell, Brandon (2019). „Inżynieria cech i celów”. Praktyczne uczenie maszynowe z R . Chapmana i Halla. s. 41-75. Numer ISBN 978-1-138-49568-5.
  • Zheng, Alicja; Casari, Amanda (2018). Inżynieria funkcji dla uczenia maszynowego: zasady i techniki dla naukowców zajmujących się danymi . O'Reilly. Numer ISBN 978-1-4919-5324-2.
  • Zumel, Nina; Góra, Jan (2020). „Inżynieria danych i kształtowanie danych”. Praktyczna nauka o danych z R (wyd. 2). Załoga. s. 113–160. Numer ISBN 978-1-61729-587-4.