Kapitel-6 Wie lerne ich Feature-Engineering?

Maschinelles Lernen-Serie!

Hallo Leute, dies ist der erstaunlichste Artikel, der Ihre Sichtweise auf maschinelles Lernen ändert. Beginnen wir mit der Erörterung, warum Feature-Engineering für maschinelles Lernen so wichtig ist.

Gliederung

1. Was ist charakteristisches Engineering?
2.Datenvorverarbeitung
 2.1 Nichtdimensionalisierung
 2.1.1 Normalisierung
 2.1.2 Intervallskalierungsmethode
 2.1.3 Unterschied zwischen Normalisierung und Normalisierung
 2.2 Bindung quantitativer Merkmale
 2.3 Paar qualitativer Merkmale Mattcodierung
 2.4 Berechnung fehlender Werte
 2.5 Datenumwandlung
3 Eigenschaften Wählen Sie
 3.1 Filter
 3.1.1 Varianzauswahlmethode
 3.1.2 Korrelationskoeffizientenmethode
 3.1.3 Chi-Quadrat-Test
 3.1.4 Methode der gegenseitigen Information
 3.2 Wrapper
 3.2.1 Methode zur Beseitigung rekursiver Merkmale
 3.3 Eingebettet
 3.3.1 Auswahlmethode für strafbasierte Features
 3.3. 2 Baumbasierte Feature-Auswahlmethode
4 Dimensionsreduktion
 4.1 Hauptkomponentenanalyse (PCA)
 4.2 Lineare Diskriminanzanalyse (LDA)

1. Was ist charakteristisches Engineering?

Es gibt ein in der Branche weit verbreitetes Sprichwort: Daten und Eigenschaften bestimmen die Obergrenze des maschinellen Lernens, und Modelle und Algorithmen nähern sich dieser Obergrenze. Was ist das charakteristische Projekt? Wie der Name schon sagt, handelt es sich um eine technische Aktivität, die darauf abzielt, die Extraktion von Merkmalen aus Rohdaten zur Verwendung durch Algorithmen und Modelle zu maximieren. Durch Zusammenfassen und Zusammenfassen denken die Leute, dass Feature-Engineering die folgenden Aspekte umfasst:

Die Feature-Verarbeitung ist das Kernstück des Feature-Engineerings. Sklearn bietet eine umfassendere Feature-Verarbeitungsmethode, einschließlich Datenvorverarbeitung, Feature-Auswahl und Dimensionsreduzierung. Der erste Kontakt mit sklearn wird häufig von seiner umfangreichen und praktischen Algorithmusmodellbibliothek angezogen, aber die hier beschriebene Bibliothek zur Funktionsbehandlung ist auch sehr leistungsfähig!

In diesem Artikel wird der IRIS-Datensatz (Iris) in sklearn verwendet, um die Funktionen zur Merkmalsverarbeitung zu veranschaulichen. Der IRIS-Datensatz wurde 1936 von Fisher zusammengestellt und enthält vier Merkmale (Sepal.Length, Sepal.Width, Petal.Length, Petal.Width), Eigenwerte. Beide sind positive Gleitkommazahlen in Zentimetern. Der Zielwert ist die Klassifikation von Iris (Iris Setosa), Iris Versicolour (Iris Virginica), Iris Virginica (Virginia Iris). Der Code zum Importieren des IRIS-Datensatzes lautet wie folgt:

2. Datenvorverarbeitung

