Feature Selection in Machine Learning

Machine Learning

Shaurya Lalwani

Follow

Jul 10, 2020 – 7 min read

Photo by Louis Hansel @shotsoflouis on Unsplash

W prawdziwym świecie, dane nie są tak czyste, jak się często zakłada. To jest, gdzie wszystkie eksploracji danych i wrangling przychodzi w; do budowania spostrzeżeń z danych, które zostały ustrukturyzowane za pomocą zapytań, a teraz prawdopodobnie zawiera pewne brakujące wartości, i wykazuje możliwe wzorce, które są niewidoczne gołym okiem. Tu właśnie wkracza uczenie maszynowe: Aby sprawdzić wzorce i wykorzystać te wzorce do przewidywania wyników przy użyciu tych nowo zrozumianych relacji w danych.

Dla jednego, aby zrozumieć głębokość algorytmu, trzeba przeczytać przez zmienne w danych, a co te zmienne reprezentują. Zrozumienie tego jest ważne, ponieważ musisz udowodnić swoje wyniki, w oparciu o zrozumienie danych. Jeśli Twoje dane zawierają pięć, a nawet pięćdziesiąt zmiennych, powiedzmy, że jesteś w stanie przejść przez nie wszystkie. Ale co jeśli zawierają 200 zmiennych? Nie masz czasu, aby przejść przez każdą zmienną. Na dodatek, różne algorytmy nie będą działać z danymi kategorycznymi, więc musisz przekonwertować wszystkie kategoryczne kolumny na zmienne ilościowe (wyglądają ilościowo, ale metryka uzasadni, że są kategoryczne), aby wepchnąć je do modelu. Tak więc, to zwiększa liczbę zmiennych w twoich danych, a teraz kręcisz się wokół 500 zmiennych. Jak sobie z nimi poradzić? Można by pomyśleć, że redukcja wymiarowości jest odpowiedzią na to pytanie. Algorytmy redukcji wymiarowości zredukują wymiary, ale interpretacja nie jest tak dobra. A co jeśli powiem ci, że istnieją inne techniki, które mogą wyeliminować cechy, a nadal będzie łatwo zrozumieć i zinterpretować zachowane cechy?

Zależnie od tego, czy analiza jest oparta na regresji czy klasyfikacji, techniki selekcji cech mogą się różnić / zmieniać, ale ogólna idea tego, jak ją wdrożyć, pozostaje taka sama.

Oto kilka technik wyboru cech, które pomogą rozwiązać ten problem:

Zmienne, które są silnie skorelowane ze sobą, dają te same informacje modelowi, a zatem niepotrzebne staje się uwzględnienie ich wszystkich w naszej analizie. Na przykład: Jeśli zbiór danych zawiera cechę “Czas przeglądania”, oraz inną o nazwie “Dane użyte podczas przeglądania”, to można sobie wyobrazić, że te dwie zmienne będą w pewnym stopniu skorelowane, i widzielibyśmy tę wysoką korelację nawet, gdybyśmy zebrali nieobiektywną próbkę danych. W takim przypadku wymagalibyśmy, aby tylko jedna z tych zmiennych była obecna jako predyktor w modelu, ponieważ jeśli użyjemy obu, wtedy model będzie nadmiernie dopasowany i stanie się stronniczy w kierunku tej konkretnej cechy (cech).

Photo by Akin Cakiner on Unsplash

P-Values

W algorytmach takich jak Linear Regression, wstępny model statystyczny jest zawsze dobrym pomysłem, ponieważ pomaga w wizualizacji ważności cech, za pomocą ich wartości P, które zostały uzyskane przy użyciu tego modelu. Po ustaleniu poziomu istotności, sprawdzamy uzyskane wartości P i jeżeli wartość ta jest mniejsza od poziomu istotności, świadczy to o tym, że cecha jest istotna, tzn. zmiana tej wartości prawdopodobnie wykaże zmianę wartości Celu.

Photo by Joshua Eckstein on Unsplash

Forward Selection

Forward Selection to technika, która polega na wykorzystaniu regresji krokowej. Czyli model zaczyna się budować od zera, czyli od pustego modelu, a następnie w każdej iteracji dodaje się taką zmienną, aby następowała poprawa budowanego modelu. Zmienna, która ma być dodana w każdej iteracji jest określana na podstawie jej istotności, a ta może być obliczana przy użyciu różnych metryk, z których powszechną jest wartość P uzyskana z początkowego modelu statystycznego zbudowanego przy użyciu wszystkich zmiennych. Czasami Selekcja w przód może powodować nadmierne dopasowanie, ponieważ może dodawać silnie skorelowane zmienne do modelu, nawet jeśli dostarczają one tych samych danych do modelu (ale model wykazuje poprawę).

