Azure Avvikelseidentifiering-klientbibliotek för JavaScript – version 3.0.0-beta.5
Azure AnomalyDetector Med API:et kan du övervaka och identifiera avvikelser i dina tidsseriedata med maskininlärning.
Nyckellänkar:
Viktiga begrepp
Tillhandahåller AnomalyDetectorClient
metoder för avvikelseidentifiering:
-
detectEntireSeries
– Identifierar avvikelser i en hel datauppsättning -
detectLastPoint
– Identifierar avvikelser i den senaste datapunkten -
detectChangePoint
– Utvärderar ändringspunktpoäng för varje seriepunkt
Komma igång
Miljöer som stöds för närvarande
- LTS-versioner av Node.js
- De senaste versionerna av Safari, Chrome, Edge och Firefox.
Mer information finns i vår supportprincip .
Förutsättningar
- En Azure-prenumeration.
- En befintlig Avvikelseidentifiering resurs.
Om du använder Azure CLI ersätter <your-resource-group-name>
du och <your-resource-name>
med dina egna unika namn:
az cognitiveservices account create --kind AnomalyDetector --resource-group <your-resource-group-name> --name <your-resource-name>
Installera @azure/ai-anomaly-detector
-paketet
Installera Azure Avvikelseidentifiering-klientbiblioteket för JavaScript med npm
:
npm install @azure/ai-anomaly-detector
Skapa och autentisera en AnomalyDetectorClient
Om du vill skapa ett klientobjekt för att komma åt Avvikelseidentifiering-API:et endpoint
behöver du för din Avvikelseidentifiering resurs och en credential
. Den Avvikelseidentifiering klienten kan använda antingen Azure Active Directory-autentiseringsuppgifter eller en API-nyckelautentiseringsuppgift för att autentisera.
Du hittar slutpunkten för din Avvikelseidentifiering resurs i Azure-portalen genom att Keys and Endpoint
klicka under Resurshantering på menyn eller med hjälp av Azure CLI-kodfragmentet nedan:
az cognitiveservices account show --name <your-resource-name> --resource-group <your-resource-group-name> --query "endpoint"
Använda en API-nyckel
Använd Azure-portalen för att bläddra till din Avvikelseidentifiering resurs och hämta en API-nyckel genom att Keys and Endpoint
klicka under Resurshantering eller använda Azure CLI-kodfragmentet nedan:
Observera: Ibland kallas API-nyckeln för en "prenumerationsnyckel" eller "prenumerations-API-nyckel".
az cognitiveservices account keys list --resource-group <your-resource-group-name> --name <your-resource-name>
När du har en API-nyckel och slutpunkt kan du använda AzureKeyCredential
klassen för att autentisera klienten på följande sätt:
const { AnomalyDetectorClient, AzureKeyCredential } = require("@azure/ai-anomaly-detector");
const client = new AnomalyDetectorClient("<endpoint>", new AzureKeyCredential("<API key>"));
Använda en Azure Active Directory-autentiseringsuppgift
Nyckelautentisering för klient-API:et används i de flesta exempel, men du kan också autentisera med Azure Active Directory med hjälp av [Azure Identity Library]. Om du vill använda DefaultAzureCredential-providern som visas nedan eller andra leverantörer av autentiseringsuppgifter som medföljer Azure SDK installerar @azure/identity
du paketet:
npm install @azure/identity
Du måste också registrera ett nytt AAD-program och bevilja åtkomst till Avvikelseidentifiering genom att tilldela "Cognitive Services User"
rollen till tjänstens huvudnamn (obs! Andra roller som "Owner"
inte beviljar nödvändiga behörigheter räcker bara "Cognitive Services User"
för att köra exemplen och exempelkoden).
Ange värdena för klient-ID, klient-ID och klienthemlighet för AAD-programmet som miljövariabler: 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());
Exempel
Identifiera ändringspunkter
Det här exemplet visar hur du identifierar ändringspunkter i hela serien.
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);
});
Fler exempel finns här
Felsökning
Loggning
Aktivering av loggning kan hjälpa dig att hitta användbar information om fel. Om du vill se en logg över HTTP-begäranden och svar anger du AZURE_LOG_LEVEL
miljövariabeln till info
. Du kan också aktivera loggning vid körning genom att anropa setLogLevel
i @azure/logger
:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Mer detaljerade anvisningar om hur du aktiverar loggar finns i @azure-/loggningspaketdokumenten.
Nästa steg
Ta en titt på exempelkatalogen för detaljerade exempel på hur du använder det här biblioteket.
Bidra
Det här projektet välkomnar bidrag och förslag. Merparten av bidragen kräver att du godkänner ett licensavtal för bidrag, där du deklarerar att du har behörighet att bevilja oss rättigheten att använda ditt bidrag, och att du dessutom uttryckligen gör så. Mer information finns på https://cla.microsoft.com.
När du skickar en pull-förfrågan avgör en CLA-robot automatiskt om du måste tillhandahålla ett licensavtal för bidrag med lämplig PR (t.ex. etikett eller kommentar). Följ bara robotens anvisningar. Du behöver bara göra detta en gång för alla repor som använder vårt licensavtal för bidrag.
Det här projektet använder sig av Microsofts uppförandekod för öppen källkod. Mer information finns i Vanliga frågor och svar om uppförandekod eller kontakt opencode@microsoft.com med ytterligare frågor eller kommentarer.
Om du vill bidra till det här biblioteket kan du läsa bidragsguiden för att lära dig mer om hur du skapar och testar koden.
Azure SDK for JavaScript