Einführung in die Auswahl von Gruppenfunktionen | von Aviv Levi | Juni 2023

0
25


Gruppenmerkmalsauswahl von DALL-E

Merkmale in einem Information-Science-Projekt sind die Stufen zu Ihrer Leiter, das Wasser zu Ihrem Schiff, die Luft zu Ihrem Flugzeug, … nun, Sie haben es verstanden.

Obwohl es sich dabei um die Bruchstücke der Wahrheit handelt, die unser Modell durchlebt, können sie nicht alle gleichzeitig existieren, oder sollten es zumindest nicht tun.

Einige Funktionen können irrelevant und schlecht konstruiert sein und (höchstwahrscheinlich) zu Multikollinearität führen, die die Genauigkeit und Geschwindigkeit unseres Modells beeinträchtigt.
Mit den richtigen Funktionen sind Sie zu 95 % auf dem Weg zu einem Modell, das eine bessere Genauigkeit, Effizienz und Interpretierbarkeit erreicht – und zwar schneller.

In diesem Artikel werde ich meine Motivation für die Verwendung bestehender Methoden zur Funktionsauswahl und die Gründe, warum ich eine (glaube ich) völlig neue Technik entwickelt habe, mitteilen.

  • Statistische Checks: wie VarianceThreshold und chi2.
  • Rekursive Methoden wie rekursive Merkmalseliminierung mit Kreuzvalidierung.
  • Verwendung der inhärenten Features_importance des Modells, sofern vorhanden.

Das sind ausgezeichnete Methoden, ich verwende sie ständig einzeln oder zusammen, aber sie bringen einige technische Probleme mit sich:

  1. Statistische Methoden sind zu einfach – diese Methoden können leicht einige nicht triviale Zusammenhänge zwischen Options übersehen, die ein Modell verwenden kann, und so Options entfernen, die hilfreich sein könnten.
  2. Rekursive/iterative Methoden sind zu langsam; Was wäre, wenn Sie über 200 Funktionen verfügen und das Trainieren eines Modells 30 Sekunden dauert? Angenommen, Sie verwenden eine 5-fache Kreuzvalidierung, die sich auf 30 (Sekunden) * 200 (Funktionen) * 5 (Falten) = über 8 Stunden summiert.
  3. Die Wichtigkeit von Merkmalen hängt von der Fähigkeit des Modells ab, wesentliche Merkmale von unwichtigen Merkmalen zu unterscheiden. Dies kann schwierig sein, wenn Sie eine große Anzahl von Merkmalen gleichzeitig testen möchten, da das Modell unter Multikollinearität leidet.

Um diese Einschränkungen zu beheben, habe ich vor kurzem damit begonnen, eine modifizierte Model meiner Lieblingsmethode zu verwenden – rekursive Methoden – eine Modifikation, die den Prozess beschleunigt und gleichzeitig die wichtigsten Funktionen schützt.

Group Function Choice ist eine Methode, die ich in meinem letzten Kaggle-Wettbewerb verwendet habe – Vorhersage des Einfrierens des Ganges bei Parkinson (Meine endgültige Place: 205/1379).

0. Definieren Sie eine Stammgruppe von Options und erhalten Sie Ihre anfängliche Punktzahl.

  1. Definieren Sie Gruppen von Options, die eine ähnliche Bedeutung haben, aber unterschiedliche Maßstäbe einführen.
  2. Entscheiden Sie sich für eine minimale Punkteverbesserung professional Merkmal (bezeichnet). ɰ).
  3. Fügen Sie jeweils eine Gruppe hinzu. Wenn die Gruppe besser abschneidet als Ihr bester Wert + (Anzahl der hinzugefügten Funktionen * ɰ), ist diese Gruppe intestine genug für den nächsten Check.
  4. Nehmen Sie nun jedes Merkmal der Gruppe, das den Check in Schritt 3 bestanden hat, und führen Sie eine Merkmalseliminierung nach unten durch – dies verhindert Multikollinearität innerhalb der Gruppe.

5. Wenn es mehr Gruppen gibt, kehren Sie zu Schritt 3 zurück

Warum ist diese Methode korrekt?

  • Diese Methode bezieht ihre Genauigkeit von ihrer Muttermethode, der iterativen Merkmalsauswahl.

Warum ist diese Methode schnell?

  • Der Grund dafür sind die Gruppen. Wenn sich eine Gruppe nicht um den angegebenen Schwellenwert verbessert, wird sie verworfen.
    Wenn eine Gruppe (zum Beispiel) 8 Options hat, können wir sie alle mit einer CV-Schleife anstelle von 8 verwerfen.

Wann sollte ich es verwenden?

  • Diese Methode ist meines Erachtens sehr nützlich, wenn Sie eine große Anzahl der von Ihnen entwickelten Funktionen testen möchten. Es ist jedoch erwähnenswert, dass es sich hierbei um einen sehr benutzerdefinierten Prozess handelt, der bei schlechter Durchführung seinen Zweck möglicherweise völlig verfehlt.

Was sind die wichtigsten benutzerdefinierten Punkte und wie soll ich sie definieren?

  • Definieren Sie die Root-Gruppe (Schritt 0) mit Vorsicht! Wählen Sie grundlegende Funktionen für das Drawback aus, das Sie lösen möchten (einfach != die besten Funktionen).
  • Probieren Sie verschiedene Gruppendefinitionen aus. Eine Möglichkeit besteht darin, alle Options, die aus denselben Grundfeatures generiert wurden, als Gruppe zu bezeichnen.
    Eine andere Möglichkeit besteht darin, die Gruppen nach Maßstab/Methode aufzubauen.

Einige Beispiele für Letzteres:
– Alle Options, die den Mittelwert/Median/Customary/Mindestwert/Most anderer Options annehmen.
– Alle Funktionen, die die Verzögerung (Zeitreihe) der Größe X übernehmen.
– Alle Options, die modellgeneriert sind.

  • Vermeiden Sie es, zu kleine Gruppen zu definieren (sonst haben Sie lediglich eine Auswahl an Options nach oben).
  • Vermeiden Sie zu große Function-Gruppen, sonst verpassen Sie auf jeden Fall wertvolle Options, die nicht groß genug waren, um den Check zu bestehen (Schritt 3).
  • Experimentieren Sie mit verschiedenen Werten für die minimale Verbesserung der Punktzahl (ɰ)
    Ein guter Ausgangspunkt ist die durchschnittliche Funktionsverbesserung, die Sie aus früheren Experimenten erhalten haben.

Wann sollten Sie es nicht verwenden?

  • Wenn Sie bei jeder Iteration in Ihrem Information-Science-Zyklus (EDA->Function-Engineering ->Options.Auswahl ->Modellierung->Testen) eine kleine Menge an Options einführen, sollten Sie eine andere Methode verwenden.
  • Wenn Sie nicht das Risiko eines benutzerdefinierten Prozesses eingehen möchten.

Ich hoffe, dass Sie bei Ihrem nächsten Projekt von diesem Ansatz profitieren werden und dass die Funktionen Sie begleiten.



Source link

HINTERLASSEN SIE EINE ANTWORT

Please enter your comment!
Please enter your name here