Daten Transformation: Lernen mit Anzahlen

In diesem Artikel werden die Module in Azure Machine Learning Studio (klassisch) beschrieben, die die Anzahl basierte Featureunterstützung unterstützen.

Hinweis

Gilt für: Machine Learning Studio (klassisch)

Dieser Inhalt bezieht sich nur auf Studio (klassisch). Ähnliche Drag & Drop-Module wurden Azure Machine Learning-Designer hinzugefügt. Weitere Informationen finden Sie in diesem Artikel zum Vergleich der beiden Versionen.

Das Erlernen mit Zählungen ist eine effiziente Möglichkeit zum Erstellen eines kompakten Satzes von Datasetfeatures, die auf der Anzahl von Werten basieren. Mithilfe der Module in dieser Kategorie können Sie einen Satz von Zählungen und Features erstellen. Später können Sie die Anzahl und die Features aktualisieren, um neue Daten zu nutzen, oder Sie können zwei Sätze von Zähl Daten zusammenführen.

Informationen zur count-basierten featurearisierung

Die grundlegende Idee der count-basierten featurearisierung besteht darin, dass Sie durch das Berechnen von Zählungen schnell und einfach eine Zusammenfassung der Spalten erhalten können, die die wichtigsten Informationen enthalten. Das Modul zählt, wie oft ein Wert angezeigt wird, und stellt diese Informationen als Funktion für die Eingabe in ein Modell bereit.

Stellen Sie sich vor, dass Sie eine Kreditkartentransaktion überprüfen. Eine wichtige Information ist der Ort, aus dem diese Transaktion stammt. Eine der gängigsten Codierungen des Transaktions Ursprungs ist die Postleitzahl. Allerdings müssen möglicherweise bis zu 40.000 Postleitzahlen und geografische Codes berücksichtigt werden. Verfügt Ihr Modell über die Kapazität, weitere 40.000 Parameter zu lernen? Wenn Sie diese Kapazität erhalten haben, verfügen Sie über genügend Trainingsdaten, um eine über Anpassung zu vermeiden?

Wenn Sie über gute Daten verfügen und viele Beispiele haben, kann eine solche differenzierte lokale Granularität leistungsstark sein. Wenn Sie jedoch nur ein Beispiel für eine betrügerische Transaktion, von einem kleinen Ort, haben, bedeutet dies, dass alle Transaktionen an diesem Ort schlecht sind oder dass Sie nicht über genügend Daten verfügen?

Eine Lösung besteht darin, mit Anzahlen zu lernen. Anstatt 40.000 weitere Features einzuführen, können Sie die Anzahl und Proportionen von Betrug für jede Postleitzahl beobachten. Wenn Sie diese Zählungen als Features verwenden, erhalten Sie Informationen zur Stärke der Beweise für die einzelnen Werte. Durch das Codieren der relevanten Statistiken der Zählungen kann der Lerner außerdem die Statistiken verwenden, um zu entscheiden, wann der Ansatz geändert werden soll, und stattdessen andere Features verwenden, um die Informationen zu erhalten.

Count-basiertes Lernen ist aus vielen Gründen attraktiv. Mit count-basiertem lernen verfügen Sie über weniger Features, die weniger Parameter benötigen. Weniger Parameter sind für schnelleres lernen, schnellere Vorhersage, kleinere präktoren und weniger potenzielle über Anpassung.

Erstellen von count-basierten Funktionen

Ein grundlegendes Beispiel kann veranschaulichen, wie Zähl basierte Funktionen erstellt und angewendet werden. Angenommen, Sie haben die folgende Tabelle mit Bezeichnungen und Eingaben. Jeder Fall (oder eine Zeile oder ein Beispiel) verfügt über einen Satz von Werten in Spalten. In diesem Beispiel lauten die Werte A und B.

Bezeichnungsspalte Eingabewert
0 Ein
0 Ein
1 Ein
0 B
1 B
1 B
1 B

Dies sind die Schritte, die Sie zum Erstellen von count-basierten Features ausführen müssen:

  1. Suchen Sie für einen bestimmten Satz von Werten alle anderen Fälle in dem DataSet, die denselben Wert aufweisen. In diesem Fall gibt es drei Instanzen von und vier Instanzen von B.
  2. Zählen Sie die Klassenmitgliedschaft jedes Werts als eine Funktion in sich selbst. In diesem Fall erhalten Sie eine kleine Matrix: Es gibt zwei Fälle, in denen a = 0 ist. ein Fall, bei dem A = 1; ein Fall, bei dem B = 0; und drei Fälle, in denen B = 1 ist.
  3. Basierend auf dieser Matrix erhalten Sie eine Vielzahl von count-basierten Features. Dazu zählen die Berechnung des Verhältnis zwischen Protokoll Quoten und die Anzahl der einzelnen Ziel Klassen. In der Tabelle im nächsten Abschnitt werden die Daten angezeigt.

