Biblioteca de clientes do Azure Detector de Anomalias para JavaScript – versão 3.0.0-beta.5
Azure AnomalyDetector A API permite que você monitore e detecte anormalidades em seus dados de série temporal com o aprendizado de máquina.
Links principais:
Principais conceitos
O AnomalyDetectorClient
fornece métodos para detecção de anomalias:
-
detectEntireSeries
– Detecta anomalias em um conjunto de dados inteiro -
detectLastPoint
– Detecta anomalias no ponto de dados mais recente -
detectChangePoint
– Avalia a pontuação de ponto de alteração de cada ponto de série
Introdução
Ambientes com suporte no momento
- Versões LTS do Node.js
- Versões mais recentes do Safari, Chrome, Edge e Firefox.
Confira nossa política de suporte para mais detalhes.
Pré-requisitos
- Uma assinatura do Azure.
- Um recurso de Detector de Anomalias existente.
Se você usar a CLI do Azure, substitua <your-resource-group-name>
e <your-resource-name>
por seus próprios nomes exclusivos:
az cognitiveservices account create --kind AnomalyDetector --resource-group <your-resource-group-name> --name <your-resource-name>
Instalar o pacote @azure/ai-anomaly-detector
Instale a biblioteca de clientes do Azure Detector de Anomalias para JavaScript com npm
:
npm install @azure/ai-anomaly-detector
Criar e autenticar um AnomalyDetectorClient
Para criar um objeto cliente para acessar a API Detector de Anomalias, você precisará do endpoint
do recurso Detector de Anomalias e de um credential
. O cliente Detector de Anomalias pode usar credenciais do Azure Active Directory ou uma credencial de chave de API para autenticar.
Você pode encontrar o ponto de extremidade do recurso Detector de Anomalias no Portal do Azure clicando Keys and Endpoint
em Gerenciamento de Recursos no menu ou usando o snippet da CLI do Azure abaixo:
az cognitiveservices account show --name <your-resource-name> --resource-group <your-resource-group-name> --query "endpoint"
Usando uma chave de API
Use o Portal do Azure para navegar até o recurso Detector de Anomalias e recuperar uma chave de API clicando Keys and Endpoint
em Gerenciamento de Recursos ou use o snippet da CLI do Azure abaixo:
Nota: Às vezes, a chave de API é chamada de "chave de assinatura" ou "chave de API de assinatura".
az cognitiveservices account keys list --resource-group <your-resource-group-name> --name <your-resource-name>
Depois de ter uma chave de API e um ponto de extremidade, você poderá usar a AzureKeyCredential
classe para autenticar o cliente da seguinte maneira:
const { AnomalyDetectorClient, AzureKeyCredential } = require("@azure/ai-anomaly-detector");
const client = new AnomalyDetectorClient("<endpoint>", new AzureKeyCredential("<API key>"));
Usando uma credencial do Azure Active Directory
A autenticação de chave de API do cliente é usada na maioria dos exemplos, mas você também pode autenticar com o Azure Active Directory usando a [biblioteca de identidade do Azure]. Para usar o provedor DefaultAzureCredential mostrado abaixo ou outros provedores de credenciais fornecidos com o SDK do Azure, instale o @azure/identity
pacote:
npm install @azure/identity
Você também precisará registrar um novo aplicativo do AAD e conceder acesso a Detector de Anomalias atribuindo a "Cognitive Services User"
função à entidade de serviço (observação: outras funções como "Owner"
não concederão as permissões necessárias, apenas "Cognitive Services User"
serão suficientes para executar os exemplos e o código de exemplo).
Defina os valores da ID do cliente, da ID do locatário e do segredo do cliente do aplicativo AAD como variáveis de ambiente: 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());
Exemplos
Detectar pontos de alteração
Este exemplo demonstra como detectar pontos de alteração em séries inteiras.
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);
});
Mais exemplos podem ser encontrados aqui
Solução de problemas
Registro em log
A habilitação do log pode ajudar a descobrir informações úteis sobre falhas. Para ver um log de solicitações e respostas HTTP, defina a variável de ambiente AZURE_LOG_LEVEL
como info
. Como alternativa, o log pode ser habilitado no runtime chamando setLogLevel
em @azure/logger
:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Para obter instruções mais detalhadas sobre como habilitar logs, veja os documentos do pacote @azure/logger.
Próximas etapas
Dê uma olhada no diretório de exemplos para obter exemplos detalhados sobre como usar essa biblioteca.
Contribuição
Este projeto aceita contribuições e sugestões. A maioria das contribuições exige que você concorde com um CLA (Contrato de Licença do Colaborador) declarando que você tem o direito de nos conceder, e de fato concede, os direitos de usar sua contribuição. Para obter detalhes, visite https://cla.microsoft.com.
Quando você envia uma solicitação de pull, um bot do CLA determina automaticamente se você precisa fornecer um CLA e preencher a PR corretamente (por exemplo, rótulo, comentário). Basta seguir as instruções fornecidas pelo bot. Você só precisará fazer isso uma vez em todos os repositórios que usam nosso CLA.
Este projeto adotou o Código de Conduta de Software Livre da Microsoft. Para obter mais informações, confira as Perguntas frequentes sobre o Código de Conduta ou contate opencode@microsoft.com para enviar outras perguntas ou comentários.
Se você quiser contribuir com essa biblioteca, leia o guia de contribuição para saber como criar e testar o código.
Azure SDK for JavaScript