Azure Anomalieerkennung-Clientbibliothek für JavaScript– Version 3.0.0-beta.5
Azure AnomalyDetector Mit der API können Sie Anomalien in Ihren Zeitreihendaten mit Machine Learning überwachen und erkennen.
Wichtige Links:
Wichtige Begriffe
Stellt AnomalyDetectorClient
Methoden für die Anomalieerkennung bereit:
-
detectEntireSeries
– Erkennt Anomalien in einem gesamten Dataset -
detectLastPoint
– Erkennt Anomalien im neuesten Datenpunkt. -
detectChangePoint
– Wertet die Änderungspunktbewertung jedes Reihenpunkts aus.
Erste Schritte
Die derzeitig unterstützten Umgebungen
- LTS-Versionen von Node.js
- Neueste Versionen von Safari, Chrome, Edge und Firefox.
Ausführlichere Informationen finden Sie in der Supportrichtlinie.
Voraussetzungen
- Ein Azure-Abonnement.
- Eine vorhandene Anomalieerkennung-Ressource.
Wenn Sie die Azure CLI verwenden, ersetzen <your-resource-group-name>
Sie und <your-resource-name>
durch Ihre eigenen eindeutigen Namen:
az cognitiveservices account create --kind AnomalyDetector --resource-group <your-resource-group-name> --name <your-resource-name>
Installieren Sie das Paket @azure/ai-anomaly-detector
.
Installieren Sie die Azure Anomalieerkennung-Clientbibliothek für JavaScript mit npm
:
npm install @azure/ai-anomaly-detector
Erstellen und Authentifizieren eines AnomalyDetectorClient
Um ein Clientobjekt für den Zugriff auf die Anomalieerkennung-API zu erstellen, benötigen Sie die endpoint
ihrer Anomalieerkennung-Ressource und eine credential
. Der Anomalieerkennung-Client kann entweder Azure Active Directory-Anmeldeinformationen oder API-Schlüsselanmeldeinformationen für die Authentifizierung verwenden.
Sie finden den Endpunkt für Ihre Anomalieerkennung-Ressource im Azure-Portal, indem Sie im Menü unter Ressourcenverwaltung klicken Keys and Endpoint
oder den folgenden Azure CLI-Codeausschnitt verwenden:
az cognitiveservices account show --name <your-resource-name> --resource-group <your-resource-group-name> --query "endpoint"
Verwenden eines API-Schlüssels
Navigieren Sie im Azure-Portal zu Ihrer Anomalieerkennung Ressource, und rufen Sie einen API-Schlüssel ab, indem Sie unter Ressourcenverwaltung klickenKeys and Endpoint
, oder verwenden Sie den folgenden Azure CLI-Codeausschnitt:
Hinweis: Manchmal wird der API-Schlüssel als "Abonnementschlüssel" oder "Abonnement-API-Schlüssel" bezeichnet.
az cognitiveservices account keys list --resource-group <your-resource-group-name> --name <your-resource-name>
Sobald Sie über einen API-Schlüssel und einen Endpunkt verfügen, können Sie die AzureKeyCredential
-Klasse verwenden, um den Client wie folgt zu authentifizieren:
const { AnomalyDetectorClient, AzureKeyCredential } = require("@azure/ai-anomaly-detector");
const client = new AnomalyDetectorClient("<endpoint>", new AzureKeyCredential("<API key>"));
Verwenden von Azure Active Directory-Anmeldeinformationen
Die Client-API-Schlüsselauthentifizierung wird in den meisten Beispielen verwendet, aber Sie können sich auch mit Azure Active Directory mithilfe der [Azure Identity Library] authentifizieren. Um den unten gezeigten DefaultAzureCredential-Anbieter oder andere Anmeldeinformationsanbieter zu verwenden, die mit dem Azure SDK bereitgestellt werden, installieren Sie das @azure/identity
Paket:
npm install @azure/identity
Sie müssen auch eine neue AAD-Anwendung registrieren und Zugriff auf Anomalieerkennung gewähren, indem Sie die "Cognitive Services User"
Rolle Ihrem Dienstprinzipal zuweisen (Hinweis: Andere Rollen wie "Owner"
erteilen nicht die erforderlichen Berechtigungen, reichen nur "Cognitive Services User"
aus, um die Beispiele und den Beispielcode auszuführen).
Legen Sie die Werte der Client-ID, der Mandanten-ID und des geheimen Clientschlüssels der AAD-Anwendung als Umgebungsvariablen fest: AZURE_CLIENT_ID
, AZURE_TENANT_ID
, AZURE_CLIENT_SECRET
.
const { AnomalyDetectorClient } = require("@azure/ai-anomaly-detector");
const { DefaultAzureCredential } = require("@azure/identity");
const client = new AnomalyDetectorClient("<endpoint>", new DefaultAzureCredential());
Beispiele
Erkennen von Änderungspunkten
In diesem Beispiel wird veranschaulicht, wie Änderungspunkte für die gesamte Reihe erkannt werden.
const { AnomalyDetectorClient, TimeGranularity } = require("@azure/ai-anomaly-detector");
const { AzureKeyCredential } = require("@azure/core-auth");
// You will need to set this environment variables in .env file or edit the following values
const apiKey = process.env["API_KEY"] || "";
const endpoint = process.env["ENDPOINT"] || "";
async function main() {
// create client
const client = new AnomalyDetectorClient(endpoint, new AzureKeyCredential(apiKey));
// construct request
const request = {
series: [
{ timestamp: new Date("2018-03-01T00:00:00Z"), value: 32858923 },
{ timestamp: new Date("2018-03-02T00:00:00Z"), value: 29615278 },
{ timestamp: new Date("2018-03-03T00:00:00Z"), value: 22839355 },
{ timestamp: new Date("2018-03-04T00:00:00Z"), value: 25948736 },
{ timestamp: new Date("2018-03-05T00:00:00Z"), value: 34139159 },
{ timestamp: new Date("2018-03-06T00:00:00Z"), value: 33843985 },
{ timestamp: new Date("2018-03-07T00:00:00Z"), value: 33637661 },
{ timestamp: new Date("2018-03-08T00:00:00Z"), value: 32627350 },
{ timestamp: new Date("2018-03-09T00:00:00Z"), value: 29881076 },
{ timestamp: new Date("2018-03-10T00:00:00Z"), value: 22681575 },
{ timestamp: new Date("2018-03-11T00:00:00Z"), value: 24629393 },
{ timestamp: new Date("2018-03-12T00:00:00Z"), value: 34010679 },
{ timestamp: new Date("2018-03-13T00:00:00Z"), value: 33893888 },
{ timestamp: new Date("2018-03-14T00:00:00Z"), value: 33760076 },
{ timestamp: new Date("2018-03-15T00:00:00Z"), value: 33093515 }
],
granularity: TimeGranularity.daily
};
// get change point detect results
const result = await client.detectChangePoint(request);
const isChangePointDetected = result.isChangePoint.some((changePoint) => changePoint);
if (isChangePointDetected) {
console.log("Change points were detected from the series at index:");
result.isChangePoint.forEach((changePoint, index) => {
if (changePoint === true) {
console.log(index);
}
});
} else {
console.log("There is no change point detected from the series.");
}
// output:
// Change points were detected from the series at index:
// 9
}
main().catch((err) => {
console.error("The sample encountered an error:", err);
});
Weitere Beispiele finden Sie hier.
Problembehandlung
Protokollierung
Die Aktivierung der Protokollierung kann hilfreiche Informationen über Fehler aufdecken. Um ein Protokoll von HTTP-Anforderungen und -Antworten anzuzeigen, legen Sie die Umgebungsvariable AZURE_LOG_LEVEL
auf info
fest. Alternativ kann die Protokollierung zur Laufzeit aktiviert werden, indem Sie setLogLevel
in @azure/logger
aufrufen:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Ausführlichere Anweisungen zum Aktivieren von Protokollen finden Sie in der Paketdokumentation zu @azure/logger.
Nächste Schritte
Ausführliche Beispiele zur Verwendung dieser Bibliothek finden Sie im Beispielverzeichnis .
Mitwirken
Beiträge und Vorschläge für dieses Projekt sind willkommen. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. Ausführliche Informationen finden Sie unter https://cla.microsoft.com.
Wenn Sie einen Pull Request (PR) übermitteln, überprüft ein CLA-Bot automatisch, ob Sie eine Lizenzvereinbarung bereitstellen und den PR entsprechend ergänzen müssen (z.B. mit einer Bezeichnung oder einem Kommentar). Führen Sie einfach die Anweisungen des Bots aus. Sie müssen dies nur einmal für alle Repositorys ausführen, die unsere CLA verwenden.
Für dieses Projekt gelten die Microsoft-Verhaltensregeln für Open Source (Microsoft Open Source Code of Conduct). Weitere Informationen finden Sie in den häufig gestellten Fragen zum Verhaltenskodex. Sie können sich auch an opencode@microsoft.com wenden, wenn Sie weitere Fragen oder Anmerkungen haben.
Wenn Sie an dieser Bibliothek mitwirken möchten, lesen Sie die Anleitung für Mitwirkende, um mehr darüber zu erfahren, wie Sie den Code erstellen und testen können.
Azure SDK for JavaScript