Durch das Extrahieren von Features können nicht verarbeitete Features abgerufen werden. Die Features zu diesem Zeitpunkt weisen möglicherweise die folgenden Probleme auf:

  • Gehört nicht zur selben Dimension: Das heißt, die Spezifikationen der Features sind unterschiedlich und können nicht miteinander verglichen werden. Eine Nichtdimensionierung kann dieses Problem lösen.
  • Informationsredundanz: Bei einigen quantitativen Merkmalen handelt es sich bei den enthaltenen effektiven Informationen um Intervallunterteilung, z. B. akademische Leistung. Wenn Sie sich nur für „bestanden“ interessieren oder nicht für „bestanden“, müssen Sie das quantitative Testergebnis in „1“ und „0“ umwandeln. "" Bedeutet "bestanden" und "nicht bestanden". Binarisierung kann dieses Problem lösen.
  • Qualitative Merkmale können nicht direkt verwendet werden: Einige Algorithmen und Modelle für maschinelles Lernen können nur Eingaben von quantitativen Merkmalen akzeptieren. Daher müssen qualitative Merkmale in quantitative Merkmale konvertiert werden. Am einfachsten ist es, für jeden qualitativen Wert einen quantitativen Wert anzugeben. Diese Methode ist jedoch zu flexibel und erhöht die Abstimmungsarbeit. Das qualitative Merkmal wird üblicherweise durch Dummy-Codierung in ein quantitatives Merkmal umgewandelt: Wenn N qualitative Werte vorliegen, wird dieses Merkmal auf N Merkmale erweitert. Wenn der ursprüngliche Merkmalswert der i-te qualitative Wert ist, wird das i-te erweiterte Merkmal zugewiesen. Ist 1, wird anderen Erweiterungsmerkmalen der Wert 0 zugewiesen. Verglichen mit der direkt angegebenen Methode muss die dumme Codierungsmethode den Aufwand für die Parametereinstellung nicht erhöhen. Für das lineare Modell kann durch die Verwendung des dummen codierten Features ein nichtlinearer Effekt erzielt werden.
  • Es fehlen Werte: Fehlende Werte müssen hinzugefügt werden.
  • Geringe Informationsauslastung: Unterschiedliche Algorithmen und Modelle für maschinelles Lernen verwenden unterschiedliche Informationen in den Daten. Wie bereits erwähnt, können bei linearen Modellen durch die Verwendung von Dumb-Coding für qualitative Merkmale nichtlineare Effekte erzielt werden. Ebenso können durch Polynomialisierung quantitativer Variablen oder anderer Transformationen nichtlineare Effekte erzielt werden.

Wir verwenden die Vorverarbeitungsbibliothek in sklearn für die Datenvorverarbeitung, um die Lösung für das oben genannte Problem abzudecken.

2.1 Dimensionslos

Dimensionless konvertiert Daten unterschiedlicher Spezifikationen in dieselbe Spezifikation. Gängige Nichtdimensionalisierungsmethoden sind Standardisierung und Intervallskalierung. Bei der Normierung wird davon ausgegangen, dass die Eigenwerte einer Normalverteilung folgen und nach der Normierung in eine Standardnormalverteilung umgewandelt werden. Das Intervallskalierungsverfahren verwendet die Grenzwertinformationen, um den Merkmalsbereich auf einen Merkmalsbereich wie [0, 1] zu skalieren.

2.1.1 Standardisierung

Die Standardisierung erfordert die Berechnung des Mittelwerts und der Standardabweichung des Merkmals, ausgedrückt als:

Der Code, der die Daten unter Verwendung der StandardScaler-Klasse der Vorverarbeitungsbibliothek normalisiert, lautet wie folgt:

2.1.2 Intervallskalierungsmethode

Es gibt viele Ideen für die Intervallskalierung. Die übliche Methode besteht darin, zwei Maximalwerte zum Skalieren zu verwenden. Die Formel wird ausgedrückt als:

Der Code für die Intervallskalierung von Daten mithilfe der MinMaxScaler-Klasse der Vorverarbeitungsbibliothek lautet wie folgt:

2.1.3 Der Unterschied zwischen Standardisierung und Normalisierung