Photo by Edu Grande on Unsplash

Backward Elimination

Backward Elimination również obejmuje stopniową selekcję cech, w sposób odwrotny do Forward Selection. W tym przypadku, model początkowy zaczyna się od wszystkich zmiennych niezależnych i jedna po drugiej, zmienne te są eliminowane (jedna na iterację), jeśli nie dostarczają wartości do nowo utworzonego modelu regresji w każdej iteracji. Jest to ponownie, w oparciu o wartości P uzyskane przy użyciu początkowego modelu statystycznego, i w oparciu o te wartości P, cechy są eliminowane z modelu. Używając również tej metody, istnieje niepewność w usuwaniu silnie skorelowanych zmiennych.

Photo by Markus Spiske on Unsplash

Recursive Feature Elimination (RFE)

RFE jest szeroko stosowaną techniką/algorytmem do wyboru dokładnej liczby istotnych cech, Czasami w celu wyjaśnienia konkretnej liczby “najważniejszych” cech wpływających na biznes, a czasami jako metoda redukcji bardzo dużej liczby cech (powiedzmy około 200-400) do tylko tych, które mają choć trochę wpływu na model i eliminacji reszty. RFE używa systemu opartego na rangach, aby pokazać rangi cech w zbiorze danych, a te rangi są używane do eliminacji cech w pętli rekurencyjnej, w oparciu o współliniowość obecną między nimi, i oczywiście, znaczenie tych cech w modelu. Oprócz rangowania cech, RFE może pokazać, czy te cechy są ważne czy nie, nawet dla wybranej liczby cech (ponieważ jest bardzo możliwe, że wybrana przez nas liczba może nie reprezentować optymalnej liczby ważnych cech, a optymalna liczba cech może być większa lub mniejsza od tej wybranej przez użytkownika).

Photo by Andrew Seaman on Unsplash

Charted Feature Importance

Gdy mówimy o interpretowalności algorytmów uczenia maszynowego, zazwyczaj dyskutujemy o regresji liniowej (ponieważ możemy analizować ważność cech za pomocą wartości P) oraz o drzewie decyzyjnym (które praktycznie pokazuje ważność cech w postaci drzewa, z drugiej jednak strony, często używamy wykresu ważności zmiennych, aby nanieść zmienne i “ilość ich ważności”, w takich algorytmach jak klasyfikator Random Forest, Light Gradient Boosting Machine, czy XG Boost. Jest to szczególnie przydatne, gdy dobrze uporządkowana ważność cech musi być przedstawiona biznesowi, który jest analizowany.

Photo by Robert Anasch on Unsplash

Regularyzacja

Regularyzacja jest wykonywana w celu monitorowania kompromisu pomiędzy biasem i wariancją. Skośność mówi, jak bardzo model został przepasowany na zbiorze danych treningowych. Wariancja mówi nam, jak różne były przewidywania dokonane na zestawach danych treningowych i testowych. W idealnym przypadku, zarówno błąd systematyczny jak i wariancja powinny zostać zredukowane. Regularizacja przychodzi tutaj na ratunek! Istnieją głównie dwa rodzaje technik regularizacji:

L1 Regularizacja – Lasso: Lasso karze współczynniki beta modelu, aby zmienić ich znaczenie w modelu, a nawet może je uziemić (zamienić je w zera, tj. w zasadzie usunąć te zmienne z ostatecznego modelu). Ogólnie, Lasso jest używane, gdy obserwujemy, że nasz zbiór danych ma dużą liczbę zmiennych i musimy usunąć niektóre z nich, aby lepiej zrozumieć, jak ważne cechy wpływają na model (tj. cechy, które są ostatecznie wybrane przez Lasso, a ich znaczenie jest przypisane).

L2 Regularizacja – Ridge: Funkcją Ridge jest zachowanie wszystkich zmiennych, czyli wykorzystanie wszystkich zmiennych do budowy modelu, a jednocześnie przypisanie im znaczenia w taki sposób, aby nastąpiła poprawa wydajności modelu. Ridge jest doskonałym wyborem, gdy liczba zmiennych w zbiorze danych jest niska, a zatem wszystkie te zmienne są wymagane do interpretacji uzyskanych spostrzeżeń i przewidywanych wyników docelowych.

Ponieważ Ridge utrzymuje wszystkie zmienne w stanie nienaruszonym, a Lasso wykonuje lepszą pracę przy przypisywaniu znaczenia zmiennym, kombinacja obu, znana jako Elastic-Net, została opracowana jako sposób na stworzenie algorytmu, poprzez połączenie najlepszych cech Ridge i Lasso. Elastic-Net staje się w ten sposób idealnym wyborem.

Photo by Hunter Harritt on Unsplash
.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.