Erkennen von Datendrift (Vorschau) in DatasetsDetect data drift (preview) on datasets

Hier erfahren Sie, wie Sie Datendrift überwachen und Warnungen für starke Drift festlegen.Learn how to monitor data drift and set alerts when drift is high.

Azure Machine Learning-Datasetmonitore (Vorschau) ermöglichen Folgendes:With Azure Machine Learning dataset monitors (preview), you can:

  • Analysieren der Drift in Ihren Daten, um zu verstehen, wie diese sich im Lauf der Zeit ändern.Analyze drift in your data to understand how it changes over time.
  • Überwachen von Modelldaten auf Änderungen zwischen Trainings- und Nutzungsdatasets.Monitor model data for differences between training and serving datasets. Beginnen Sie mit dem Sammeln von Daten für Modelle in der Produktion.Start by collecting model data from deployed models.
  • Überwachen von neuen Daten auf Änderungen zwischen Baseline- und Zieldatasets.Monitor new data for differences between any baseline and target dataset.
  • Erstellen von Profilen für Features in Daten, um nachzuverfolgen, wie sich statistische Eigenschaften im Lauf der Zeit ändern.Profile features in data to track how statistical properties change over time.
  • Einrichten von Warnungen zur Datendrift, um bei potenziellen Problemen frühzeitig eine Benachrichtigung zu erhalten.Set up alerts on data drift for early warnings to potential issues.
  • Erstellen einer neuen Datasetversion , wenn Sie ermitteln, dass die Daten zu stark abgewichen sind.[Create a new dataset version](how-to-version-track-datasets when you determine the data has drifted too much.

Für die Monitorerstellung wird ein Azure Machine Learning-Dataset verwendet.An Azure Machine learning dataset is used to create the monitor. Das Dataset muss eine Zeitstempelspalte enthalten.The dataset must include a timestamp column.

Datendriftmetriken können mit dem Python SDK oder in Azure Machine Learning Studio angezeigt werden.You can view data drift metrics with the Python SDK or in Azure Machine Learning studio. Andere Metriken und Erkenntnisse sind über die Ressource Azure Application Insights verfügbar, die mit dem Azure Machine Learning-Arbeitsbereich verknüpft ist.Other metrics and insights are available through the Azure Application Insights resource associated with the Azure Machine Learning workspace.

Wichtig

Die Datendrifterkennung für Datasets befindet sich derzeit in der öffentlichen Vorschauphase.Data drift detection for datasets is currently in public preview. Die Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und ist nicht für Produktionsworkloads vorgesehen.The preview version is provided without a service level agreement, and it's not recommended for production workloads. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar.Certain features might not be supported or might have constrained capabilities. Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.For more information, see Supplemental Terms of Use for Microsoft Azure Previews.

VoraussetzungenPrerequisites

Um Datasetmonitore zu erstellen und zu nutzen, benötigen Sie Folgendes:To create and work with dataset monitors, you need:

Was sind Datenabweichungen?What is data drift?

Datendrift ist einer der Hauptgründe für nachlassende Modellgenauigkeit.Data drift is one of the top reasons model accuracy degrades over time. Für Machine Learning-Modelle ist Datendrift die Veränderung von Modelleingabedaten, die eine Verschlechterung der Modellleistung zur Folge hat.For machine learning models, data drift is the change in model input data that leads to model performance degradation. Die Datendriftüberwachung trägt zur Erkennung solcher Modellleistungsprobleme bei.Monitoring data drift helps detect these model performance issues.

Folgende Aspekte zählen zu den Gründen für Datendrift:Causes of data drift include:

  • Vorgelagerte Prozessänderungen, z. B. durch einen ausgetauschten Sensor, der die Maßeinheiten von Zoll zu Zentimeter ändert.Upstream process changes, such as a sensor being replaced that changes the units of measurement from inches to centimeters.
  • Probleme mit der Datenqualität, z. B. durch einen defekten Sensor, der immer den Messwert 0 liefert.Data quality issues, such as a broken sensor always reading 0.
  • Natürliche Abweichungen in den Daten, z. B. durch Änderungen der mittleren Temperatur in den Jahreszeiten.Natural drift in the data, such as mean temperature changing with the seasons.
  • Änderungen in der Beziehung zwischen Features oder Kovariantenabweichungen.Change in relation between features, or covariate shift.

Azure Machine Learning vereinfacht die Drifterkennung durch die Berechnung einer einzelnen Metrik und die Abstrahierung der Komplexität der verglichenen Datasets.Azure Machine Learning simplifies drift detection by computing a single metric abstracting the complexity of datasets being compared. Diese Datasets können hunderte Features und mehrere zehntausend Zeilen umfassen.These datasets may have hundreds of features and tens of thousands of rows. Wurde eine Drift erkannt, können Sie mittels Drilldown ermitteln, auf welche Features sie zurückzuführen ist.Once drift is detected, you drill down into which features are causing the drift. Anschließend können Sie Metriken auf der Featureebene untersuchen, um die Grundursache für die Drift zu debuggen und zu isolieren.You then inspect feature level metrics to debug and isolate the root cause for the drift.

Dieser Top-Down-Ansatz ermöglicht im Gegensatz zu herkömmlichen regelbasierten Techniken eine unkomplizierte Datenüberwachung.This top down approach makes it easy to monitor data instead of traditional rules-based techniques. Regelbasierte Techniken wie zulässige Datenbereiche oder zulässige eindeutige Werte können zeitaufwändig und fehleranfällig sein.Rules-based techniques such as allowed data range or allowed unique values can be time consuming and error prone.

In Azure Machine Learning werden Datasetmonitore zur Erkennung von Datendrift sowie zur Ausgabe entsprechender Warnungen verwendet.In Azure Machine Learning, you use dataset monitors to detect and alert for data drift.

DatasetmonitoreDataset monitors

Ein Datasetmonitor ermöglicht Folgendes:With a dataset monitor you can:

  • Erkennen von Datendrift bei neuen Daten in einem Dataset und Ausgeben entsprechender WarnungenDetect and alert to data drift on new data in a dataset.
  • Analysieren historischer Daten auf DriftAnalyze historical data for drift.
  • Erstellen eines Profils für neue Daten im ZeitverlaufProfile new data over time.

Der Datendriftalgorithmus misst Änderungen von Daten allgemein und bietet Hinweise darauf, welche Features die Ursache sind, damit diese genauer untersucht werden können.The data drift algorithm provides an overall measure of change in data and indication of which features are responsible for further investigation. Datasetmonitore generieren eine Reihe weiterer Metriken, indem für neue Daten im Dataset timeseries ein Profil erstellt wird.Dataset monitors produce a number of other metrics by profiling new data in the timeseries dataset.

Über Azure Application Insights können benutzerdefinierte Warnungen für alle vom Monitor generierten Metriken eingerichtet werden.Custom alerting can be set up on all metrics generated by the monitor through Azure Application Insights. Datasetmonitore können verwendet werden, um Datenprobleme schnell zu erfassen und den Zeitraum bis zum Beheben des Problems zu verkürzen, indem wahrscheinliche Ursachen ermittelt werden.Dataset monitors can be used to quickly catch data issues and reduce the time to debug the issue by identifying likely causes.

Aus konzeptioneller Sicht gibt es drei primäre Szenarien für die Einrichtung von Datasetmonitoren in Azure Machine Learning.Conceptually, there are three primary scenarios for setting up dataset monitors in Azure Machine Learning.

SzenarioScenario BESCHREIBUNGDescription
Überwachen der Nutzungsdaten eines Modells auf Drift gegenüber den TrainingsdatenMonitor a model's serving data for drift from the training data Angesichts der Tatsache, dass die Modellgenauigkeit abnimmt, wenn die Nutzungsdaten von den Trainingsdaten abweichen, können die Ergebnisse dieses Szenarios als Überwachung eines Proxys für die Modellgenauigkeit interpretiert werden.Results from this scenario can be interpreted as monitoring a proxy for the model's accuracy, since model accuracy degrades when the serving data drifts from the training data.
Überwachen eines Zeitreihendatasets auf Drift gegenüber einem vorherigen ZeitraumMonitor a time series dataset for drift from a previous time period. Dieses Szenario ist allgemeiner und kann zum Überwachen von Datasets verwendet werden, die an Prozessen vor oder nach der Modellerstellung beteiligt sind.This scenario is more general, and can be used to monitor datasets involved upstream or downstream of model building. Das Zieldataset muss über eine Zeitstempelspalte verfügen.The target dataset must have a timestamp column. Das Baselinedataset kann ein beliebiges tabellarische Dataset sein, das über gemeinsame Features mit dem Zieldataset verfügt.The baseline dataset can be any tabular dataset that has features in common with the target dataset.
Analysieren älterer DatenPerform analysis on past data. Dieses Szenario hilft dabei, frühere Daten zu verstehen und fundierte Entscheidungen für die Einstellungen von Datasetmonitoren zu treffen.This scenario can be used to understand historical data and inform decisions in settings for dataset monitors.

Datasetmonitore sind von folgenden Azure-Diensten abhängig:Dataset monitors depend on the following Azure services.

Azure-DienstAzure service BeschreibungDescription
DatasetDataset Drift verwendet Machine Learning-Datasets, um Trainingsdaten abzurufen und Daten für das Modelltraining zu vergleichen.Drift uses Machine Learning datasets to retrieve training data and compare data for model training. Die Datenprofilgenerierung wird verwendet, um einige der gemeldeten Metriken (Mindestwerte, Maximalwerte, unterschiedliche Werte, Anzahl unterschiedlicher Werte) zu generieren.Generating profile of data is used to generate some of the reported metrics such as min, max, distinct values, distinct values count.
azureml-Pipeline und ComputeAzureml pipeline and compute Der Driftberechnungsauftrag wird in der azureml-Pipeline gehostet.The drift calculation job is hosted in azureml pipeline. Der Auftrag wird bei Bedarf oder zeitplangesteuert ausgelöst und auf einer Computeressource ausgeführt, die bei der Erstellung der Driftüberwachung konfiguriert wurde.The job is triggered on demand or by schedule to run on a compute configured at drift monitor creation time.
Application InsightsApplication insights Drift gibt Metriken an Application Insights aus, die zum Machine Learning-Arbeitsbereich gehören.Drift emits metrics to Application Insights belonging to the machine learning workspace.
Azure Blob StorageAzure blob storage Drift gibt Metriken im JSON-Format an Azure Blob Storage aus.Drift emits metrics in json format to Azure blob storage.

Baseline- und ZieldatasetsBaseline and target datasets

Sie überwachen Azure Machine Learning-Datasets auf Datendrift.You monitor Azure machine learning datasets for data drift. Wenn Sie einen Datasetmonitor erstellen, verweisen Sie auf Folgendes:When you create a dataset monitor, you will reference your:

  • Baselinedataset – normalerweise das Trainingsdataset für ein ModellBaseline dataset - usually the training dataset for a model.
  • Zieldataset – in der Regel Modelleingabedaten – wird im Lauf der Zeit mit dem Baselinedataset verglichenTarget dataset - usually model input data - is compared over time to your baseline dataset. Dieser Vergleich bedeutet, dass im Zieldataset eine Zeitstempelspalte angegeben sein muss.This comparison means that your target dataset must have a timestamp column specified.

Der Monitor vergleicht die Baseline- und Zieldatasets.The monitor will compare the baseline and target datasets.

Erstellen des ZieldatasetsCreate target dataset

Für das Zieldataset muss das Merkmal timeseriesfestgelegt sein. Hierzu muss die Zeitstempelspalte angegeben werden – entweder auf der Grundlage einer Spalte in den Daten oder auf der Grundlage einer aus dem Pfadmuster der Dateien abgeleiteten virtuellen Spalte.The target dataset needs the timeseries trait set on it by specifying the timestamp column either from a column in the data or a virtual column derived from the path pattern of the files. Erstellen Sie das Dataset mit einem Zeitstempel per Python SDK oder in Azure Machine Learning Studio.Create the dataset with a timestamp through the Python SDK or Azure Machine Learning studio. Eine Spalte, die einen Zeitstempel darstellt, muss angegeben werden, um dem Dataset das Merkmal timeseries hinzuzufügen.A column representing a "timestamp" must be specified to add timeseries trait to the dataset. Wenn Ihre Daten in einer Ordnerstruktur mit Zeitinformationen partitioniert sind (beispielsweise „{JJJJ/MM/TT}“), können Sie über die Einstellung für das Pfadmuster eine virtuelle Spalte erstellen und als Partitionszeitstempel festlegen, um die Bedeutung der Zeitreihenfunktion zu erhöhen.If your data is partitioned into folder structure with time info, such as '{yyyy/MM/dd}', create a virtual column through the path pattern setting and set it as the "partition timestamp" to improve the importance of time series functionality.

Die Methode with_timestamp_columns() der Klasse Dataset dient zum Definieren der Zeitstempelspalte für das Dataset.The Dataset class with_timestamp_columns() method defines the time stamp column for the dataset.

from azureml.core import Workspace, Dataset, Datastore

# get workspace object
ws = Workspace.from_config()

# get datastore object 
dstore = Datastore.get(ws, 'your datastore name')

# specify datastore paths
dstore_paths = [(dstore, 'weather/*/*/*/*/data.parquet')]

# specify partition format
partition_format = 'weather/{state}/{date:yyyy/MM/dd}/data.parquet'

# create the Tabular dataset with 'state' and 'date' as virtual columns 
dset = Dataset.Tabular.from_parquet_files(path=dstore_paths, partition_format=partition_format)

# assign the timestamp attribute to a real or virtual column in the dataset
dset = dset.with_timestamp_columns('date')

# register the dataset as the target dataset
dset = dset.register(ws, 'target')

Tipp

Ein vollständiges Beispiel für die Verwendung des timeseries-Merkmals von Datasets finden Sie im Beispiel-Notebook oder in der Dokumentation zum SDK für das Dataset.For a full example of using the timeseries trait of datasets, see the example notebook or the datasets SDK documentation.

Erstellen eines DatasetmonitorsCreate dataset monitor

Erstellen Sie einen Datasetmonitor, um Datendrift bei einem neuen Dataset zu erkennen und eine entsprechende Warnung auszugeben.Create a dataset monitor to detect and alert to data drift on a new dataset. Verwenden Sie entweder das Python SDK oder Azure Machine Learning Studio.Use either the Python SDK or Azure Machine Learning studio.

Vollständige Informationen finden Sie in der Python SDK-Referenzdokumentation zum Datendrift.See the Python SDK reference documentation on data drift for full details.

Im folgenden Beispiel wird gezeigt, wie ein Datasetmonitor mit dem Python SDK erstellt wird.The following example shows how to create a dataset monitor using the Python SDK

from azureml.core import Workspace, Dataset
from azureml.datadrift import DataDriftDetector
from datetime import datetime

# get the workspace object
ws = Workspace.from_config()

# get the target dataset
dset = Dataset.get_by_name(ws, 'target')

# set the baseline dataset
baseline = target.time_before(datetime(2019, 2, 1))

# set up feature list
features = ['latitude', 'longitude', 'elevation', 'windAngle', 'windSpeed', 'temperature', 'snowDepth', 'stationName', 'countryOrRegion']

# set up data drift detector
monitor = DataDriftDetector.create_from_datasets(ws, 'drift-monitor', baseline, target, 
                                                      compute_target='cpu-cluster', 
                                                      frequency='Week', 
                                                      feature_list=None, 
                                                      drift_threshold=.6, 
                                                      latency=24)

# get data drift detector by name
monitor = DataDriftDetector.get_by_name(ws, 'drift-monitor')

# update data drift detector
monitor = monitor.update(feature_list=features)

# run a backfill for January through May
backfill1 = monitor.backfill(datetime(2019, 1, 1), datetime(2019, 5, 1))

# run a backfill for May through today
backfill1 = monitor.backfill(datetime(2019, 5, 1), datetime.today())

# disable the pipeline schedule for the data drift detector
monitor = monitor.disable_schedule()

# enable the pipeline schedule for the data drift detector
monitor = monitor.enable_schedule()

Tipp

Ein vollständiges Beispiel für die Einrichtung eines timeseries-Datasets und einer Datendrifterkennung finden Sie in unserem Beispiel-Notebook.For a full example of setting up a timeseries dataset and data drift detector, see our example notebook.

Verstehen der DatendriftergebnisseUnderstand data drift results

In diesem Abschnitt finden Sie die Ergebnisse der Überwachung eines Datasets, die in Azure Studio unter Datasets / Dataset-Monitore bereitgestellt werden.This section shows you the results of monitoring a dataset, found in the Datasets / Dataset monitors page in Azure studio. Auf dieser Seite können Sie die Einstellungen aktualisieren sowie bereits vorhandene Daten für einen bestimmten Zeitraum analysieren.You can update the settings as well as analyze existing data for a specific time period on this page.

Beginnen Sie mit den ersten Erkenntnissen hinsichtlich der Größenordnung der Datendrift und einer Übersicht über die wichtigsten Features, die weiter untersucht werden sollten.Start with the top-level insights into the magnitude of data drift and a highlight of features to be further investigated.

Driftübersicht

MetrikMetric BeschreibungDescription
Größenordnung der DatendriftData drift magnitude Ein Driftprozentsatz zwischen Baseline- und Zieldataset im Zeitverlauf.A percentage of drift between the baseline and target dataset over time. Der Wert liegt zwischen 0 und 100, wobei 0 für identische Datasets steht und 100 bedeutet, dass die beiden Datasets durch das Datendriftmodell von Azure Machine Learning vollständig voneinander unterschieden werden können.Ranging from 0 to 100, 0 indicates identical datasets and 100 indicates the Azure Machine Learning data drift model can completely tell the two datasets apart. Aufgrund der Machine Learning-Techniken, die zum Generieren dieser Größenordnung verwenden werden, ist ein gewisses Maß an Ungenauigkeit beim gemessenen Prozentsatz zu erwarten.Noise in the precise percentage measured is expected due to machine learning techniques being used to generate this magnitude.
Wichtigste Features mit DriftTop drifting features Zeigt die Features aus dem Dataset an, die den größten Driftumfang aufweisen und daher am meisten zur Driftumfangsmetrik beitragen.Shows the features from the dataset that have drifted the most and are therefore contributing the most to the Drift Magnitude metric. Aufgrund von Kovariantenabweichungen muss sich die zugrunde liegende Verteilung eines Features nicht notwendigerweise ändern, um eine relativ hohe Featurerelevanz aufzuweisen.Due to covariate shift, the underlying distribution of a feature does not necessarily need to change to have relatively high feature importance.
SchwellenwertThreshold Wenn die Datendriftgröße den festgelegten Schwellenwert übersteigt, werden Warnungen ausgelöst.Data Drift magnitude beyond the set threshold will trigger alerts. Dies kann in den Überwachungseinstellungen konfiguriert werden.This can be configured in the monitor settings.

Trend des DriftumfangsDrift magnitude trend

Hier sehen Sie, wie sehr sich das Dataset im angegebenen Zeitraum vom Zieldataset unterscheidet.See how the dataset differs from the target dataset in the specified time period. Je näher der Wert bei 100 Prozent liegt, desto stärker unterscheiden sich die beiden Datasets.The closer to 100%, the more the two datasets differ.

Trend des Driftumfangs

Driftausmaß nach FeaturesDrift magnitude by features

Dieser Abschnitt enthält Erkenntnisse auf Featureebene zu Änderungen an der Verteilung des ausgewählten Features sowie weitere statistische Daten im Zeitverlauf.This section contains feature-level insights into the change in the selected feature's distribution, as well as other statistics, over time.

Für das Zieldataset wird auch ein Profil im Zeitverlauf erstellt.The target dataset is also profiled over time. Der statistische Abstand zwischen der Baselineverteilung der einzelnen Features wird mit dem zeitlichen Verlauf des Zieldatasets verglichen.The statistical distance between the baseline distribution of each feature is compared with the target dataset's over time. Dies entspricht konzeptionell der Datendriftgröße.Conceptually, this is similar to the data drift magnitude. Der statistische Abstand gilt jedoch für ein einzelnes Feature, nicht für alle Features.However this statistical distance is for an individual feature rather than all features. Mindest-, Maximal- und Mittelwerte sind ebenfalls verfügbar.Min, max, and mean are also available.

Klicken Sie in Azure Machine Learning Studio auf einen Balken des Diagramms, um die Details auf der Featureebene für das entsprechende Datum anzuzeigen.In the Azure Machine Learning studio, click on a bar in the graph to see the the feature level details for that date. Standardmäßig werden die Verteilung des Baselinedatasets und die Verteilung der letzten Ausführung für dieses Feature angezeigt.By default, you see the baseline dataset's distribution and the most recent run's distribution of the same feature.

Driftausmaß nach Features

Diese Metriken können auch im Python SDK mithilfe der get_metrics()-Methode in einem DataDriftDetector-Objekt abgerufen werden.These metrics can also be retrieved in the Python SDK through the get_metrics() method on a DataDriftDetector object.

FeaturedetailsFeature details

Scrollen Sie abschließend nach unten, um Details zu den einzelnen Features anzuzeigen.Finally, scroll down to view details for each individual feature. Verwenden Sie die Dropdownlisten über dem Diagramm, um das Feature auszuwählen, und wählen Sie außerdem die Metrik aus, die Sie anzeigen möchten.Use the dropdowns above the chart to select the feature, and additionally select the metric you want to view.

Numerisches Featurediagramm und Vergleich

Die Metriken im Diagramm hängen von der Art des Features ab.Metrics in the chart depend on the type of feature.

  • Numerische FeaturesNumeric features

    MetrikMetric BESCHREIBUNGDescription
    Wasserstein-DistanzWasserstein distance Der Mindestarbeitsaufwand, der für die Transformation der Baselineverteilung in die Zielverteilung erforderlich ist.Minimum amount of work to transform baseline distribution into the target distribution.
    MittelwertMean value Durchschnittlicher Wert des Features.Average value of the feature.
    MindestwertMin value Minimaler Wert des Features.Minimum value of the feature.
    MaximalwertMax value Maximaler Wert des Features.Maximum value of the feature.
  • Kategorische FeaturesCategorical features

    MetrikMetric BESCHREIBUNGDescription
    Euklidischer AbstandEuclidian distance Berechnet für Kategoriespalten.Computed for categorical columns.  Der euklidische Abstand wird für zwei Vektoren berechnet, die auf der Grundlage der empirischen Verteilung der gleichen Kategoriespalte aus zwei Datasets generiert wurden.Euclidean distance is computed on two vectors, generated from empirical distribution of the same categorical column from two datasets.  „0“ gibt an, dass es keinen Unterschied bei den empirischen Verteilungen gibt.0 indicates there is no difference in the empirical distributions.   Je weiter der Wert von „0“ entfernt ist, desto stärker ist der Drift der Spalte.The more it deviates from 0, the more this column has drifted.  Trends können anhand eines Zeitreihendiagramm dieser Metrik ermittelt werden und bei der Identifizierung eines Features mit Drift hilfreich sein.Trends can be observed from a time series plot of this metric and can be helpful in uncovering a drifting feature.
    Eindeutige WerteUnique values Anzahl eindeutiger Werte (Kardinalität) des Features.Number of unique values (cardinality) of the feature.

Wählen Sie in diesem Diagramm ein einzelnes Datum aus, um die Featureverteilung zwischen dem Ziel und diesem Datum für das angezeigte Feature zu vergleichen.On this chart, select a single date to compare the feature distribution between the target and this date for the displayed feature. Für numerische Features werden zwei Wahrscheinlichkeitsverteilungen angezeigt.For numeric features, this shows two probability distributions. Ist das Feature numerisch, wird ein Balkendiagramm angezeigt.If the feature is numeric, a bar chart is shown.

Auswählen eines Datums für den Vergleich mit dem Ziel

Metriken, Warnungen und EreignisseMetrics, alerts, and events

Metriken können in der Azure Application Insights-Ressource abgefragt werden, die Ihrem Machine Learning-Arbeitsbereich zugeordnet ist.Metrics can be queried in the Azure Application Insights resource associated with your machine learning workspace. Sie haben Zugriff auf alle Features von Application Insights, z. B. auch zur Einrichtung von benutzerdefinierten Warnungsregeln und Aktionsgruppen zum Auslösen einer Aktion wie E-Mail/SMS/Pushübertragung/Sprachnachricht oder einer Azure-Funktion.You have access to all features of Application Insights including set up for custom alert rules and action groups to trigger an action such as, an Email/SMS/Push/Voice or Azure Function. Ausführlichere Informationen hierzu finden Sie in der vollständigen Application Insights-Dokumentation.Refer to the complete Application Insights documentation for details.

Navigieren Sie zunächst zum Azure-Portal, und wählen Sie die Seite Übersicht Ihres Arbeitsbereichs aus.To get started, navigate to the Azure portal and select your workspace's Overview page. Die zugeordnete Application Insights-Ressource befindet sich ganz rechts:The associated Application Insights resource is on the far right:

Azure-Portal – ÜbersichtAzure portal overview

Wählen Sie im linken Bereich unter „Überwachung“ die Option „Protokolle (Analytics)“ aus:Select Logs (Analytics) under Monitoring on the left pane:

Application Insights-Übersicht

Die Metriken der Datasetüberwachung werden als customMetrics gespeichert.The dataset monitor metrics are stored as customMetrics. Sie können eine Abfrage schreiben und ausführen, nachdem Sie eine Überwachung per Datasetmonitor eingerichtet haben, um die Metriken anzuzeigen:You can write and run a query after setting up a dataset monitor to view them:

Log Analytics-AbfrageLog analytics query

Erstellen Sie eine neue Warnungsregel, nachdem Sie die Metriken für die Einrichtung von Warnungsregeln identifiziert haben:After identifying metrics to set up alert rules, create a new alert rule:

Neue Warnungsregel

Sie können eine vorhandene oder eine neue Aktionsgruppe verwenden, um die Aktion zu definieren, die durchgeführt werden soll, wenn die festgelegten Bedingungen erfüllt sind:You can use an existing action group, or create a new one to define the action to be taken when the set conditions are met:

Neue Aktionsgruppe

ProblembehandlungTroubleshooting

Einschränkungen und bekannte Probleme bei Datendriftüberwachungen:Limitations and known issues for data drift monitors:

  • Der Zeitbereich für die Analyse von Verlaufsdaten ist auf 31 Intervalle der Häufigkeitseinstellung für die Überwachung beschränkt.The time range when analyzing historical data is limited to 31 intervals of the monitor's frequency setting.

  • Es besteht eine Beschränkung auf 200 Features, es sei denn, es wurde keine Featureliste angegeben (alle Features werden verwendet).Limitation of 200 features, unless a feature list is not specified (all features used).

  • Die Computegröße muss ausreichend sein, um die Daten zu verarbeiten.Compute size must be large enough to handle the data.

  • Stellen Sie sicher, dass Ihr Dataset über Daten innerhalb des Zeitraums verfügt, der durch das Start- und Enddatum für die jeweilige Ausführung der Überwachung festgelegt ist.Ensure your dataset has data within the start and end date for a given monitor run.

  • Datasetmonitore funktionieren nur bei Datensätzen, die mindestens 50 Zeilen enthalten.Dataset monitors will only work on datasets that contain 50 rows or more.

  • Spalten bzw. Features im Dataset werden basierend auf den Bedingungen in der unten angegebenen Tabelle als kategorisch oder numerisch klassifiziert.Columns, or features, in the dataset are classified as categorical or numeric based on the conditions in the following table. Wenn ein Feature diese Bedingungen nicht erfüllt – beispielsweise bei einer Spalte vom Typ „string“ mit mehr als 100 eindeutigen Werten –, wird es aus dem Datendriftalgorithmus entfernt. In die Profilerstellung wird es aber einbezogen.If the feature does not meet these conditions - for instance, a column of type string with >100 unique values - the feature is dropped from our data drift algorithm, but is still profiled.

    FeaturetypFeature type DatentypData type BedingungCondition EinschränkungenLimitations
    KategorischCategorical string, bool, int, floatstring, bool, int, float Die Anzahl von eindeutigen Werten im Feature ist kleiner als 100 und geringer als 5 % der Anzahl von Zeilen.The number of unique values in the feature is less than 100 and less than 5% of the number of rows. NULL wird als eigene Kategorie behandelt.Null is treated as its own category.
    NumerischNumerical int, floatint, float Die Werte im Feature weisen einen numerischen Datentyp auf und erfüllen die Bedingung für ein kategorisches Feature nicht.The values in the feature are of a numerical data type and do not meet the condition for a categorical feature. Das Feature wird entfernt, wenn mehr als 15 % der Werte NULL sind.Feature dropped if >15% of values are null.
  • Wenn Sie eine Datendriftüberwachung erstellt haben, die Daten auf der Seite Datasetüberwachungen in Azure Machine Learning Studio jedoch nicht angezeigt werden, versuchen Sie Folgendes.When you have created a data drift monitor but cannot see data on the Dataset monitors page in Azure Machine Learning studio, try the following.

    1. Überprüfen Sie, ob Sie oben auf der Seite den richtigen Datumsbereich ausgewählt haben.Check if you have selected the right date range at the top of the page.
    2. Wählen Sie auf der Registerkarte Datasetüberwachungen den Experimentlink aus, um den Ausführungsstatus zu prüfen.On the Dataset Monitors tab, select the experiment link to check run status. Dieser Link befindet sich ganz rechts in der Tabelle.This link is on the far right of the table.
    3. Wenn die Ausführung erfolgreich abgeschlossen wurde, überprüfen Sie in den Treiberprotokollen, wie viele Metriken generiert wurden oder ob Warnmeldungen vorhanden sind.If run completed successfully, check driver logs to see how many metrics has been generated or if there's any warning messages. Die Treiberprotokolle finden Sie nach dem Klicken auf ein Experiment auf der Registerkarte Ausgabe + Protokolle.Find driver logs in the Output + logs tab after you click on an experiment.
  • Wenn die SDK-Funktion backfill() nicht die erwartete Ausgabe generiert, kann dies auf ein Authentifizierungsproblem zurückzuführen sein.If the SDK backfill() function does not generate the expected output, it may be due to an authentication issue. Verwenden Sie beim Erstellen des Computeziels, das an diese Funktion übergeben wird, nicht Run.get_context().experiment.workspace.compute_targets.When you create the compute to pass into this function, do not use Run.get_context().experiment.workspace.compute_targets. Verwenden Sie stattdessen ServicePrincipalAuthentication, wie hier zu sehen, um das Computeziel zu erstellen, das Sie an die Funktion backfill() übergeben:Instead, use ServicePrincipalAuthentication such as the following to create the compute that you pass into that backfill() function:

    auth = ServicePrincipalAuthentication(
            tenant_id=tenant_id,
            service_principal_id=app_id,
            service_principal_password=client_secret
            )
    ws = Workspace.get("xxx", auth=auth, subscription_id="xxx", resource_group"xxx")
    compute = ws.compute_targets.get("xxx")
    
  • Es kann bis zu 10 Minuten dauern, bis Daten aus dem Modelldatensammler in Ihrem Blobspeicherkonto eintreffen (in der Regel wird der Vorgang schneller ausgeführt).From the Model Data Collector, it can take up to (but usually less than) 10 minutes for data to arrive in your blob storage account. Warten Sie in einem Skript oder Notebook 10 Minuten, damit die folgenden Zellen ausgeführt werden können.In a script or Notebook, wait 10 minutes to ensure cells below will run.

    import time
    time.sleep(600)
    

Nächste SchritteNext steps