Vereinfacht ausgedrückt besteht die Standardisierung darin, Daten gemäß den Spalten der Merkmalsmatrix zu verarbeiten, die die Merkmalswerte der Stichproben nach der Methode des Z-Scores in dieselbe Dimension umwandelt. Normalisierung ist die Verarbeitung von Daten gemäß den Zeilen der Merkmalsmatrix. Der Zweck ist, dass der Abtastvektor einen einheitlichen Standard hat, wenn die Punktmultiplikationsoperation oder eine andere Kernfunktion die Ähnlichkeit berechnet, dh in einen "Einheitsvektor" umgewandelt wird. Die Normalisierungsformel mit der Regel l2 lautet wie folgt:

Der Code, der die Daten mithilfe der Normalizer-Klasse der Vorverarbeitungsbibliothek normalisiert, lautet wie folgt:

2.2 Binäre quantitative Merkmale

Der Kern der Binärisierung quantitativer Merkmale besteht darin, einen Schwellenwert festzulegen. Der Wert größer als der Schwellenwert ist 1 und der Wert kleiner oder gleich dem Schwellenwert ist 0. Die Formel lautet wie folgt:

Der Code zum Binärisieren von Daten mithilfe der Binarizer-Klasse der Vorverarbeitungsbibliothek lautet wie folgt:

2.3 Für qualitative Merkmale dumme Codierung

Da es sich bei den Merkmalen des IRIS-Datensatzes ausschließlich um quantitative Merkmale handelt, werden deren Zielwerte für die Dummy-Codierung verwendet (tatsächlich nicht erforderlich). Der Code für dumme Codierungsdaten unter Verwendung der OneHotEncoder-Klasse der Vorverarbeitungsbibliothek lautet wie folgt:

2.4 Fehlwertberechnung

Da der IRIS-Datensatz keine fehlenden Werte enthält, wird dem Datensatz eine neue Stichprobe hinzugefügt, und allen vier Features wird der Wert NaN zugewiesen, was darauf hinweist, dass die Daten fehlen. Der Code für die Berechnung fehlender Daten mithilfe der Imputer-Klasse der Vorverarbeitungsbibliothek lautet wie folgt:

2.5 Datenumwandlung

Gängige Datentransformationen sind polynombasierte, exponentialbasierte, protokollbasierte Funktionen. Die vier Merkmale der Polynomumwandlungsformel mit Grad 2 lauten wie folgt:

Der Code für die Polynomkonvertierung von Daten mithilfe der PolynomialFeatures-Klasse der Vorverarbeitungsbibliothek lautet wie folgt:

Die Datentransformation basierend auf der Funktion mit einem Argument kann auf einheitliche Weise durchgeführt werden. Der Code für die logarithmische Funktionskonvertierung von Daten mit FunctionTransformer der Vorverarbeitungsbibliothek lautet wie folgt:

3. Funktionsauswahl

Wenn die Datenvorverarbeitung abgeschlossen ist, müssen wir aussagekräftige Algorithmen und Maschinenmodelle auswählen, damit das maschinelle Lernen trainiert werden kann. Wählen Sie im Allgemeinen Features aus zwei Perspektiven:

  • Ob das Merkmal divergiert: Wenn ein Merkmal nicht divergiert, z. B. die Varianz nahe Null ist, das heißt, die Stichprobe keinen wesentlichen Unterschied in diesem Merkmal aufweist, ist dieses Merkmal zur Unterscheidung von Stichproben nicht nützlich.
  • Korrelation zwischen Merkmalen und Zielen: Dies ist offensichtlicher, und Merkmale, die stark mit dem Ziel korrelieren, sollten bevorzugt werden. Neben der Varianzmethode werden die anderen in diesem Artikel beschriebenen Methoden aus der Korrelation berücksichtigt.

