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.

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

  1. 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.

  2. Verbinden Das Dataset, das Sie als Grundlage für unsere zählbasierten Features verwenden möchten.

  3. 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.
  4. 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.

  5. 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.

  6. 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/.

  7. 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.
  8. 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.

  9. 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.

  10. 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.

  11. 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

  1. 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.

  2. 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/.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

Die folgenden Experimente in der Azure KI-Katalog veranschaulichen, wie sie countbasiertes Lernen verwenden, um verschiedene Vorhersagemodelle zu erstellen:

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.

Siehe auch

Lernen mit Zählungen