Biblioteka klienta usługi Azure Narzędzie do wykrywania anomalii dla języka JavaScript — wersja 3.0.0-beta.5
Azure AnomalyDetector Interfejs API umożliwia monitorowanie i wykrywanie nieprawidłowości w danych szeregów czasowych przy użyciu uczenia maszynowego.
Kluczowe linki:
Kluczowe pojęcia
Udostępnia AnomalyDetectorClient
metody wykrywania anomalii:
-
detectEntireSeries
— Wykrywa anomalie w całym zestawie danych -
detectLastPoint
— Wykrywa anomalie w najnowszym punkcie danych -
detectChangePoint
- Ocenia wynik punktu zmiany dla każdej serii punktów serii
Wprowadzenie
Obecnie obsługiwane środowiska
- Wersje ltS Node.js
- Najnowsze wersje przeglądarek Safari, Chrome, Edge i Firefox.
Aby uzyskać więcej informacji, zobacz nasze zasady pomocy technicznej .
Wymagania wstępne
- Subskrypcja platformy Azure.
- Istniejący zasób Narzędzie do wykrywania anomalii.
Jeśli używasz interfejsu wiersza polecenia platformy Azure, zastąp <your-resource-group-name>
ciąg i <your-resource-name>
własnymi unikatowymi nazwami:
az cognitiveservices account create --kind AnomalyDetector --resource-group <your-resource-group-name> --name <your-resource-name>
Instalowanie pakietu @azure/ai-anomaly-detector
Zainstaluj bibliotekę klienta usługi Azure Narzędzie do wykrywania anomalii dla języka JavaScript przy użyciu polecenia npm
:
npm install @azure/ai-anomaly-detector
Tworzenie i uwierzytelnianie AnomalyDetectorClient
Aby utworzyć obiekt klienta w celu uzyskania dostępu do interfejsu API Narzędzie do wykrywania anomalii, potrzebny endpoint
będzie zasób Narzędzie do wykrywania anomalii i .credential
Klient Narzędzie do wykrywania anomalii może używać poświadczeń usługi Azure Active Directory lub poświadczeń klucza interfejsu API do uwierzytelniania.
Punkt końcowy zasobu Narzędzie do wykrywania anomalii można znaleźć w witrynie Azure Portal, klikając Keys and Endpoint
pozycję Zarządzanie zasobami w menu lub korzystając z poniższego fragmentu wiersza polecenia platformy Azure:
az cognitiveservices account show --name <your-resource-name> --resource-group <your-resource-group-name> --query "endpoint"
Używanie klucza interfejsu API
Użyj witryny Azure Portal, aby przejść do zasobu Narzędzie do wykrywania anomalii i pobrać klucz interfejsu API, klikając pozycję Keys and Endpoint
Zarządzanie zasobami lub korzystając z poniższego fragmentu kodu interfejsu wiersza polecenia platformy Azure:
Uwaga: Czasami klucz interfejsu API jest nazywany "kluczem subskrypcji" lub "kluczem interfejsu API subskrypcji".
az cognitiveservices account keys list --resource-group <your-resource-group-name> --name <your-resource-name>
Po utworzeniu klucza interfejsu AzureKeyCredential
API i punktu końcowego możesz użyć klasy do uwierzytelnienia klienta w następujący sposób:
const { AnomalyDetectorClient, AzureKeyCredential } = require("@azure/ai-anomaly-detector");
const client = new AnomalyDetectorClient("<endpoint>", new AzureKeyCredential("<API key>"));
Używanie poświadczeń usługi Azure Active Directory
Uwierzytelnianie klucza interfejsu API klienta jest używane w większości przykładów, ale można również uwierzytelnić się w usłudze Azure Active Directory przy użyciu biblioteki [Azure Identity library]. Aby użyć dostawcy DefaultAzureCredential pokazanego poniżej lub innych dostawców poświadczeń dostarczonych z zestawem Azure SDK, zainstaluj @azure/identity
pakiet:
npm install @azure/identity
Należy również zarejestrować nową aplikację usługi AAD i udzielić dostępu do Narzędzie do wykrywania anomalii, przypisując "Cognitive Services User"
rolę do jednostki usługi (uwaga: inne role, takie jak "Owner"
nie będą udzielać niezbędnych uprawnień, wystarczy "Cognitive Services User"
uruchomić przykłady i przykładowy kod).
Ustaw wartości identyfikatora klienta, identyfikatora dzierżawy i wpisu tajnego klienta aplikacji usługi AAD jako zmienne środowiskowe: AZURE_CLIENT_ID
, , AZURE_CLIENT_SECRET
AZURE_TENANT_ID
.
const { AnomalyDetectorClient } = require("@azure/ai-anomaly-detector");
const { DefaultAzureCredential } = require("@azure/identity");
const client = new AnomalyDetectorClient("<endpoint>", new DefaultAzureCredential());
Przykłady
Wykrywanie punktów zmian
W tym przykładzie pokazano, jak wykrywać punkty zmian w całej serii.
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);
});
Więcej przykładów można znaleźć tutaj
Rozwiązywanie problemów
Rejestrowanie
Włączenie rejestrowania może pomóc odkryć przydatne informacje o błędach. Aby wyświetlić dziennik żądań HTTP i odpowiedzi, ustaw zmienną AZURE_LOG_LEVEL
środowiskową na info
. Możesz też włączyć rejestrowanie w czasie wykonywania, wywołując polecenie w elemecie setLogLevel
@azure/logger
:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Aby uzyskać bardziej szczegółowe instrukcje dotyczące włączania dzienników, zapoznaj się z dokumentami dotyczącymi pakietu @azure/rejestratora.
Następne kroki
Zapoznaj się z katalogiem samples , aby uzyskać szczegółowe przykłady dotyczące sposobu korzystania z tej biblioteki.
Współtworzenie
W tym projekcie zachęcamy do współtworzenia i zgłaszania sugestii. Współtworzenie w większości przypadków wymaga zgody na umowę licencyjną dotyczącą współautorów (CLA, Contributor License Agreement), zgodnie z którą współautor ma prawo udzielić i faktycznie udziela nam praw do używania wytworzonej przez siebie zawartości. Aby uzyskać szczegółowe informacje, odwiedź stronę https://cla.microsoft.com.
Po przesłaniu żądania ściągnięcia robot CLA automatycznie określi, czy musisz przekazać umowę CLA, i doda odpowiednie informacje do tego żądania (na przykład etykietę czy komentarz). Po prostu postępuj zgodnie z instrukcjami robota. Wystarczy zrobić to raz dla wszystkich repozytoriów, w przypadku których jest używana nasza umowa CLA.
W tym projekcie przyjęto Kodeks postępowania oprogramowania Open Source firmy Microsoft. Aby uzyskać więcej informacji, zobacz Często zadawane pytania dotyczące kodeksu postępowania lub skontaktuj się z opencode@microsoft.com dodatkowymi pytaniami lub komentarzami.
Jeśli chcesz współtworzyć tę bibliotekę, przeczytaj przewodnik współtworzenia , aby dowiedzieć się więcej na temat sposobu kompilowania i testowania kodu.
Azure SDK for JavaScript