Datentransformation – Learning mit Zahlen

Wichtig

Der Support für Machine Learning Studio (klassisch) endet am 31. August 2024. Es wird empfohlen, bis zu diesem Datum auf Azure Machine Learning umzustellen.

Ab dem 1. Dezember 2021 können Sie keine neuen Ressourcen in Machine Learning Studio (klassisch) mehr erstellen. Bis zum 31. August 2024 können Sie die vorhandenen Ressourcen in Machine Learning Studio (klassisch) weiterhin verwenden.

Die Dokumentation zu ML Studio (klassisch) wird nicht mehr fortgeführt und kann künftig nicht mehr aktualisiert werden.

In diesem Artikel werden die Module in Machine Learning Studio (klassisch) beschrieben, die die count-basierte Featurisierung unterstützen.

Hinweis

Gilt nur für: Machine Learning Studio (klassisch)

Ähnliche Drag & Drop-Module sind im Azure Machine Learning-Designer verfügbar.

Learning mit Zählungen ist eine effiziente Möglichkeit, einen kompakten Satz von Datasetfeatures zu erstellen, die auf der Anzahl der Werte basieren. Sie können die Module in dieser Kategorie verwenden, um eine Reihe von Zahlen und Features zu erstellen. Später können Sie die Anzahl und die Features aktualisieren, um neue Daten zu nutzen, oder zwei Sätze von Zählerdaten zusammenführen.

Informationen zur count-basierten Featurisierung

Die Grundidee der count-basierten Featurisierung ist, dass Sie durch berechnen der Anzahl 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 dann als Feature für die Eingabe in ein Modell bereit.

Imagine, dass Sie eine Kreditkartentransaktion überprüfen. Eine wichtige Information ist, woher diese Transaktion stammt. Eine der gängigsten Codierungen des Transaktionsursprungs 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 ihr diese Kapazität geben, verfügen Sie über genügend Trainingsdaten, um eine Überanpassung zu verhindern?

Wenn Sie über gute Daten mit vielen Stichproben verfügen, kann eine solche differenzierte lokale Granularität leistungsfähig sein. Wenn Sie jedoch nur eine Stichprobe einer betrügerischen Transaktion von einem kleinen Ort haben, bedeutet dies, dass alle Transaktionen von diesem Ort schlecht sind oder dass Sie nicht über genügend Daten verfügen?

Eine Lösung besteht darin, mit Zählungen zu lernen. Anstatt 40.000 weitere Features einzuführen, können Sie die Anzahl und den Anteil 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 jeden Wert. Darüber hinaus kann der Lerner durch codieren der relevanten Statistiken der Anzahl die Statistiken verwenden, um zu entscheiden, wann er seine Vorgehensweise ändern soll, und stattdessen andere Features verwenden, um die Informationen abzurufen.

Count-based learning ist aus vielen Gründen interessant. Beim count-basierten Lernen verfügen Sie über weniger Features, die weniger Parameter erfordern. Eine geringere Anzahl von Parametern ermöglicht schnelleres Lernen, schnellere Vorhersagen, kleinere Prädiktoren und weniger Überanpassungsmöglichkeiten.

Erstellen von count-basierten Features

Anhand eines einfachen Beispiels kann veranschaulicht werden, wie count-basierte Features erstellt und angewendet werden. Angenommen, Sie verfügen über die folgende Tabelle mit Bezeichnungen und Eingaben. Jeder Fall (oder jede Zeile oder Stichprobe) verfügt über einen Satz von Werten in Spalten. In diesem Beispiel sind die Werte A und B.

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

Dies sind die Schritte, die Sie ausführen, um count-basierte Features zu erstellen:

  1. Suchen Sie für einen bestimmten Satz von Werten alle anderen Fälle in diesem Dataset, die denselben Wert aufweisen. In diesem Fall gibt es drei Instanzen von A und vier Instanzen von B.
  2. Zählen Sie die Klassenmitgliedschaft jedes Werts als Feature an sich. In diesem Fall erhalten Sie eine kleine Matrix: Es gibt zwei Fälle, in denen A = 0; ein Fall, in dem A = 1; ein Fall, in dem B = 0; und drei Fälle, in denen B = 1 ist.
  3. Basierend auf dieser Matrix erhalten Sie eine Vielzahl von anzahlbasierten Features. Dazu gehören eine Berechnung des Log-Wahrscheinlichkeits-Verhältnisses und der Anzahlen für jede Zielklasse. In der Tabelle im nächsten Abschnitt werden die Daten angezeigt.

Beispieltabelle mit anzahlbasierten Features

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 Use Machine Learning to build clickthrough prediction models (Verwenden von Machine Learning zum Erstellen von Clickthrough-Vorhersagemodellen) bietet das Microsoft Machine Learning-Team eine ausführliche exemplarische Vorgehensweise zur Verwendung von Zählern in Machine Learning. In diesem Artikel wird die Effizienz der count-basierten Modellierung mit anderen Methoden verglichen.

Technische Hinweise

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

Berechnen des Protokollverlustwerts

Der Protokollverlustwert ist nicht die einfache Protokollwahrscheinlichkeit. In diesem Fall wird die vorherige Verteilung verwendet, um die Berechnung der Protokollwahrscheinlichkeiten zu glätten.

Angenommen, Sie verfügen über ein Dataset, das für die binäre Klassifizierung verwendet wird. In diesem Dataset ist p_0die vorherige Häufigkeit für Klasse 0 , und die vorherige Häufigkeit für Klasse 1 ist p_1 = 1 – p_0. Für ein bestimmtes Trainingsbeispielfeature ist x_0die Anzahl für Klasse 0 , und die Anzahl für Klasse 1 ist x_1.

Unter diesen Annahmen werden die Protokollwahrscheinlichkeiten als LogOdds = Log(x0 + c * p0) – Log (x1 + c\p1)berechnet, wobei c der vorherige Koeffizient ist, der vom Benutzer festgelegt werden kann. Die Protokollfunktion 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 Koeffizient positiv ist, können sich die Protokollaussichten von unterscheiden Log(count[i] / (sum_of_counts – count[i])).

Warum die Protokollwahrscheinlichkeiten für einige Elemente nicht berechnet werden

Standardmäßig werden alle Elemente mit einer Anzahl von weniger als 10 in einem einzigen Bucket gesammelt, der als "Garbage Bin" bezeichnet wird. Sie können diesen Wert mithilfe der Schwellenwertoption Garbage Bin im Modul Modify Count Table Parameters ändern ändern.

Liste der Module

Die kategorie Learning mit Anzahlen umfasst die folgenden Module:

  • Buildzähltransformation: Erstellt eine Zähltabelle und count-basierte Features aus einem Dataset und speichert dann die Tabelle und die Features als Transformation.
  • Export Count Table :Exportiert eine Zähltabelle aus einer Zähltransformation. Dieses Modul unterstützt Abwärtskompatibilität mit Experimenten, die count-basierte Features mithilfe von Build Count Table (veraltet) und Count Featurizer (veraltet) erstellen.
  • Import Count Table :Importiert eine vorhandene Zähltabelle. Dieses Modul unterstützt Abwärtskompatibilität mit Experimenten, die count-basierte Features mithilfe von Build Count Table (veraltet) und Count Featurizer (veraltet) erstellen. Das Modul unterstützt die Konvertierung von Zähltabellen in Count-Transformationen.
  • Transformation für Zusammenführungsanzahl: Führt zwei Sätze von count-basierten Features zusammen.
  • Parameter der Count-Tabelle ändern: Ändert die anzahlbasierten Features, die von einer vorhandenen Anzahltabelle abgeleitet werden.

Siehe auch