Beispiel Tabelle der count-basierten Funktionen

Bezeichnung 0_0_Class000_Count 0_0_Class001_Count 0_0_Class000_LogOdds 0_0_IsBackoff
0 2 1 0,510826 0
0 2 1 0,510826 0
1 2 1 0,510826 0
0 1 3 -0,8473 0
1 1 3 -0,8473 0
1 1 3 -0,8473 0
1 1 3 -0,8473 0

Beispiele

Unter Verwenden von Azure Machine Learning zum Erstellen von Vorhersagemodellen mit durch Klickenbietet das Microsoft Machine Learning-Team eine ausführliche Exemplarische Vorgehensweise zur Verwendung von Anzahlen in Machine Learning. Der Artikel vergleicht die Wirksamkeit der count-basierten Modellierung mit anderen Methoden.

Technische Hinweise

Dieser Abschnitt enthält Implementierungsdetails, Tipps und Antworten auf häufig gestellte Fragen.

Berechnen des Protokoll Verlust Werts

Der Protokoll Verlust Wert ist nicht die einfache Protokoll Wahrscheinlichkeit. In diesem Fall wird die vorherige Verteilung verwendet, um die Protokollierung der Protokoll Wahrscheinlichkeit zu glätten.

Angenommen, Sie verfügen über ein DataSet, das für die binäre Klassifizierung verwendet wird. In diesem DataSet ist die vorherige Häufigkeit für Klasse 0 p_0 , und die vorherige Häufigkeit für Klasse 1 ist p_1 = 1 – p_0 . Für eine bestimmte Schulungs Beispiel Funktion ist die Anzahl für Klasse 0 x_0 und die Anzahl für Klasse 1 x_1 .

Unter diesen Annahmen wird die Protokoll Wahrscheinlichkeit als berechnet LogOdds = Log(x0 + c * p0) – Log (x1 + c\p1) , wobei c der vorherige Koeffizienten ist, der vom Benutzer festgelegt werden kann. Die Log-Funktion verwendet die natürliche Basis.

Anders ausgedrückt: für jede Klasse i :

Log_odds[i] = Log( (count[i] + prior_coefficient * prior_frequency[i]) / (sum_of_counts - count[i]) + prior_coefficient \* (1 - prior_frequency[i]))

Wenn der vorherige Koeffizienten positiv ist, kann sich die Protokoll Wahrscheinlichkeit von unterscheiden Log(count[i] / (sum_of_counts – count[i])) .

Warum die Protokoll-und für einige Elemente nicht berechnet werden

Standardmäßig werden alle Elemente, deren Anzahl kleiner als 10 ist, in einem einzigen Bucket mit dem Namen "Garbage bin" gesammelt. Sie können diesen Wert ändern, indem Sie die Option Garbage bin Threshold im Modul Modify count Table Parameters verwenden.

Liste der Module

Die Kategorie Learning with Counts umfasst die folgenden Module:

  • Build count Transform: erstellt eine count-Tabelle und count-basierte Funktionen aus einem DataSet und speichert dann die Tabelle und die Features als Transformation.
  • Export count Table: exportiert eine count-Tabelle aus einer Zähl Transformation. Dieses Modul unterstützt die Abwärtskompatibilität mit Experimenten, die Anzahl basierte Features mithilfe der Build count Table (deprecated) und count featurizer (veraltet) erstellen.
  • Import count Table: importiert eine vorhandene Anzahl Tabelle. Dieses Modul unterstützt die Abwärtskompatibilität mit Experimenten, die Anzahl basierte Features mithilfe der Build count Table (deprecated) und count featurizer (veraltet) erstellen. Das Modul unterstützt die Konvertierung von count-Tabellen zum zählen von Transformationen.
  • Transformation für Zusammenführungs Anzahl: führt zwei Sätze von count-basierten Features zusammen.
  • Modify count Table Parameters: ändert Anzahl basierte Funktionen, die von einer vorhandenen count-Tabelle abgeleitet werden.

Weitere Informationen