Eliminacja funkcji rekurencyjnych: co to jest i dlaczego ma znaczenie?

Opublikowany: 2023-03-27

Dane są podstawą współczesnego procesu decyzyjnego, a firmy zawsze szukają sposobów na wydobycie z nich cennych informacji. Uczenie maszynowe to jedna z najpowszechniejszych technik stosowanych w organizacjach do analizy danych, która obejmuje trenowanie algorytmów w celu przewidywania na podstawie danych historycznych. Jednak nie wszystkie funkcje w zbiorze danych są sobie równe, a niektóre mogą mieć większy wpływ na wydajność modelu niż inne.

Rekurencyjna eliminacja funkcji to popularna technika analizy danych używana do identyfikowania i eliminowania nieistotnych lub nadmiarowych funkcji ze zbioru danych, poprawiająca dokładność i wydajność modelu uczenia maszynowego.

Uzyskaj certyfikat uczenia maszynowego od najlepszych uniwersytetów na świecie. Zdobądź Master, Executive PGP lub Advanced Certificate Programs, aby przyspieszyć swoją karierę.

W tym artykule przyjrzymy się, czym jest rekurencyjna eliminacja funkcji , jak działa i dlaczego jest tak ważna dla firm, które chcą wydobywać wartościowe spostrzeżenia ze swoich danych.

Spis treści

Jakie są różne techniki selekcji cech?

Wybór funkcji to kluczowy krok w uczeniu maszynowym, który polega na wybraniu najbardziej odpowiednich atrybutów ze zbioru danych w celu zbudowania modelu, który dokładnie przewiduje wyniki. Jednak wybór odpowiednich funkcji nie zawsze jest prosty. Istnieje wiele różnych technik, z których każda ma swoje mocne i słabe strony. Rzućmy okiem na niektóre z nich!

Metody filtrowania

Metody filtrowania wybierają cechy utworzone na podstawie właściwości statystycznych, takich jak ich korelacja ze zmienną przewidywaną lub wariancja. Metody te są wydajne obliczeniowo i można je zastosować przed uczeniem modelu. Przykłady metod filtrowania obejmują test chi-kwadrat, wybór cech oparty na korelacji i progowanie wariancji.

Metody pakowania

Metody opakowujące wybierają funkcje, oceniając wydajność modelu uczenia maszynowego z podzbiorem funkcji. Metody te są kosztowne obliczeniowo, ale mogą prowadzić do lepszej wydajności modelu. Przykłady metod opakowujących obejmują rekurencyjną eliminację funkcji, selekcję do przodu i eliminację wsteczną.

Metody wbudowane

W przypadku metod osadzonych wybór funkcji odbywa się podczas szkolenia. Metody te obejmują techniki takie jak regresja Lasso i Ridge Regression, które dodają kary do współczynników modelu, aby zmniejszyć mniej znaczące cechy do zera.

Metody hybrydowe

Metody hybrydowe łączą różne techniki selekcji cech w celu osiągnięcia lepszych wyników. Metody te są często bardziej skuteczne niż stosowanie tylko jednego podejścia. Przykłady metod hybrydowych obejmują ReliefF i Random Forest Feature Selection.

Zasadniczo wybór techniki selekcji cech zależy od konkretnego problemu, zestawu danych i dostępnych zasobów obliczeniowych.

A teraz przyjrzyjmy się bliżej jednej z najważniejszych metod opakowywania służących do eliminacji funkcji — rekurencyjnej eliminacji funkcji.

Co to jest rekurencyjna eliminacja funkcji?

Recursive Feature Elimination (RFE) to metoda opakowująca, która rekurencyjnie eliminuje cechy i buduje model na pozostałych. Rankinguje funkcje na podstawie ważności i eliminuje najmniej ważne, aż do osiągnięcia pożądanej liczby funkcji. RFE to proces iteracyjny, który działa w następujący sposób:

  1. Wytrenuj model w zakresie wszystkich funkcji i uszereguj je na podstawie ich ważności.
  2. Wyeliminuj najmniej ważną cechę.
  3. Wielokrotnie trenuj model w zakresie pozostałych cech i eliminuj najmniej istotną cechę, aż zostanie osiągnięta żądana liczba cech.

