Wybór funkcji Sklearn

Wybór funkcji Sklearn
Najlepszą techniką rozwiązywania problemu z uczeniem maszynowym jest rozpoczęcie od zestawu danych, wykonanie dokładnej EDA i uchwycenie wielu kluczowych cech predyktorów przed aktywnym szkoleniem modeli na tych zmiennych. Jednak nie zawsze jest to możliwe. Czasami potrzebujesz zautomatyzowanego podejścia do wyboru odpowiedniego podzbioru danych, ponieważ zestaw danych zawiera zbyt wiele zmiennych. Podobne techniki znalezione w bibliotece Sklearn są omówione w tym artykule.

Co to jest wybór funkcji?

Proces wyboru funkcji obejmuje zmniejszenie liczby zmiennych predykcyjnych zastosowanych w tworzonych modelach. Na przykład pierwszą skłonnością powinna być wybranie modelu z mniejszą liczbą zmiennych, gdy jest prezentowany z dwoma modelami o tym samym lub prawie identycznym wyniku. Ale ten ostatni model ma więcej zmiennych. Ten model jest mniej prawdopodobne, że będzie nieszczelny, łatwiejszy do uruchomienia i prostszy do zrozumienia i trenowania. Łatwo przychodzi jako część procesu budowania modelu, aby dostroić liczbę parametrów w modelu, który jest naturalnym elementem nauki danych w praktyce. Wybór funkcji jest przede wszystkim procedurą ręczną, nawet jeśli jest kilka funkcji lub masz czas na usiąść i myśleć o nich. Zautomatyzowany lub półautomowany wybór funkcji może przyspieszyć procesy w sytuacjach, gdy jest zbyt wiele zmiennych lub nie masz dużo czasu.

Wdrażanie wyboru funkcji w Sklearn

Najpierw importujemy dane za pomocą pandy. Zestaw danych można znaleźć tutaj.

importować pandy jako PD
df = pd.read_csv („Iris.CSV ')
df = df.upuść („id”, oś = 1)
df.głowa()

Wyjście

Sepalthcm Sepalwidthcm Petal długośćcm PetalWidthcm Gatunek
0 5.1 3.5 1.4 0.2 Iris-Setosa
1 4.9 3.0 1.4 0.2 Iris-Setosa
2 4.7 3.2 1.3 0.2 Iris-Setosa
3 4.6 3.1 1.5 0.2 Iris-Setosa
4 5.0 3.6 1.4 0.2 Iris-Setosa

Wybór funkcji progowej wariancji

Próg wariancji jest prostą metodą usuwania funkcji w zależności od wariancji, którą przewidujemy dla każdej funkcji. Bez uwzględnienia żadnych danych ze zmiennej zależnej, wybór funkcji progu wariancji po prostu rozważa funkcje wejściowe. W rezultacie jest skuteczny tylko w modelowaniu bez nadzoru, gdy funkcje są wyeliminowane. Poniżej znajduje się wdrożenie podejścia:

ze Sklearn.Feature_Selection Import VarianceThreshold
df = df.Select_dtypes („Numer”)
selektor = VarianceThreshold (2)
selektor.Fit (DF)
df.kolumny [selektor.uzyskać wsparcie()]

Wyjście

Indeks (['pEALLLENGHCM'], DTYPE = „Object”)

SelectKbest

Technika wyboru funkcji o nazwie Wybór funkcji jednowymiarowych opiera się na jednoczynnikowym teście statystycznym. Podstawą „SelectKbest” jest połączenie jednoczynnikowego testu statystycznego z selekcją cechy liczby k opartej na korelacji statystycznej między zmiennymi zależnymi i niezależnymi. Poniżej znajduje się implementacja „SelectKbest”.

X = df.Drop („gatunek”, oś = 1)
y = df [„gatunek”]
ze Sklearn.Feature_Selection Import SelectKbest, Mutual_Info_reGression
od sklearn importowania wstępnego przetwarzania
encoder = wstępne przetwarzanie.LabelenCoder ()
y = enkoder.Fit_Transform (y)
selector = SelectKbest (Mutual_info_regression, k = 2)
selektor.Fit (x, y)
X.kolumny [selektor.uzyskać wsparcie()]

Wyjście

Indeks ([„pEALLNGREMCM”, „PetalWidthcm”], dtype = „obiekt”)

Wniosek

Omówiliśmy metody wyboru funkcji w Sklearn. Wybór funkcji jest ważny podczas pracy z wieloma funkcjami i musimy zrzucić redundantne funkcje, aby lepiej zrozumieć dane i lepszą wydajność. Sklearn zapewnia nam moduł „Feature_Selection” używany do wdrożenia tej techniki.