Naucz się inżynierii funkcji w zakresie analityki danych i uczenia maszynowego w 5 minut

Czy jesteś gotowy, aby nauczyć się inżynierii funkcji na potrzeby uczenia maszynowego i analityki danych? Jesteś we właściwym miejscu!

Inżynieria funkcji to kluczowa umiejętność wydobywania cennych spostrzeżeń z danych. W tym krótkim przewodniku podzielę ją na proste, zrozumiałe fragmenty. Przejdźmy więc od razu do rzeczy i rozpocznijmy swoją podróż do opanowania ekstrakcji funkcji!

Co to jest inżynieria cech?

Tworząc model uczenia maszynowego powiązany z problemem biznesowym lub eksperymentalnym, dostarczasz dane uczące w kolumnach i wierszach. W dziedzinie nauki o danych i rozwoju uczenia maszynowego kolumny są znane jako atrybuty lub zmienne.

Dane szczegółowe lub wiersze poniżej tych kolumn nazywane są obserwacjami lub instancjami. Kolumny lub atrybuty są elementami surowego zbioru danych.

Te surowe funkcje nie są wystarczające ani optymalne do trenowania modelu uczenia maszynowego. Aby zredukować szum zebranych metadanych i zmaksymalizować unikalne sygnały z funkcji, należy przekształcić lub przekonwertować kolumny metadanych na funkcje funkcjonalne poprzez inżynierię funkcji.

Przykład 1: Modelowanie finansowe

Surowe dane do szkolenia modelu ML

Na przykład na powyższym obrazie przykładowego zbioru danych kolumny od A do G to cechy. Wartości lub ciągi tekstowe w każdej kolumnie wzdłuż wierszy, takie jak nazwiska, kwota depozytu, lata depozytu, stopy procentowe itp., są obserwacjami.

W modelowaniu ML należy usuwać, dodawać, łączyć lub przekształcać dane, aby utworzyć znaczące funkcje i zmniejszyć rozmiar ogólnej bazy danych szkoleniowej modelu. To jest inżynieria funkcji.

Przykład inżynierii cech

W tym samym zbiorze danych, o którym mowa wcześniej, funkcje takie jak całkowity staż i kwota odsetek są niepotrzebnymi danymi wejściowymi. Zajmą one po prostu więcej miejsca i zmylą model ML. Można zatem zredukować dwie funkcje z siedmiu funkcji.

Ponieważ bazy danych w modelach ML zawierają tysiące kolumn i miliony wierszy, ograniczenie dwóch funkcji ma duży wpływ na projekt.

Przykład 2: Tworzenie list odtwarzania muzyki AI

Czasami można utworzyć zupełnie nową funkcję z wielu istniejących funkcji. Załóżmy, że tworzysz model sztucznej inteligencji, który automatycznie utworzy listę odtwarzania muzyki i utworów według wydarzenia, gustu, trybu itp.

Zebrałeś teraz dane o piosenkach i muzyce z różnych źródeł i stworzyłeś następującą bazę danych:

W powyższej bazie danych znajduje się siedem obiektów. Ponieważ jednak Twoim celem jest wytrenowanie modelu ML w celu decydowania, który utwór lub muzyka jest odpowiednia dla danego wydarzenia, możesz połączyć funkcje, takie jak gatunek, ocena, rytm, tempo i prędkość, w nową funkcję o nazwie Możliwość zastosowania.

Teraz, dzięki specjalistycznej wiedzy lub identyfikacji wzorców, możesz połączyć pewne wystąpienia funkcji, aby określić, który utwór jest odpowiedni na dane wydarzenie. Na przykład obserwacje takie jak Jazz, 4.9, X3, Y3 i Z1 mówią modelowi ML, że piosenka Cras maximus justo et powinna znajdować się na liście odtwarzania użytkownika, jeśli szuka on utworu na sen.

Rodzaje funkcji w uczeniu maszynowym

Cechy kategoryczne

Są to atrybuty danych reprezentujące odrębne kategorie lub etykiety. Tego typu należy używać do oznaczania jakościowych zbiorów danych.

#1. Porządkowe cechy kategoryczne

Funkcje porządkowe mają kategorie o znaczącej kolejności. Na przykład poziomy wykształcenia, takie jak szkoła średnia, licencjat, magister itp., charakteryzują się wyraźnym rozróżnieniem w standardach, ale nie ma różnic ilościowych.

#2. Nominalne cechy kategoryczne

Cechy nominalne to kategorie bez żadnego wewnętrznego porządku. Przykładami mogą być kolory, kraje lub rodzaje zwierząt. Poza tym istnieją tylko różnice jakościowe.