RFE uwzględnia interakcje między funkcjami i ich wpływ na wydajność modelu.

Aby zrozumieć, jak działa RFE, rozważmy przykład.

Załóżmy, że mamy zestaw danych o cenach mieszkań z dziesięcioma różnymi cechami, w tym liczbą sypialni, metrażem i wiekiem domu. Chcemy zbudować model uczenia maszynowego do przewidywania ceny domu na podstawie tych cech. Podejrzewamy jednak, że niektóre funkcje mogą nie być ważne, a nawet mogą zaszkodzić wydajności modelu.

Możemy użyć RFE do zidentyfikowania najistotniejszych cech, ucząc model ze wszystkimi cechami, a następnie rekurencyjnie eliminując najmniej ważne, aż do osiągnięcia optymalnego podzbioru. RFE trenuje model podczas każdej iteracji i ocenia jego wydajność za pomocą zestawu do walidacji krzyżowej.

Na przykład RFE może ustalić, że liczba sypialni, powierzchnia i lokalizacja są najważniejszymi cechami do przewidywania cen domów. Natomiast inne cechy, takie jak wiek domu, mają niewielki wpływ na dokładność modelu.

Dlaczego pojawił się RFE? Co to rozwiązuje?

Gdy uczenie maszynowe stało się bardziej rozpowszechnione, analitycy danych zdali sobie sprawę, że niektóre funkcje mogą być nieistotne lub zbędne, podczas gdy inne mogą znacząco wpływać na dokładność modelu. W ten sposób narodziła się jedna z podstawowych metod budowania wydajnych modeli uczenia maszynowego — technika selekcji cech rekurencyjnej eliminacji cech.

Rekurencyjna eliminacja funkcji (RFE) została wprowadzona w celu rozwiązania niektórych ograniczeń istniejących metod, a jednocześnie pojawiła się jako metoda opakowująca, która rekurencyjnie usuwa funkcje i ocenia ich wpływ na wydajność modelu. Proces trwa do momentu osiągnięcia optymalnej liczby funkcji.

RFE rozwiązuje kilka problemów napotykanych przez tradycyjne techniki selekcji cech.

  • RFE to podejście polegające na selekcji wstecznej, które rozpoczyna się od wszystkich funkcji, a następnie iteracyjnie usuwa te najmniej ważne. Takie podejście jest lepsze niż selekcja w przód, która rozpoczyna się od najmniej ważnej cechy i dodaje kolejne, aż do osiągnięcia optymalnej liczby.
  • RFE unika nadmiernego dopasowania poprzez walidację krzyżową podczas procesu wyboru funkcji. Nadmierne dopasowanie występuje, gdy model jest zbyt złożony i zbyt dobrze pasuje do danych uczących, co skutkuje słabą wydajnością nowych danych.
  • RFE można zastosować do dowolnego typu modelu, co czyni go wszechstronną techniką, którą można wykorzystać w wielu różnych scenariuszach.

Implementacja algorytmu RFE w Pythonie

Python udostępnia kilka bibliotek, których można użyć do implementacji algorytmu RFE. Przyjrzyjmy się teraz kilku przykładom RFE Python.

RFE Z scikit-learn

Scikit-learn to popularna biblioteka uczenia maszynowego w Pythonie, która zapewnia prostą implementację algorytmu RFE. Poniższy fragment kodu pokazuje, jak zaimplementować RFE w sci-kit-learn:

z sklearn.feature_selection importuj RFE

z sklearn.linear_model zaimportuj LogisticRegression

model = Regresja Logistyczna()

rfe = RFE(model, n_features_to_select=5)

rfe.dopasowanie(X, y)

W powyższym fragmencie kodu najpierw importujemy klasę RFE z modułu feature_selection sci-kit-learn. Następnie tworzymy instancję klasy LogisticRegression, która będzie działać jako estymator bazowy. Następnie tworzymy instancję klasy RFE, przekazując estymator bazowy i liczbę cech do wybrania. Następnie dopasowujemy obiekt RFE do naszych danych i etykiet.

RFE do klasyfikacji

