Bibliothèque cliente Azure Détecteur d'anomalies pour JavaScript - version 3.0.0-beta.5
Azure AnomalyDetector L’API vous permet de surveiller et de détecter des anomalies dans vos données de série chronologique avec le Machine Learning.
Liens clés :
Concepts clés
Fournit AnomalyDetectorClient
des méthodes pour la détection des anomalies :
-
detectEntireSeries
- Détecte les anomalies sur un jeu de données entier -
detectLastPoint
- Détecte les anomalies dans le point de données le plus récent -
detectChangePoint
- Évalue le score de point de modification de chaque point de série
Prise en main
Environnements actuellement pris en charge
- Versions LTS de Node.js
- Dernières versions de Safari, Chrome, Edge et Firefox.
Pour plus d’informations, consultez notre politique de support .
Prérequis
- Un abonnement Azure.
- Ressource Détecteur d'anomalies existante.
Si vous utilisez Azure CLI, remplacez <your-resource-group-name>
et <your-resource-name>
par vos propres noms uniques :
az cognitiveservices account create --kind AnomalyDetector --resource-group <your-resource-group-name> --name <your-resource-name>
Installez le package @azure/ai-anomaly-detector
Installez la bibliothèque cliente Azure Détecteur d'anomalies pour JavaScript avec npm
:
npm install @azure/ai-anomaly-detector
Créez et authentifiez unAnomalyDetectorClient
Pour créer un objet client afin d’accéder à l’API Détecteur d'anomalies, vous aurez besoin de la endpoint
ressource de votre Détecteur d'anomalies et d’un credential
. Le client Détecteur d'anomalies peut utiliser des informations d’identification Azure Active Directory ou des informations d’identification de clé API pour s’authentifier.
Vous trouverez le point de terminaison de votre ressource Détecteur d'anomalies dans le portail Azure en Keys and Endpoint
cliquant sous Gestion des ressources dans le menu ou en utilisant l’extrait de code Azure CLI ci-dessous :
az cognitiveservices account show --name <your-resource-name> --resource-group <your-resource-group-name> --query "endpoint"
Utilisation d’une clé API
Utilisez le portail Azure pour accéder à votre ressource Détecteur d'anomalies et récupérer une clé API en Keys and Endpoint
cliquant sous Gestion des ressources, ou utilisez l’extrait de code Azure CLI ci-dessous :
Note: Parfois, la clé API est appelée « clé d’abonnement » ou « clé API d’abonnement ».
az cognitiveservices account keys list --resource-group <your-resource-group-name> --name <your-resource-name>
Une fois que vous avez une clé API et un point de terminaison, vous pouvez utiliser la AzureKeyCredential
classe pour authentifier le client comme suit :
const { AnomalyDetectorClient, AzureKeyCredential } = require("@azure/ai-anomaly-detector");
const client = new AnomalyDetectorClient("<endpoint>", new AzureKeyCredential("<API key>"));
Utilisation d’informations d’identification Azure Active Directory
L’authentification par clé API cliente est utilisée dans la plupart des exemples, mais vous pouvez également vous authentifier auprès d’Azure Active Directory à l’aide de la [bibliothèque Azure Identity]. Pour utiliser le fournisseur DefaultAzureCredential indiqué ci-dessous ou d’autres fournisseurs d’informations d’identification fournis avec le kit de développement logiciel (SDK) Azure, installez le package @azure/identity
:
npm install @azure/identity
Vous devrez également inscrire une nouvelle application AAD et accorder l’accès à Détecteur d'anomalies en attribuant le "Cognitive Services User"
rôle à votre principal de service (remarque : d’autres rôles tels que n’accorderont "Owner"
pas les autorisations nécessaires, suffiront uniquement "Cognitive Services User"
pour exécuter les exemples et l’exemple de code).
Définissez les valeurs de l’ID client, de l’ID de locataire et de la clé secrète client de l’application AAD en tant que variables d’environnement : 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());
Exemples
Détecter les points de modification
Cet exemple montre comment détecter des points de modification sur des séries entières.
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);
});
Vous trouverez d’autres exemples ici
Résolution des problèmes
Journalisation
L’activation de la journalisation peut vous aider à mieux comprendre les échecs. Pour avoir un journal des requêtes et réponses HTTP, définissez la variable d’environnement AZURE_LOG_LEVEL
sur info
. Vous pouvez également activer la journalisation au moment de l’exécution en appelant setLogLevel
dans @azure/logger
:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Pour obtenir des instructions plus détaillées sur l’activation des journaux, consultez les documents relatifs au package @azure/logger.
Étapes suivantes
Consultez le répertoire d’exemples pour obtenir des exemples détaillés sur l’utilisation de cette bibliothèque.
Contribution
Ce projet accepte les contributions et les suggestions. La plupart des contributions vous demandent d’accepter un contrat de licence de contribution (CLA) déclarant que vous avez le droit de nous accorder, et que vous nous accordez réellement, les droits d’utilisation de votre contribution. Pour plus d’informations, visitez https://cla.microsoft.com.
Quand vous envoyez une demande de tirage (pull request), un bot CLA détermine automatiquement si vous devez fournir un contrat CLA et agrémenter la demande de tirage de façon appropriée (par exemple, avec une étiquette ou un commentaire). Suivez simplement les instructions fournies par le bot. Vous ne devez effectuer cette opération qu’une seule fois sur tous les dépôts utilisant notre contrat CLA.
Ce projet a adopté le Code de conduite Open Source de Microsoft. Pour plus d’informations, consultez les Questions fréquentes (FAQ) sur le code de conduite ou envoyez vos questions ou vos commentaires à opencode@microsoft.com.
Si vous souhaitez contribuer à cette bibliothèque, lisez le guide de contribution pour en savoir plus sur la génération et le test du code.
Azure SDK for JavaScript