Sklearn -Feature -Auswahl

Sklearn -Feature -Auswahl
Die beste Technik zur Lösung eines maschinellen Lernproblems besteht darin, mit einem Datensatz zu beginnen, eine gründliche EDA darauf auszuführen und viele den wichtigsten Merkmalen der Prädiktoren zu erfassen, bevor sie aktiv Modelle auf diesen Variablen trainieren. Es ist jedoch nicht immer möglich, dies zu tun. Sie benötigen manchmal einen automatisierten Ansatz, um eine geeignete Datenuntergruppe auszuwählen, da der Datensatz zu viele Variablen enthält. Ähnliche Techniken in der Sklearn -Bibliothek werden in diesem Artikel erläutert.

Was ist Feature -Auswahl?

Der Feature -Auswahlprozess umfasst die Reduzierung der Anzahl der Prädiktorvariablen, die in den von Ihnen erstellten Modellen verwendet werden. Beispiel. Aber das letztere Modell hat mehr Variablen. Dieses Modell ist weniger wahrscheinlich undicht, leichter zu laufen und einfacher zu verstehen und zu trainieren. Es ist leicht als Teil des Modellbuilding-Prozesses, um die Anzahl der Parameter in einem Modell einzustellen, das in der Praxis ein natürlicher Bestandteil der Datenwissenschaft ist. Die Auswahl von Funktionen ist in erster Linie ein manueller Verfahren, auch wenn es nur wenige Funktionen gibt oder Sie Zeit haben, um zu sitzen und darüber nachzudenken. Automatisierte oder halbautomatische Feature-Auswahl kann in Situationen in Situationen beschleunigt werden, wenn zu viele Variablen vorhanden sind, oder Sie haben nicht viel Zeit.

Implementierung der Funktionsauswahl in sklearn

Wir importieren die Daten zuerst mit Pandas. Der Datensatz finden Sie hier.

Pandas als PD importieren
df = pd.Read_csv ('Iris.CSV ')
df = df.Drop ('id', axis = 1)
df.Kopf()

Ausgang

Sepallengthcm Sepalwidthcm Petallengthcm Petalwidthcm Spezies
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

Auswahl der Varianz -Schwellenwertfunktion

Eine Varianzschwelle ist eine einfache Methode zum Entfernen von Funktionen in Abhängigkeit von der Varianz, die wir für jede Funktion erwarten. Ohne Daten aus der abhängigen Variablen zu berücksichtigen, berücksichtigt die Auswahl der Varianzschwellenwertfunktionen nur die Eingabefunktionen. Infolgedessen ist es nur für eine unbeaufsichtigte Modellierung wirksam, wenn die Funktionen beseitigt werden. Nachfolgend finden Sie die Implementierung des Ansatzes:

von Sklearn.Feature_Selection Import Variancethreshold
df = df.select_dtypes ('nummer')
selector = variiancethreshold (2)
Wähler.fit (df)
df.Spalten [Selektor.Hole dir Unterstützung()]

Ausgang

Index (['petAllengthcm'], dType = "Objekt"))

SelectKBest

Eine Merkmalsauswahltechnik namens Univariate Merkmalsauswahl basiert auf dem univariaten statistischen Test. Die Grundlage von „SelectKBest“ ist die Kombination eines univariaten statistischen Tests mit der K-Number-Merkmalsauswahl basierend auf der statistischen Korrelation zwischen den abhängigen und unabhängigen Variablen. Nachfolgend finden Sie die Implementierung von 'SelectKBest'.

X = df.Drop ('Spezies', Achse = 1)
y = df ['spezies']
von Sklearn.feature_selection import SelectKBest, MUUTUAL_INFO_Regression
aus sklearn Import -Vorverarbeitung
codierer = preprozessiv.LabelCoder ()
y = Encoder.fit_transform (y)
selector = selectKBest (MUGUAL_INFO_Regression, K = 2)
Wähler.fit (x, y)
X.Spalten [Selektor.Hole dir Unterstützung()]

Ausgang

Index (['petallengthcm', 'petalwidthcm'], dType = 'Objekt')

Abschluss

Wir haben die Feature -Auswahlmethoden in sklearn diskutiert. Die Auswahl der Feature ist wichtig, wenn Sie mit vielen Funktionen arbeiten, und wir müssen redundante Funktionen fallen lassen, um die Daten und eine bessere Leistung besser zu verstehen. Sklearn bietet uns ein Modul "feature_selection", das zur Implementierung dieser Technik verwendet wird.