W problemach z klasyfikacją RFE rekurencyjnie usuwa cechy i buduje model na pozostałych cechach. Ranking funkcji jest oparty na wynikach ważności funkcji obliczonych przez estymator. Poniższy fragment kodu demonstruje użycie RFE w przypadku problemu z klasyfikacją:

z importu sklearn.datasets make_classification

z sklearn.feature_selection importuj RFE

z sklearn.tree zaimportuj DecisionTreeClassifier

X, y = make_classification(n_samples=1000, n_features=10, n_informative=5, n_redundant=0, random_state=42)

model =DecisionTreeClassifier()

rfe = RFE(model, n_features_to_select=5)

rfe.dopasowanie(X, y)

print("Wybrane funkcje: ", rfe.support_)

print(“Ranking funkcji: “, rfe.ranking_)

W powyższym fragmencie kodu najpierw generujemy syntetyczny zestaw danych za pomocą funkcji make_classification z sci-kit-learn. Następnie tworzymy instancję klasy DecisionTreeClassifier, która będzie działać jako estymator bazowy. Następnie tworzymy instancję klasy RFE, przekazując estymator bazowy i liczbę cech do wybrania. Następnie dopasowujemy obiekt RFE do naszych danych i etykiet, drukując wybrane cechy i oceniając cechy.

Hiperparametry RFE

RFE ma kilka hiperparametrów, które można dostroić w celu uzyskania lepszych wyników. Niektóre ważne hiperparametry to:

  • n_features_to_select: Ten hiperparametr określa liczbę funkcji do wybrania.
  • step: Ten hiperparametr określa liczbę funkcji do usunięcia w każdej iteracji.Wartość domyślna to 1, co oznacza, że ​​w każdej iteracji usuwany jest jeden element.
  • estymator: Ten hiperparametr określa podstawowy estymator do użycia.Domyślnie używana jest liniowa maszyna SVM.
  • scoring: Ten hiperparametr określa metrykę używaną do rankingu funkcji.Wartość domyślna to Brak, co oznacza, że ​​używana jest metoda oceny estymatora.
  • cv : Ten hiperparametr określa strategię weryfikacji krzyżowej, która ma być używana.Wartość domyślna to Brak, co oznacza, że ​​używana jest 3-krotna walidacja krzyżowa.

Najlepsze kursy uczenia maszynowego i kursy AI online

Master of Science in Machine Learning & AI z LJMU Program studiów podyplomowych dla kadry kierowniczej w zakresie uczenia maszynowego i sztucznej inteligencji z IIITB
Zaawansowany program certyfikacji w zakresie uczenia maszynowego i NLP z IIITB Zaawansowany program certyfikacji w zakresie uczenia maszynowego i głębokiego uczenia się od IIITB Kierowniczy program studiów podyplomowych w dziedzinie nauki o danych i uczenia maszynowego na Uniwersytecie Maryland
Aby poznać wszystkie nasze kursy, odwiedź naszą stronę poniżej.
Kursy uczenia maszynowego

Przyszłość eliminacji funkcji rekurencyjnych

Przyszłość Recursive Feature Elimination (RFE) wygląda obiecująco, ponieważ nadal jest popularną techniką selekcji cech w uczeniu maszynowym. Wraz z rosnącą ilością generowanych danych i potrzebą bardziej wydajnych i dokładnych modeli wybór funkcji staje się niezbędnym krokiem w procesie uczenia maszynowego.

Ostatnie badania wykazały, że RFE może znacznie poprawić wydajność modeli uczenia maszynowego poprzez zmniejszenie wymiarowości danych i wyeliminowanie nieistotnych lub zbędnych funkcji. Na przykład w badaniu przeprowadzonym przez NCBI RFE wykorzystano do selekcji cech w klasyfikacji pacjentów z depresją na podstawie danych funkcjonalnego rezonansu magnetycznego (fMRI). Wyniki pokazały, że RFE wybrała podzbiór cech silnie skorelowanych z klinicznym rozpoznaniem depresji.

Ponieważ dziedzina uczenia maszynowego stale się rozwija, istnieje zapotrzebowanie na bardziej wyrafinowane i wydajne techniki wyboru funkcji. Jednym z obszarów badań, który zyskuje na popularności, jest wykorzystanie głębokiego uczenia się do selekcji funkcji. Jednak modele głębokiego uczenia się są często kosztowne obliczeniowo i wymagają trenowania dużych ilości danych.