Je nach Form der Merkmalsauswahl kann die Merkmalsauswahlmethode in drei Typen unterteilt werden:

  • Filter: Die Filtermethode, mit der jedes Merkmal nach Abweichung oder Korrelation bewertet wird, legt den Schwellenwert oder die Anzahl der auszuwählenden Schwellenwerte fest und wählt Merkmale aus.
  • Wrapper: Eine Wrapper-Methode, die mehrere Features gleichzeitig auswählt oder mehrere Features ausschließt, basierend auf einer objektiven Funktion (in der Regel eine Bewertung des prädiktiven Effekts).
  • Eingebettet: Die Integrationsmethode, die zunächst einige Algorithmen und Modelle zum maschinellen Lernen verwendet, ermittelt die Gewichtungskoeffizienten für jedes Merkmal und wählt Merkmale entsprechend den Koeffizienten von groß bis klein aus. Ähnlich wie die Filtermethode, wird jedoch darauf trainiert, die Vor- und Nachteile der Funktion zu ermitteln.

Wir verwenden die feature_selection-Bibliothek in sklearn für die Featureauswahl.

3.1 Filter
3.1.1 Varianzauswahlmethode

Unter Verwendung der Varianzauswahlmethode wird zuerst die Varianz jedes Merkmals berechnet, und dann wird das Merkmal, dessen Varianz größer als der Schwellenwert ist, gemäß dem Schwellenwert ausgewählt. Der Code zum Auswählen von Features mithilfe der Varianzschwellenwertklasse der Bibliothek feature_selection lautet wie folgt:

3.1.2 Korrelationskoeffizientenmethode

Unter Verwendung der Korrelationskoeffizientenmethode werden zuerst der Korrelationskoeffizient jedes Merkmals zum Zielwert und der P-Wert des Korrelationskoeffizienten berechnet. Verwenden Sie die SelectKBest-Klasse der feature_selection-Bibliothek, um die Korrelationskoeffizienten zu kombinieren und den Feature-Code wie folgt auszuwählen:

3.1.3 Chi-Quadrat-Test

Der klassische Chi-Quadrat-Test dient dazu, die Korrelation von qualitativen unabhängigen Variablen mit qualitativen abhängigen Variablen zu testen. Angenommen, die unabhängige Variable hat N Arten von Werten und die abhängige Variable hat M Arten von Werten. Betrachten Sie die Differenz zwischen dem beobachteten Wert und dem erwarteten Wert der Abtastfrequenz, deren unabhängige Variable gleich i und die abhängige Variable gleich j ist, und konstruieren Sie die Statistik:

Es ist nicht schwer festzustellen, dass die Bedeutung dieser Statistik einfach die Korrelation der unabhängigen Variablen mit der abhängigen Variablen ist. Verwenden Sie die SelectKBest-Klasse der feature_selection-Bibliothek in Verbindung mit dem Chi-Quadrat-Test, um den Feature-Code wie folgt auszuwählen:

3.1.4 Methode der gegenseitigen Information

Die klassische gegenseitige Information wird auch verwendet, um die Korrelation von qualitativen unabhängigen Variablen mit qualitativen abhängigen Variablen zu bewerten. Die Formel zur Berechnung der gegenseitigen Information lautet wie folgt:

Zur Verarbeitung quantitativer Daten wird die Methode des maximalen Informationskoeffizienten vorgeschlagen. Der Code, der die SelectKBest-Klasse der feature_selection-Bibliothek in Kombination mit der Methode für den maximalen Informationskoeffizienten zum Auswählen von Features verwendet, lautet wie folgt:

3.2 Wrapper
3.2.1 Beseitigung rekursiver Merkmale

Das Feature-Verfahren zur rekursiven Eliminierung verwendet ein Basismodell, um mehrere Trainingsrunden durchzuführen. Nach jeder Trainingsrunde werden die Merkmale mehrerer Gewichtskoeffizienten beseitigt, und die nächste Trainingsrunde wird basierend auf dem neuen Merkmalssatz durchgeführt. Der Code, der die RFE-Klasse der Bibliothek feature_selection verwendet, um Features auszuwählen, lautet wie folgt:

3.3 Eingebettet
3.3.1 Strafenbasierte Funktionsauswahl