Funkcje tablicowe

Ten typ funkcji reprezentuje dane zorganizowane w tablice lub listy. Analitycy danych i programiści ML często używają funkcji Array do obsługi sekwencji lub osadzania danych kategorycznych.

#1. Osadzanie funkcji tablicy

Osadzanie tablic konwertuje dane kategoryczne na gęste wektory. Jest powszechnie stosowany w systemach przetwarzania i rekomendacji języka naturalnego.

#2. Lista funkcji tablicy

Tablice list przechowują sekwencje danych, takie jak listy elementów w kolejności lub historię działań.

Funkcje numeryczne

Te funkcje szkoleniowe ML są używane do wykonywania operacji matematycznych, ponieważ te funkcje reprezentują dane ilościowe.

#1. Przedziałowe funkcje liczbowe

Funkcje interwałowe mają stałe odstępy między wartościami, ale nie mają prawdziwego punktu zerowego — na przykład dane z monitorowania temperatury. Tutaj zero oznacza temperaturę zamarzania, ale atrybut nadal tam jest.

#2. Stosunkowe cechy numeryczne

Funkcje proporcji mają stałe odstępy między wartościami a prawdziwym punktem zerowym. Przykładami mogą być wiek, wzrost i dochód.

Znaczenie inżynierii cech w ML i nauce danych

  • Efektywna ekstrakcja cech poprawia dokładność modelu, czyniąc prognozy bardziej wiarygodnymi i cennymi przy podejmowaniu decyzji.
  • Staranny wybór funkcji eliminuje nieistotne lub zbędne atrybuty, upraszczając modele i oszczędzając zasoby obliczeniowe.
  • Dobrze zaprojektowane funkcje ujawniają wzorce danych, pomagając analitykom danych w zrozumieniu złożonych relacji w zbiorze danych.
  • Dostosowanie funkcji do określonych algorytmów może zoptymalizować wydajność modelu w ramach różnych metod uczenia maszynowego.
  • Dobrze zaprojektowane funkcje prowadzą do szybszego uczenia modeli i niższych kosztów obliczeniowych, usprawniając przepływ pracy ML.
  • Następnie przeanalizujemy krok po kroku proces inżynierii cech.

    Proces inżynierii funkcji krok po kroku

  • Zbieranie danych: początkowy krok polega na zebraniu surowych danych z różnych źródeł, takich jak bazy danych, pliki lub interfejsy API.
  • Czyszczenie danych: Po uzyskaniu danych należy je wyczyścić, identyfikując i naprawiając wszelkie błędy, niespójności lub wartości odstające.
  • Obsługa brakujących wartości: Brakujące wartości mogą zakłócić magazyn funkcji modelu ML. Jeśli je zignorujesz, Twój model będzie stronniczy. Musisz zatem przeprowadzić więcej badań, aby wprowadzić brakujące wartości lub ostrożnie je pominąć, nie wpływając na model z uprzedzeniami.
  • Kodowanie zmiennych kategorycznych: należy przekonwertować zmienne kategoryczne na format liczbowy na potrzeby algorytmów uczenia maszynowego.
  • Skalowanie i normalizacja: Skalowanie zapewnia, że ​​cechy numeryczne mają spójną skalę. Zapobiega dominacji funkcji o dużych wartościach w modelu uczenia maszynowego.
  • Wybór funkcji: ten krok pomaga zidentyfikować i zachować najbardziej istotne funkcje, zmniejszając wymiarowość i poprawiając wydajność modelu.
  • Tworzenie funkcji: czasami można opracować nowe funkcje na podstawie istniejących, aby uchwycić cenne informacje.
  • Transformacja funkcji: Techniki transformacji, takie jak logarytmy lub transformacje potęgowe, mogą sprawić, że dane będą bardziej przydatne do modelowania.
  • Następnie omówimy metody inżynierii cech.

    Metody inżynierii cech

    #1. Analiza głównych składowych (PCA)

    PCA upraszcza złożone dane, znajdując nowe, nieskorelowane funkcje. Nazywa się je głównymi składnikami. Można go użyć do zmniejszenia wymiarowości i poprawy wydajności modelu.

    #2. Cechy wielomianowe

    Tworzenie funkcji wielomianowych oznacza dodawanie mocy istniejących funkcji w celu uchwycenia złożonych relacji w danych. Pomaga Twojemu modelowi zrozumieć wzorce nieliniowe.

    #3. Obsługa wartości odstających

    Wartości odstające to nietypowe punkty danych, które mogą mieć wpływ na wydajność modeli. Aby zapobiec wypaczonym wynikom, należy identyfikować wartości odstające i zarządzać nimi.

    #4. Przekształcenie dziennika

    Transformacja logarytmiczna może pomóc w normalizacji danych o rozkładzie skośnym. Zmniejsza wpływ wartości ekstremalnych, dzięki czemu dane są bardziej przydatne do modelowania.

    #5. t-rozproszone stochastyczne osadzanie sąsiada (t-SNE)

    t-SNE jest przydatny do wizualizacji danych wielowymiarowych. Zmniejsza wymiarowość i sprawia, że ​​klastry są bardziej widoczne, zachowując jednocześnie strukturę danych.

    W tej metodzie ekstrakcji cech punkty danych są przedstawiane jako kropki w przestrzeni o niższych wymiarach. Następnie umieszcza się podobne punkty danych w oryginalnej przestrzeni wielowymiarowej i modeluje się je tak, aby znajdowały się blisko siebie w reprezentacji niskowymiarowej.

    Różni się od innych metod redukcji wymiarowości zachowaniem struktury i odległości między punktami danych.

    #6. Jedno-gorące kodowanie

    Kodowanie One-Hot przekształca zmienne kategoryczne w format binarny (0 lub 1). Otrzymujesz więc nowe kolumny binarne dla każdej kategorii. Kodowanie typu „one-hot” sprawia, że ​​dane kategoryczne są odpowiednie dla algorytmów ML.

    #7. Kodowanie zliczeniowe

    Kodowanie Count zastępuje wartości kategoryczne liczbą ich występowania w zbiorze danych. Może przechwytywać cenne informacje ze zmiennych kategorycznych.

    W tej metodzie inżynierii cech częstotliwość lub liczba każdej kategorii jest używana jako nowa cecha liczbowa, zamiast używać oryginalnych etykiet kategorii.

    #8. Standaryzacja funkcji

    Cechy większych wartości często dominują nad cechami małych wartości. Zatem model ML może łatwo zostać obciążony. Standaryzacja zapobiega takim przyczynom błędów w modelu uczenia maszynowego.

    Proces normalizacji zazwyczaj obejmuje następujące dwie popularne techniki:

    • Standaryzacja Z-Score: Ta metoda przekształca każdą cechę tak, aby jej średnia (średnia) wynosiła 0, a odchylenie standardowe wynosiło 1. W tym przypadku odejmuje się średnią cechy od każdego punktu danych i dzieli wynik przez odchylenie standardowe.
    • Skalowanie min.-maks.: Skalowanie min.-maks. przekształca dane w określony zakres, zazwyczaj od 0 do 1. Można to osiągnąć, odejmując minimalną wartość cechy od każdego punktu danych i dzieląc przez zakres.

    #9. Normalizacja

    Poprzez normalizację cechy numeryczne są skalowane do wspólnego zakresu, zwykle od 0 do 1. Zachowuje to względne różnice między wartościami i zapewnia, że ​​wszystkie cechy mają równe szanse.

    #1. Narzędzia funkcji

    Narzędzia funkcji to framework Pythona typu open source, który automatycznie tworzy funkcje na podstawie tymczasowych i relacyjnych zbiorów danych. Można go używać z narzędziami, których już używasz do opracowywania potoków uczenia maszynowego.

    Rozwiązanie wykorzystuje głęboką syntezę cech do automatyzacji inżynierii cech. Posiada bibliotekę funkcji niskiego poziomu do tworzenia funkcji. Featuretools posiada również API, które jest również idealne do precyzyjnego zarządzania czasem.

    #2. CatBoost

    Jeśli szukasz biblioteki typu open source, która łączy wiele drzew decyzyjnych w celu stworzenia potężnego modelu predykcyjnego, sięgnij po nią CatBoost. To rozwiązanie zapewnia dokładne wyniki przy domyślnych parametrach, dzięki czemu nie musisz spędzać godzin na dostrajaniu parametrów.

    CatBoost umożliwia także wykorzystanie czynników nieliczbowych w celu poprawy wyników treningu. Dzięki niemu możesz także spodziewać się dokładniejszych wyników i szybszych przewidywań.

    #3. Silnik funkcji

    Silnik funkcji to biblioteka języka Python z wieloma transformatorami i wybranymi funkcjami, których można używać w modelach ML. Transformatory, które zawiera, mogą być używane do transformacji zmiennych, tworzenia zmiennych, funkcji daty i godziny, przetwarzania wstępnego, kodowania kategorycznego, ograniczania lub usuwania wartości odstających oraz przypisywania brakujących danych. Jest w stanie automatycznie rozpoznawać zmienne numeryczne, jakościowe i datetime.

    Zasoby edukacyjne dotyczące inżynierii funkcji

    Kursy online i zajęcia wirtualne

    #1. Inżynieria funkcji dla uczenia maszynowego w Pythonie: Datacamp

    Ten obóz danych kurs Inżynierii Cech w Uczeniu Maszynowym w Pythonie umożliwia tworzenie nowych funkcji, które poprawiają wydajność modelu uczenia maszynowego. Nauczy Cię inżynierii funkcji i przetwarzania danych w celu tworzenia zaawansowanych aplikacji ML.

    #2. Inżynieria funkcji dla uczenia maszynowego: Udemy

    Z Kurs Inżynieria funkcji dla uczenia maszynowegopoznasz takie tematy, jak imputacja, kodowanie zmiennych, ekstrakcja cech, dyskretyzacja, funkcjonalność daty i godziny, wartości odstające itp. Uczestnicy nauczą się także pracować ze zmiennymi wypaczonymi i radzić sobie z rzadkimi, niewidocznymi i rzadkimi kategoriami.

    #3. Inżynieria funkcji: Pluralsight

    Ten Wielowzroczność ścieżka edukacyjna obejmuje łącznie sześć kursów. Kursy te pomogą Ci poznać znaczenie inżynierii funkcji w przepływie pracy ML, sposobów stosowania jej technik oraz ekstrakcji funkcji z tekstu i obrazów.

    #4. Wybór funkcji uczenia maszynowego: Udemy

    Z pomocą tego Udemy Podczas kursu uczestnicy mogą nauczyć się tasowania funkcji, filtrowania, opakowywania i metod osadzonych, rekursywnej eliminacji funkcji i wyszukiwania wyczerpującego. Omówiono także techniki selekcji cech, w tym te z wykorzystaniem Pythona, Lasso i drzew decyzyjnych. Kurs zawiera 5,5 godziny filmów na żądanie i 22 artykuły.

    #5. Inżynieria funkcji w uczeniu maszynowym: świetna nauka

    Ten kurs od Wielka nauka wprowadzi Cię w inżynierię funkcji, ucząc Cię o nadmiernym i niedostatecznym próbkowaniu. Ponadto umożliwi Ci wykonanie praktycznych ćwiczeń związanych ze strojeniem modelu.

    #6. Inżynieria funkcji: Coursera

    Dołącz Kursra kurs korzystania z BigQuery ML, Keras i TensorFlow do wykonywania inżynierii funkcji. Ten kurs na poziomie średniozaawansowanym obejmuje również zaawansowane praktyki inżynierii funkcji.

    Książki w wersji cyfrowej lub w twardej oprawie

    #1. Inżynieria funkcji dla uczenia maszynowego

    Z tej książki dowiesz się, jak przekształcać funkcje w formaty na potrzeby modeli uczenia maszynowego.

    Uczy także zasad inżynierii funkcji i praktycznego zastosowania poprzez ćwiczenia.

    #2. Inżynieria cech i selekcja

    Czytając tę ​​książkę, poznasz metody opracowywania modeli predykcyjnych na różnych etapach.

    Można się z niego nauczyć technik znajdowania najlepszych reprezentacji predyktorów do modelowania.

    #3. Inżynieria funkcji stała się prosta

    Książka jest przewodnikiem po zwiększaniu mocy przewidywania algorytmów uczenia maszynowego.

    Uczy projektowania i tworzenia wydajnych funkcji dla aplikacji opartych na uczeniu maszynowym, oferując dogłębny wgląd w dane.

    #4. Obóz książkowy dotyczący inżynierii funkcji

    W tej książce zawarto praktyczne studia przypadków, dzięki którym nauczysz się technik inżynierii funkcji zapewniających lepsze wyniki uczenia maszynowego i ulepszone przetwarzanie danych.

    Przeczytanie tego sprawi, że będziesz w stanie uzyskać lepsze wyniki bez poświęcania dużej ilości czasu na dostrajanie parametrów ML.

    #5. Sztuka inżynierii cech

    Zasób jest niezbędnym elementem dla każdego analityka danych i inżyniera uczenia maszynowego.

    W książce zastosowano podejście międzydziedzinowe do omówienia wykresów, tekstów, szeregów czasowych, obrazów i studiów przypadków.

    Wniosek

    W ten sposób można przeprowadzić inżynierię cech. Teraz, gdy znasz już definicję, etapowy proces, metody i zasoby edukacyjne, możesz wdrożyć je w swoich projektach ML i zobaczyć sukces!

    Następnie zapoznaj się z artykułem na temat uczenia się przez wzmacnianie.