Natomiast RFE jest prostą i skuteczną techniką, którą można zastosować do różnych modeli i zestawów danych. Dlatego jest prawdopodobne, że RFE będzie nadal używane jako popularna technika selekcji cech.

Umiejętności uczenia maszynowego na żądanie

Kursy sztucznej inteligencji Kursy tableau
Kursy NLP Kursy głębokiego uczenia się

Wniosek

Podsumowując, Recursive Feature Elimination (RFE) to skuteczna technika selekcji funkcji w uczeniu maszynowym, która zapewnia świetlaną przyszłość po jej ewoluującym wdrożeniu. RFE, będąc skuteczną techniką selekcji cech, napędza jej wykorzystanie w różnych dziedzinach, takich jak diagnostyka medyczna, bioinformatyka i analiza obrazu, zwiększając jej nieposkromioną ekspansję.

Jeśli chcesz dowiedzieć się więcej o uczeniu maszynowym i sztucznej inteligencji, rozważ zapisanie się do programu upGrad Machine Learning i AI PG Diploma we współpracy z IIIT Bangalore. Ten kompleksowy program obejmuje najnowsze narzędzia i techniki uczenia maszynowego i sztucznej inteligencji, w tym techniki wyboru funkcji, takie jak RFE.

Ten program zapewni Ci umiejętności i wiedzę potrzebne do tworzenia i wdrażania modeli uczenia maszynowego w rzeczywistych aplikacjach.

Złóż wniosek już teraz i czerp korzyści z wciągającej nauki dzięki upGrad!

Możesz również sprawdzić naszebezpłatne kursyoferowane przez upGrad w zakresie zarządzania, nauki o danych, uczenia maszynowego, marketingu cyfrowego i technologii.Wszystkie te kursy mają najwyższej klasy zasoby do nauki, cotygodniowe wykłady na żywo, zadania branżowe i certyfikat ukończenia kursu - wszystko bezpłatnie!

Popularne blogi AI i ML oraz bezpłatne kursy

IoT: historia, teraźniejszość i przyszłość Samouczek uczenia maszynowego: nauka uczenia maszynowego Co to jest algorytm? Proste i łatwe
Wynagrodzenie inżyniera robotyki w Indiach: wszystkie role Dzień z życia inżyniera uczenia maszynowego: czym się zajmuje? Co to jest IoT (Internet rzeczy)
Permutacja a kombinacja: różnica między permutacją a kombinacją 7 najważniejszych trendów w sztucznej inteligencji i uczeniu maszynowym Uczenie maszynowe z R: wszystko, co musisz wiedzieć
Bezpłatne kursy AI i ML
Wprowadzenie do NLP Podstawy głębokiego uczenia sieci neuronowych Regresja liniowa: przewodnik krok po kroku
Sztuczna inteligencja w realnym świecie Wprowadzenie do Tableau Studium przypadku z użyciem Pythona, SQL i Tableau

Jaka jest różnica między RFE a PCA przy wyborze funkcji?

Zarówno RFE, jak i analiza głównych składowych (PCA) to techniki stosowane do selekcji cech. Kluczowa różnica między nimi polega na tym, że PCA modyfikuje oryginalne atrybuty do nowego zestawu, podczas gdy RFE eliminuje oryginalne atrybuty.

Jak określić optymalną liczbę funkcji do wyboru za pomocą RFE?

Jednym ze sposobów określenia optymalnej liczby cech do wyboru za pomocą RFE jest przeprowadzenie walidacji krzyżowej i wybranie liczby cech, która zapewnia najlepszą wydajność w zbiorze walidacyjnym. Innym sposobem jest użycie wykresu osypiska, który przedstawia liczbę cech w stosunku do odpowiedniej wydajności modelu.

Czy RFE może być używane do zadań uczenia się bez nadzoru?

Nie, RFE jest techniką nadzorowanego uczenia się wymagającą oznaczonych danych w celu wybrania funkcji. Inne techniki, takie jak grupowanie lub redukcja wymiarowości, mogą być wykorzystywane do wybierania cech w zadaniach uczenia się bez nadzoru bez oznaczonych danych.