Azure Anomaly Detector-clientbibliotheek voor JavaScript - versie 3.0.0-beta.5
Azure AnomalyDetector Met api kunt u afwijkingen in uw tijdreeksgegevens bewaken en detecteren met machine learning.
Belangrijke koppelingen:
Belangrijkste concepten
De AnomalyDetectorClient
biedt methoden voor anomaliedetectie:
-
detectEntireSeries
- Detecteert afwijkingen in een hele gegevensset -
detectLastPoint
- Detecteert afwijkingen in het meest recente gegevenspunt -
detectChangePoint
- Evalueert wijzigingspuntscore van elk reekspunt
Aan de slag
Momenteel ondersteunde omgevingen
- LTS-versies van Node.js
- Nieuwste versies van Safari, Chrome, Edge en Firefox.
Zie ons ondersteuningsbeleid voor meer informatie.
Vereisten
- Een Azure-abonnement.
- Een bestaande Anomaly Detector resource.
Als u de Azure CLI gebruikt, vervangt u en <your-resource-name>
door <your-resource-group-name>
uw eigen unieke namen:
az cognitiveservices account create --kind AnomalyDetector --resource-group <your-resource-group-name> --name <your-resource-name>
Installeer het pakket @azure/ai-anomaly-detector
Installeer de Azure Anomaly Detector-clientbibliotheek voor JavaScript met npm
:
npm install @azure/ai-anomaly-detector
Een maken en verifiëren AnomalyDetectorClient
Als u een clientobject wilt maken voor toegang tot de Anomaly Detector-API, hebt u de endpoint
van uw Anomaly Detector resource en een credential
nodig. De Anomaly Detector-client kan Azure Active Directory-referenties of een API-sleutelreferentie gebruiken om te verifiëren.
U vindt het eindpunt voor uw Anomaly Detector-resource in Azure Portal door te klikken Keys and Endpoint
onder Resourcebeheer in het menu of door het onderstaande Azure CLI-fragment te gebruiken:
az cognitiveservices account show --name <your-resource-name> --resource-group <your-resource-group-name> --query "endpoint"
Een API-sleutel gebruiken
Gebruik Azure Portal om naar uw Anomaly Detector resource te bladeren en een API-sleutel op te Keys and Endpoint
halen door te klikken onder Resourcebeheer of gebruik het onderstaande Azure CLI-fragment:
Opmerking: Soms wordt de API-sleutel een 'abonnementssleutel' of 'abonnements-API-sleutel' genoemd.
az cognitiveservices account keys list --resource-group <your-resource-group-name> --name <your-resource-name>
Zodra u een API-sleutel en eindpunt hebt, kunt u de AzureKeyCredential
klasse als volgt gebruiken om de client te verifiëren:
const { AnomalyDetectorClient, AzureKeyCredential } = require("@azure/ai-anomaly-detector");
const client = new AnomalyDetectorClient("<endpoint>", new AzureKeyCredential("<API key>"));
Een Azure Active Directory-referentie gebruiken
Verificatie van client-API-sleutels wordt in de meeste voorbeelden gebruikt, maar u kunt zich ook verifiëren met Azure Active Directory met behulp van de [Azure Identity-bibliotheek]. Als u de hieronder weergegeven DefaultAzureCredential-provider of andere referentieproviders wilt gebruiken die bij de Azure SDK worden geleverd, installeert u het @azure/identity
pakket:
npm install @azure/identity
U moet ook een nieuwe AAD-toepassing registreren en toegang verlenen tot Anomaly Detector door de "Cognitive Services User"
rol toe te wijzen aan uw service-principal (opmerking: andere rollen, zoals "Owner"
die niet de benodigde machtigingen verlenen, zijn alleen "Cognitive Services User"
voldoende om de voorbeelden en de voorbeeldcode uit te voeren).
Stel de waarden van de client-id, tenant-id en clientgeheim van de AAD-toepassing in als omgevingsvariabelen: 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());
Voorbeelden
Wijzigingspunten detecteren
In dit voorbeeld ziet u hoe u wijzigingspunten op hele reeksen kunt detecteren.
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);
});
Meer voorbeelden vindt u hier
Problemen oplossen
Logboekregistratie
Het inschakelen van logboekregistratie kan helpen bij het ontdekken van nuttige informatie over fouten. Als u een logboek met HTTP-aanvragen en -antwoorden wilt zien, stelt u de AZURE_LOG_LEVEL
omgevingsvariabele in op info
. U kunt logboekregistratie ook tijdens runtime inschakelen door aan te roepen setLogLevel
in de @azure/logger
:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Voor meer gedetailleerde instructies over het inschakelen van logboeken kunt u de @azure-/loggerpakketdocumenten bekijken.
Volgende stappen
Bekijk de map met voorbeelden voor gedetailleerde voorbeelden van het gebruik van deze bibliotheek.
Bijdragen
Wij verwelkomen bijdragen en suggesties voor dit project. Voor de meeste bijdragen moet u instemmen met een licentieovereenkomst voor bijdragers (CLA: Contributor License Agreement) waarin u verklaart dat u gerechtigd bent ons het recht te geven uw bijdrage te gebruiken, en dat u dit ook doet. Ga naar https://cla.microsoft.com voor meer informatie.
Wanneer u een pull-aanvraag indient, wordt met een CLA-bot automatisch bepaald of u een CLA moet verschaffen en wordt de pull-aanvraag dienovereenkomstig opgemaakt (bijvoorbeeld met een label of commentaar). Volg gewoon de instructies van de bot. U hoeft dit maar eenmaal te doen voor alle repo's waar gebruik wordt gemaakt van onze CLA.
Op dit project is de Microsoft Open Source Code of Conduct (Microsoft Open Source-gedragscode) van toepassing. Zie voor meer informatie de veelgestelde vragen over de gedragscode of neem contact op opencode@microsoft.com met eventuele aanvullende vragen of opmerkingen.
Als u een bijdrage wilt leveren aan deze bibliotheek, leest u de handleiding voor bijdragen voor meer informatie over het bouwen en testen van de code.
Azure SDK for JavaScript