Bei Verwendung des Basismodells mit Strafbegriffen wird zusätzlich zum Herausfiltern der Merkmale auch eine Dimensionsreduktion durchgeführt. Verwenden Sie die SelectFromModel-Klasse der feature_selection-Bibliothek in Verbindung mit dem logistischen Regressionsmodell mit der L1-Strafe, um den Feature-Code wie folgt auszuwählen:

Tatsächlich besteht das Prinzip der Dimensionsreduzierung des L1-Strafausdrucks darin, eines der Merkmale beizubehalten, das für den Zielwert gleich relevant ist, sodass das nicht ausgewählte Merkmal nicht unwichtig ist. Daher kann es in Kombination mit dem L2-Strafbegriff optimiert werden. Die spezifische Operation lautet wie folgt: Wenn ein Merkmal in L1 eine Gewichtung von 1 hat, bildet ein Merkmal, das in L2 einen geringen Unterschied in der Gewichtung und in L1 eine Gewichtung von 0 aufweist, eine homogene Menge, und die Merkmale in der Menge werden gleichmäßig aufgeteilt in L1. Daher müssen Sie ein neues logistisches Regressionsmodell erstellen:

Verwenden Sie die SelectFromModel-Klasse der feature_selection-Bibliothek in Verbindung mit dem logistischen Regressionsmodell mit den Strafbegriffen L1 und L2, um den Feature-Code wie folgt auszuwählen:

3.3.2 Featureauswahl anhand des Baummodells

Im Baummodell kann GBDT auch als Basismodell für die Featureauswahl verwendet werden. Der Code des Features wird mithilfe der SelectFromModel-Klasse der Bibliothek feature_selection in Verbindung mit dem GBDT-Modell ausgewählt.

4. Dimensionsreduktion

Wenn die Featureauswahl abgeschlossen ist, kann das Modell direkt trainiert werden, die Featurematrix ist jedoch zu groß, was zu einem hohen Rechenaufwand und einer langen Trainingszeit führt. Daher ist es auch erforderlich, die Dimension der Merkmalsmatrix zu reduzieren. Gängige Dimensionalitätsreduktionsmethoden Zusätzlich zu dem oben erwähnten L1-Strafen-basierten Modell gibt es eine Hauptkomponentenanalyse (PCA) und eine lineare Diskriminanzanalyse (LDA). Die lineare Diskriminanzanalyse selbst ist ebenfalls ein Klassifizierungsmodell. PCA und LDA weisen viele Ähnlichkeiten auf, die im Wesentlichen darin bestehen, die ursprüngliche Probe auf den niederdimensionalen Probenraum abzubilden. Das Abbildungsziel von PCA und LDA ist jedoch unterschiedlich: PCA soll sicherstellen, dass die abgebildete Probe die größte Divergenz aufweist. LDA wurde entwickelt, um der abgebildeten Stichprobe die beste Klassifizierungsleistung zu geben. PCA ist also ein unbeaufsichtigtes Verfahren zur Dimensionsreduzierung, und LDA ist ein überwachtes Verfahren zur Dimensionsreduzierung.

4.1 Hauptkomponentenanalyse (PCA)

Der Code zum Auswählen von Features mithilfe der PCA-Klasse der Dekompositionsbibliothek lautet wie folgt:

4.2 Lineare Diskriminanzanalyse (LDA)

Der Code zum Auswählen von Features mithilfe der LDA-Klasse der LDA-Bibliothek lautet wie folgt:

Verweise:

  1. https://www.quora.com/topic/Data-Cleansing
  2. https://www.quora.com/Was-ist-die-wahre-Datenbereinigung-für- einen-Datenwissenschaftler
  3. https://www.quora.com/Was-ist-Ihre-beste-Beschreibung-der-Datenreinigung-in-Datenanalyse-und-Maschinenlernenhttps://www.quora.com/Was-ist- Ihre beste Beschreibung von Datenbereinigung in Datenanalyse und maschinellem Lernen