Erstellen von Zähltransformationen
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.
- Siehe Migrieren zu Azure Machine Learning
- Weitere Informationen zu Azure Machine Learning.
Die Dokumentation zu ML Studio (klassisch) wird nicht mehr fortgeführt und kann künftig nicht mehr aktualisiert werden.
Erstellt eine Transformation, die Zähltabellen in Features umwandelt, sodass Sie die Transformation auf mehrere Datasets anwenden können.
Kategorie: Learning mit Anzahlen
Hinweis
Gilt für: Machine Learning Studio (klassisch)
Ähnliche Drag & Drop-Module sind im Azure Machine Learning-Designer verfügbar.
Modulübersicht
In diesem Artikel wird beschrieben, wie Sie das Modul Build Counting Transform in Machine Learning Studio (klassisch) verwenden, um Trainingsdaten zu analysieren. Aus diesen Daten erstellt das Modul eine Count-Tabelle sowie eine Reihe von count-basierten Features, die in einem Vorhersagemodell verwendet werden können.
Eine Count-Tabelle enthält die gemeinsame Verteilung aller Featurespalten, wenn eine angegebene Bezeichnungsspalte angegeben ist. Solche Statistiken sind nützlich, um zu bestimmen, welche Spalten den meisten Informationswert haben. Die zählbasierte Featurisierung ist nützlich, da solche Features kompakter als die ursprünglichen Trainingsdaten sind, aber alle nützlichsten Informationen erfassen. Sie können die Modulparameter verwenden, um anzupassen, wie die Anzahlen in den neuen Satz von zählbasierten Features transformiert werden.
Nachdem Sie die Anzahl generiert und in Features transformiert haben, können Sie den Prozess als Transformation für die Erneute Verwendung verwandter Daten speichern. Sie können auch den Satz von Features ändern, ohne einen neuen Satz von Zählern generieren zu müssen, oder die Anzahlen und Features mit einer anderen Gruppe von Anzahlen und Features zusammenführen.
Die Möglichkeit, zählbasierte Features wieder zu verwenden und erneut anzuwenden, ist in Szenarien wie diesen nützlich:
- Neue Daten werden verfügbar, um die Abdeckung oder Ausgewogenheit Ihres Datasets zu verbessern.
- Ihre ursprünglichen Anzahlen und Features basierten auf einem sehr großen Dataset, das Sie nicht erneut verarbeiten möchten. Durch Zusammenführen der Anzahlen können Sie mit neuen Daten aktualisieren.
- Sie möchten sicherstellen, dass die gleichen zählbasierten Features auf alle Datasets angewendet werden, die Sie in Ihrem Experiment verwenden.
Konfigurieren der Transformation für die Buildzählung
Sie können eine zählbasierte Featuretransformation direkt aus einem Dataset erstellen und jedes Mal erneut ausführen, wenn Sie ein Experiment ausführen. Oder Sie können einen Satz von Zählungen generieren und ihn dann mit neuen Daten zusammenführen, um eine aktualisierte Zählungstabelle zu erstellen.
Erstellen von zählbasierten Features aus einem Dataset
Beginnen Sie hier, wenn Sie noch keine Anzahlen erstellt haben. Mithilfe des Moduls Build Count Transform können Sie Zähltabellen erstellen und automatisch eine Reihe von Features generieren.
Dieser Prozess erstellt eine Featuretransformation, die Sie mithilfe des Moduls Apply Transformation (Transformation anwenden) auf ein Dataset anwenden können.
Zusammenführen von Anzahlen und Features aus mehreren Datasets
Wenn Sie bereits eine Count-Tabelle aus einem vorherigen Dataset generiert haben, generieren Sie Nur-Anzahlen für die neuen Daten, oder importieren Sie eine vorhandene Count-Tabelle, die in einer früheren Version von Machine Learning. Führen Sie dann die beiden Sätze von Count-Tabellen zusammen.
Dieser Prozess erstellt eine neue Featuretransformation, die Sie mithilfe des Moduls Apply Transformation (Transformation anwenden) auf ein Dataset anwenden können.
Erstellen von zählbasierten Features aus einem Dataset
Fügen Machine Learning Studio (klassisch) ihrem Experiment das Modul Build Counting Transform hinzu. Sie finden das Modul unter Datentransformation in der Kategorie Learning Anzahlen.
Verbinden Das Dataset, das Sie als Grundlage für unsere zählbasierten Features verwenden möchten.
Verwenden Sie die Option Anzahl der Klassen , um die Anzahl der Werte in der Bezeichnungsspalte anzugeben.
- Geben Sie für jedes Binärklassifizierungsproblem ein
2
. - Für ein Klassifizierungsproblem mit mehr als zwei möglichen Ausgaben müssen Sie die genaue Anzahl der zu zählenden Klassen im Voraus angeben. Wenn Sie eine Zahl eingeben, die kleiner als die tatsächliche Anzahl von Klassen ist, gibt das Modul einen Fehler zurück.
- Wenn Ihr Dataset mehrere Klassenwerte enthält und die Klassenbezeichnungswerte nicht sequenziell sind, müssen Sie Metadaten bearbeiten verwenden, um anzugeben, dass die Spalte Kategoriewerte enthält.
- Geben Sie für jedes Binärklassifizierungsproblem ein
Geben Sie für die Option Die Bits der Hashfunktion an, wie viele Bits beim Hashing der Werte verwendet werden.
Es ist im Allgemeinen sicher, die Standardwerte zu akzeptieren, es sei denn, Sie wissen, dass viele Werte gezählt werden müssen und möglicherweise eine höhere Bitanzahl erforderlich ist.
Unter Der Startwert der Hashfunktion können Sie optional einen Wert angeben, um ein Seeding für die Hashfunktion zu erstellen. Das manuelle Festlegen eines Startwerts erfolgt in der Regel, wenn Sie sicherstellen möchten, dass Die Hashergebnisse für alle Läufe desselben Experiments deterministisch sind.
Verwenden Sie die Option Modultyp , um den Typ der Zu zählenden Daten basierend auf dem Speichermodus anzugeben:
Dataset: Wählen Sie diese Option aus, wenn Sie Daten zählen, die als Dataset in Machine Learning Studio (klassisch) gespeichert sind.
Blob: Wählen Sie diese Option aus, wenn Ihre Quelldaten, die zum Erstellen der Anzahl verwendet werden, als Blockblob in Windows Azure Storage gespeichert werden.
MapReduce: Wählen Sie diese Option aus, wenn Sie Map/Reduce-Funktionen aufrufen möchten, um die Daten zu verarbeiten.
Um diese Option verwenden zu können, müssen die neuen Daten als Blob in Windows Azure Storage bereitgestellt werden, und Sie müssen Zugriff auf einen bereitgestellten HDInsight-Cluster haben. Wenn Sie das Experiment ausführen, wird ein Map/Reduce-Auftrag im Cluster gestartet, um die Zählung durchzuführen.
Für sehr große Datasets wird empfohlen, diese Option nach Möglichkeit zu verwenden. Obwohl ggf. zusätzliche Kosten für die Verwendung des HDInsight-Diensts anfallen, ist die Berechnung bei großen Datasets in HDInsight möglicherweise schneller.
Weitere Informationen finden Sie unter https://azure.microsoft.com/services/hdinsight/.
Nachdem Sie den Datenspeichermodus angegeben haben, geben Sie alle zusätzlichen Verbindungsinformationen für die erforderlichen Daten an:
- Wenn Sie Daten aus Hadoop oder Blob Storage verwenden, geben Sie den Clusterspeicherort und die Anmeldeinformationen an.
- Wenn Sie zuvor ein Import Data-Modul im Experiment verwendet haben, um auf Daten zu zugreifen, müssen Sie den Kontonamen und Ihre Anmeldeinformationen erneut eingeben. Das Build Counting Transform-Modul greifen separat auf den Datenspeicher zu, um die Daten zu lesen und die erforderlichen Tabellen zu erstellen.
Wählen Sie für Bezeichnungsspalte oder -index eine Spalte als Bezeichnungsspalte aus.
Eine Bezeichnungsspalte ist erforderlich. Die Spalte muss bereits als Bezeichnung gekennzeichnet sein, oder es wird ein Fehler ausgelöst.
Verwenden Sie die Option Select columns to count (Zu zählende Spalten auswählen), und wählen Sie die Spalten aus, für die Zählungen generiert werden sollen.
Im Allgemeinen sind die besten Kandidaten hochdimensionale Spalten, zusammen mit allen anderen Spalten, die mit diesen Spalten korreliert sind.
Verwenden Sie die Option Tabellentyp zählen , um das Format anzugeben, das zum Speichern der Count-Tabelle verwendet wird.
Wörterbuch: Erstellt eine Wörterbuchzählertabelle. Alle Spaltenwerte in den ausgewählten Spalten werden als Zeichenfolgen behandelt und werden mit einem Bitarray auf 31 Bits gehasht. Daher werden alle Spaltenwerte als nicht negative ganze 32-Bit-Zahlen dargestellt.
Im Allgemeinen sollten Sie diese Option für kleinere Datasets (weniger als 1 GB) und die CMSketch-Option für größere Datasets verwenden.
Nachdem Sie diese Option ausgewählt haben, konfigurieren Sie die Anzahl von Bits, die von der Hashfunktion verwendet werden, und legen einen Ausgangswert für die Initialisierung der Hashfunktion fest.
CMSketch: Erstellt eine Minimale Zählungstabelle. Mit dieser Option werden mehrere unabhängige Hashfunktionen mit einem kleineren Bereich zur Verbesserung der Speichereffizienz und Reduzierung der Wahrscheinlichkeit für Hashkonflikte verwendet. Die Parameter zum Hashen der Bitgröße und des Hashwerts haben keine Auswirkungen auf diese Option.
Führen Sie das Experiment aus.
Das Modul erstellt eine Transformation für die Featurisierung , die Sie als Eingabe für das Modul Apply Transformation (Transformation anwenden) verwenden können. Die Ausgabe des Moduls Apply Transformation (Transformation anwenden) ist ein transformiertes Dataset, das zum Trainieren eines Modells verwendet werden kann.
Optional können Sie die Transformation speichern, wenn Sie den Satz von zählbasierten Features mit einem anderen Satz von zählbasierten Features zusammenführen möchten. Weitere Informationen finden Sie unter Transformieren der Zusammenführungsanzahl.
Zusammenführen von Anzahlen und Features aus mehreren Datasets
Fügen Machine Learning Studio (klassisch) ihrem Experiment das Modul Build Counting Transform hinzu, und verbinden Sie das Dataset, das die neuen Daten enthält, die Sie hinzufügen möchten.
Verwenden Sie die Option Modultyp , um die Quelle der neuen Daten anzugeben. Sie können Daten aus verschiedenen Quellen zusammenführen.
Dataset: Wählen Sie diese Option aus, wenn die neuen Daten als Dataset in Machine Learning Studio (klassisch) bereitgestellt werden.
Blob: Wählen Sie diese Option aus, wenn die neuen Daten als Blockblob in Windows Azure Storage bereitgestellt werden.
MapReduce: Wählen Sie diese Option aus, wenn Sie Map/Reduce-Funktionen aufrufen möchten, um die Daten zu verarbeiten.
Um diese Option verwenden zu können, müssen die neuen Daten als Blob in Windows Azure Storage bereitgestellt werden, und Sie müssen Zugriff auf einen bereitgestellten HDInsight-Cluster haben. Wenn Sie das Experiment ausführen, wird ein Map/Reduce-Auftrag im Cluster gestartet, um die Zählung durchzuführen.
Weitere Informationen finden Sie unter https://azure.microsoft.com/services/hdinsight/.
Nachdem Sie den Datenspeichermodus angegeben haben, geben Sie zusätzliche Verbindungsinformationen für die neuen Daten an:
Wenn Sie Daten aus Hadoop oder Blob Storage verwenden, geben Sie den Clusterspeicherort und die Anmeldeinformationen an.
Wenn Sie zuvor ein Import Data-Modul im Experiment verwendet haben, um auf Daten zu zugreifen, müssen Sie den Kontonamen und Ihre Anmeldeinformationen erneut eingeben. Der Grund dafür ist, dass das Modul Build Counting Transform separat auf den Datenspeicher zutritt, um die Daten zu lesen und die erforderlichen Tabellen zu erstellen.
Beim Zusammenführen von Zählungen müssen die folgenden Optionen in beiden Zählungstabellen identisch sein:
- Anzahl der Klassen
- The bits of hash function
- The seed of hash function
- Select columns to count
Die Bezeichnungsspalte kann unterschiedlich sein, solange sie die gleiche Anzahl von Klassen enthält.
Verwenden Sie die Option Tabellentyp zählen , um das Format und das Ziel für die aktualisierte Count-Tabelle anzugeben.
Tipp
Das Format der beiden Zähltabellen, die Sie zusammenführen möchten, muss identisch sein. Anders ausgedrückt: Wenn Sie eine frühere Count-Tabelle im Wörterbuchformat gespeichert haben, können Sie sie nicht mit Zählern zusammenführen, die im CMSketch-Format gespeichert wurden.
Führen Sie das Experiment aus.
Das Modul erstellt eine Transformation für die Featurisierung , die Sie als Eingabe für das Modul Apply Transformation (Transformation anwenden) verwenden können. Die Ausgabe des Moduls Apply Transformation (Transformation anwenden) ist ein transformiertes Dataset, das zum Trainieren eines Modells verwendet werden kann.
Informationen zum Zusammenführen dieses Zählers mit einem vorhandenen Satz von count-basierten Features finden Sie unter Transformation für die Zusammenführungsanzahl.
Beispiele
In diesen Artikeln finden Sie weitere Informationen zum Zählungsalgorithmus und zur Effektivität der count-basierten Modellierung im Vergleich zu anderen Methoden.
- Verwenden von Azure ML zum Erstellen von Click-Through-Vorhersagemodellen
- Big Learning Made Easy with Counts!
Die folgenden Experimente in der Azure KI-Katalog veranschaulichen, wie sie countbasiertes Lernen verwenden, um verschiedene Vorhersagemodelle zu erstellen:
- Learning mit Zählern – binäre Klassifizierung
- Learning mit Zählungen: Multiklassenklassifizierung mit NYC-Taxidaten
- Learning mit Zählungen: Binäre Klassifizierung mit NYC-Taxidaten
Modulparameter
Die folgenden Parameter werden mit allen Optionen verwendet:
Name | Typ | Range | Optional | Standard | Beschreibung |
---|---|---|---|---|---|
Anzahl der Klassen | Integer | >=2 | Erforderlich | 2 | Die Anzahl der Klassen für die Bezeichnung. |
The bits of hash function | Integer | [12;31] | Erforderlich | 20 | Die Anzahl der Bits des Bereichs der Hashfunktion. |
The seed of hash function | Integer | any | Erforderlich | 1 | Der Startwert für die Hashfunktion. |
Modultypen | Erforderlich | Dataset | Der Typ des Moduls, das beim Generieren der Count-Tabelle verwendet werden soll. | ||
Count table type | CountTableType | Auswählen aus der Liste | Erforderlich | Wörterbuch | Geben Sie das Format der Count-Tabelle an. |
Die folgenden Optionen gelten, wenn Sie die Bloboption auswählen.
Name | Typ | Range | Optional | Standard | Beschreibung |
---|---|---|---|---|---|
Blobname | String | any | Erforderlich | Der Name des Eingabeblobs. Schließen Sie den Containernamen nicht ein. | |
Kontoname | Zeichenfolge | any | Erforderlich | Der Name des Speicherkontos. | |
Kontoschlüssel | SecureString | any | Erforderlich | Der Schlüssel des Speicherkontos. | |
Containername | Zeichenfolge | any | Erforderlich | Der Azure-Blobcontainer, der das Eingabeblob enthält. | |
Count columns | Zeichenfolge | any | Erforderlich | Die einbasierten Indizes von Gruppen von Spalten, die gezählt werden sollen. | |
Bezeichnungsspalte | Integer | >=1 | Erforderlich | 1 | Der einbasierte Index der Bezeichnungsspalte. |
Blob format | any | Erforderlich | CSV | Das Blob-Textdateiformat. |
Die folgenden Parameter gelten, wenn MapReduce zum Generieren von Zählern verwendet wird:
Name | Typ | Range | Optional | Standard | Beschreibung |
---|---|---|---|---|---|
Name des Standard-Speicherkontos | String | any | Erforderlich | Keine | Der Name des Speicherkontos, das das Eingabeblob enthält. |
Default storage account key | SecureString | any | Erforderlich | Keine | Der Schlüssel des Speicherkontos, das das Eingabeblob enthält. |
Default container name | Zeichenfolge | any | Erforderlich | Keine | Der Name des Blobcontainers, in den die Count-Tabelle geschrieben werden soll. |
Cluster URI | Zeichenfolge | any | Erforderlich | Keine | Der URI für den HDInsight Hadoop-Cluster. |
Username | Zeichenfolge | any | Erforderlich | Keine | Der Benutzername für die Anmeldung beim HDInsight Hadoop-Cluster. |
Die folgenden Parameter definieren das Format der Count-Tabelle:
Name | Typ | Range | Optional | Standard | Beschreibung |
---|---|---|---|---|---|
Count table type | CountTableType | Liste | Erforderlich | Wörterbuch | Typ der Count-Tabelle. |
Label column index or name | ColumnSelection | Erforderlich, wenn die als Dataset gespeicherte Count-Tabelle | Keine | Wählen Sie die Bezeichnungsspalte aus. | |
Select columns to count | ColumnSelection | Erforderlich, wenn die als Dataset gespeicherte Count-Tabelle | Wählen Sie die zu zählenden Spalten. Diese Spalten werden als kategorische Features betrachtet. | ||
Depth of CM sketch table | Integer | >=1 | Erforderlich, wenn die Count-Tabelle das CMSketch-Format verwendet | 4 | Die Tiefe der CM-Skizztabelle, die der Anzahl der Hashfunktionen entspricht. |
Width of CM sketch table | Integer | [1;31] | Erforderlich, wenn die Count-Tabelle das CMSketch-Format verwendet | 20 | Die Breite der CM-Skizztabelle, d. h. die Anzahl der Bits des Bereichs der Hashfunktion. |
Bezeichnungsspaltenindex oder Namespalte | ColumnSelection | Erforderlich, wenn die als Dataset gespeicherte Count-Tabelle | Wählt die Bezeichnungsspalte aus. | ||
Select columns to count | ColumnSelection | Erforderlich, wenn die als Dataset gespeicherte Count-Tabelle | Wählt Spalten für die Zählung aus. Diese Spalten werden als kategorische Features betrachtet. | ||
Count table type | Erforderlich, wenn die als Dataset gespeicherte Count-Tabelle | Wörterbuch | Gibt den Typ der Count-Tabelle an. | ||
Depth of CM sketch table | Integer | >=1 | Erforderlich, wenn die count-Tabelle als CMSketch gespeichert ist | 4 | Die Tiefe der CM-Zeichnungstabelle, die der Anzahl der Hashfunktionen entspricht. |
Width of CM sketch table | Integer | [1;31] | Erforderlich, wenn die count-Tabelle als CMSketch gespeichert ist | 20 | Die Breite der CM-Zeichnungstabelle, d. h. die Anzahl der Bits des Bereichs der Hashfunktion. |
Ausgaben
Name | Type | Beschreibung |
---|---|---|
Zählen der Transformation | ITransform-Schnittstelle | Die Zähltransformation. |
Ausnahmen
Ausnahme | Beschreibung |
---|---|
Fehler 0003 | Eine Ausnahme tritt auf, wenn mindestens eine Eingabe NULL oder leer ist. |
Fehler 0004 | Eine Ausnahme tritt auf, wenn der Parameter kleiner als oder gleich dem bestimmten Wert ist. |
Fehler 0005 | Eine Ausnahme tritt auf, wenn der Parameter kleiner als ein bestimmter Wert ist. |
Fehler 0007 | Eine Ausnahme tritt auf, wenn der Parameter größer als ein bestimmter Wert ist. |
Fehler 0009 | Eine Ausnahme tritt auf, wenn der Konto- oder Containername des Azure-Speichers falsch angegeben ist. |
Fehler 0065 | Eine Ausnahme tritt auf, wenn der Azure-Blobname nicht ordnungsgemäß angegeben wurde. |
Fehler 0011 | Eine Ausnahme tritt auf, wenn das übergebene Spaltensatzargument nicht für eine der Datasetspalten gilt. |
Fehler 0049 | Eine Ausnahme tritt auf, wenn eine Datei nicht analysiert werden konnte. |
Fehler 1000 | Interne Bibliotheksausnahme. |
Fehler 0059 | Eine Ausnahme tritt auf, wenn ein in einer Spaltenauswahl angegebener Spaltenindex nicht analysiert werden kann. |
Fehler 0060 | Eine Ausnahme tritt auf, wenn in einer Spaltenauswahl ein Spaltenbereich außerhalb des Bereichs angegeben ist. |
Fehler 0089 | Eine Ausnahme tritt auf, wenn die angegebene Anzahl von Klassen kleiner ist als die tatsächliche Anzahl von Klassen in einem zum Zählen verwendeten Dataset. |
Eine Liste der Fehler, die für Studio-Module (klassisch) spezifisch sind, finden Sie unter Machine Learning Fehlercodes.
Eine Liste der API-Ausnahmen finden Sie unter Machine Learning REST-API-Fehlercodes.