Rychlý start: Použití klientské knihovny Univariate Detektor anomálií
Důležité
Od 20. září 2023 nebudete moct vytvářet nové Detektor anomálií prostředky. Služba Detektor anomálií se 1. října 2026 vyřadí z provozu.
Referenční dokumentace |ke knihovně – Balíček zdrojového kódu | knihovny (NuGet) |Vyhledání ukázkového kódu na GitHubu
Začínáme s klientskou knihovnou Detektor anomálií pro C#. Pomocí těchto kroků nainstalujte balíček pomocí algoritmů poskytovaných službou. Služba Detektor anomálií umožňuje najít odchylky v datech časových řad automaticky pomocí nejvhodnějších modelů bez ohledu na obor, scénář nebo objem dat.
Pomocí klientské knihovny Detektor anomálií pro jazyk C# můžete:
- Detekce anomálií v datové sadě časových řad jako dávkové žádosti
- Zjištění stavu anomálií nejnovějšího datového bodu v časové řadě
- Detekujte body změn trendu ve vaší sadě dat.
Požadavky
- Předplatné Azure – Vytvoření předplatného zdarma
- Aktuální verze .NET Core
- Jakmile budete mít předplatné Azure, vytvořte na webu Azure Portal prostředek Detektor anomálií, abyste získali klíč a koncový bod. Počkejte, až se nasazení nasadí, a vyberte tlačítko Přejít k prostředku . K vyzkoušení služby můžete použít cenovou úroveň
F0
Free a později upgradovat na placenou úroveň pro produkční prostředí.
Nastavení
Vytvoření nové aplikace .NET Core
V okně konzoly (například cmd, PowerShell nebo Bash) pomocí dotnet new
příkazu vytvořte novou konzolovou aplikaci s názvem anomaly-detector-quickstart
. Tento příkaz vytvoří jednoduchý projekt Hello World s jedním zdrojovým souborem jazyka C#: Program.cs.
dotnet new console -n anomaly-detector-quickstart
Změňte adresář na nově vytvořenou složku aplikace. Aplikaci můžete sestavit pomocí následujících:
dotnet build
Výstup sestavení by neměl obsahovat žádná upozornění ani chyby.
...
Build succeeded.
0 Warning(s)
0 Error(s)
...
Instalace klientské knihovny
V adresáři aplikace nainstalujte klientskou knihovnu Detektor anomálií pro .NET pomocí následujícího příkazu:
dotnet add package Azure.AI.AnomalyDetector --prerelease
Načtení klíče a koncového bodu
K úspěšnému volání služby Detektor anomálií budete potřebovat následující hodnoty:
Název proměnné | Hodnota |
---|---|
ANOMALY_DETECTOR_ENDPOINT |
Tuto hodnotu najdete v části Klíče a koncový bod při zkoumání prostředku na webu Azure Portal. Příklad koncového bodu: https://YOUR_RESOURCE_NAME.cognitiveservices.azure.com/ |
ANOMALY_DETECTOR_API_KEY |
Hodnotu klíče rozhraní API najdete v části Klíče a koncový bod při zkoumání prostředku na webu Azure Portal. Použít můžete předponu KEY1 nebo KEY2 . |
DATA_PATH |
V tomto rychlém startu request-data.csv se používá soubor, který si můžete stáhnout z našich ukázkových dat GitHubu. Příklad cesty: c:\\test\\request-data.csv |
Na webu Azure Portal přejděte ke svému prostředku. Koncový bod a klíče najdete v části Správa prostředků. Zkopírujte koncový bod a přístupový klíč, protože budete potřebovat obojí pro ověřování volání rozhraní API. Použít můžete předponu KEY1
nebo KEY2
. Vždy mít dva klíče vám umožní bezpečně otáčet a znovu vygenerovat klíče, aniž by to způsobilo přerušení služeb.
Vytvoření proměnných prostředí
Vytvořte a přiřaďte trvalé proměnné prostředí pro klíč a koncový bod.
Důležité
Pokud používáte klíč rozhraní API, uložte ho bezpečně někam jinam, například ve službě Azure Key Vault. Nezahrnujte klíč rozhraní API přímo do kódu a nikdy ho nevštěvujte veřejně.
Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.
setx ANOMALY_DETECTOR_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx ANOMALY_DETECTOR_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Stažení ukázkových dat
V tomto rychlém startu se request-data.csv
používá soubor, který je možné stáhnout z ukázkových dat GitHubu.
Ukázková data si můžete stáhnout také spuštěním následujícího příkazu:
curl "https://raw.githubusercontent.com/Azure/azure-sdk-for-python/main/sdk/anomalydetector/azure-ai-anomalydetector/samples/sample_data/request-data.csv" --output request-data.csv
Detekce anomálií
V adresáři projektu otevřete soubor program.cs a nahraďte následujícím kódem:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using Azure;
using Azure.AI.AnomalyDetector;
using static System.Environment;
namespace anomaly_detector_quickstart
{
internal class Program
{
static void Main(string[] args)
{
string endpoint = GetEnvironmentVariable("ANOMALY_DETECTOR_ENDPOINT");
string apiKey = GetEnvironmentVariable("ANOMALY_DETECTOR_API_KEY");
var endpointUri = new Uri(endpoint);
var credential = new AzureKeyCredential(apiKey);
//create client
AnomalyDetectorClient client = new AnomalyDetectorClient(endpointUri, credential);
//read data
//example: string datapath = @"c:\test\request-data.csv";
string datapath = @"REPLACE_WITH_YOUR_LOCAL_SAMPLE_REQUEST_DATA_PATH";
List<TimeSeriesPoint> list = File.ReadAllLines(datapath, Encoding.UTF8)
.Where(e => e.Trim().Length != 0)
.Select(e => e.Split(','))
.Where(e => e.Length == 2)
.Select(e => new TimeSeriesPoint(float.Parse(e[1])) { Timestamp = DateTime.Parse(e[0]) }).ToList();
//create request
UnivariateDetectionOptions request = new UnivariateDetectionOptions(list)
{
Granularity = TimeGranularity.Daily
};
UnivariateEntireDetectionResult result = client.DetectUnivariateEntireSeries(request);
bool hasAnomaly = false;
for (int i = 0; i < request.Series.Count; ++i)
{
if (result.IsAnomaly[i])
{
Console.WriteLine("Anomaly detected at index: {0}.", i);
hasAnomaly = true;
}
}
if (!hasAnomaly)
{
Console.WriteLine("No anomalies detected in the series.");
}
}
}
}
Spusťte aplikaci pomocí následujícího příkazu:
dotnet run program.cs
Výstup
Anomaly detected at index: 3
Anomaly detected at index: 18
Anomaly detected at index: 21
Anomaly detected at index: 22
Anomaly detected at index: 23
Anomaly detected at index: 24
Anomaly detected at index: 25
Anomaly detected at index: 28
Anomaly detected at index: 29
Anomaly detected at index: 30
Anomaly detected at index: 31
Anomaly detected at index: 32
Anomaly detected at index: 35
Anomaly detected at index: 44
Podrobnosti kódu
Porozumění výsledkům
Ve výše uvedeném kódu se ukázková data čtou a převedou na DetectRequest
objekt. Voláme File.ReadAllLines
s cestou k souboru a vytvoříme seznam TimeSeriesPoint
objektů a odstraníme všechny znaky nového řádku. Extrahujte hodnoty a oddělte časové razítko od jeho číselné hodnoty a přidejte je do nového TimeSeriesPoint
objektu. Objekt DetectRequest
se skládá z řady datových bodů s TimeGranularity.Daily
členitostí (nebo periodikou) datových bodů.
Dále zavoláme metodu klienta DetectEntireSeriesAsync
s objektem DetectRequest
a očekáváme odpověď jako EntireDetectResponse
objekt. Pak iterujeme hodnoty odpovědi IsAnomaly
a vytiskneme všechny hodnoty, které jsou pravdivé. Tyto hodnoty odpovídají indexu neobvyklých datových bodů, pokud byly nalezeny.
Vyčištění prostředků
Pokud chcete vyčistit a odebrat prostředek Detektor anomálií, můžete prostředek nebo skupinu prostředků odstranit. Odstraněním skupiny prostředků se odstraní také všechny ostatní prostředky, které jsou k ní přidružené. Můžete také zvážit odstranění proměnných prostředí, které jste vytvořili, pokud už je nechcete používat.
Referenční dokumentace ke |knihovně – Balíček zdrojového kódu | knihovny (npm) |Vyhledání ukázkového kódu na GitHubu
Začínáme s klientskou knihovnou Detektor anomálií pro JavaScript Podle těchto kroků nainstalujte balíček a začněte používat algoritmy poskytované službou. Služba Detektor anomálií umožňuje automaticky najít odchylky v datech časových řad pomocí nejvhodnějšího modelu bez ohledu na obor, scénář nebo objem dat.
Pomocí klientské knihovny Detektor anomálií pro JavaScript můžete:
- Detekce anomálií v datové sadě časových řad jako dávkové žádosti
- Zjištění stavu anomálií nejnovějšího datového bodu v časové řadě
- Detekujte body změn trendu ve vaší sadě dat.
Požadavky
- Předplatné Azure – Vytvoření předplatného zdarma
- Aktuální verze Node.js
- Jakmile budete mít předplatné Azure, vytvořte na webu Azure Portal prostředek Detektor anomálií, abyste získali klíč a koncový bod. Počkejte, až se nasazení nasadí, a vyberte tlačítko Přejít k prostředku . K vyzkoušení služby můžete použít cenovou úroveň
F0
Free a později upgradovat na placenou úroveň pro produkční prostředí.
Nastavení
Vytvoření nové aplikace Node.js
V okně konzoly (například cmd, PowerShell nebo Bash) vytvořte pro vaši aplikaci nový adresář a přejděte do něj.
mkdir myapp && cd myapp
Vytvořte package.json
soubor s následujícím obsahem:
{
"dependencies": {
"@azure/ai-anomaly-detector": "next",
"@azure-rest/ai-anomaly-detector": "next",
"@azure/core-auth": "^1.3.0",
"csv-parse": "^5.3.0"
}
}
Instalace klientské knihovny
Nainstalujte požadované balíčky npm spuštěním následujícího příkazu ze stejného adresáře jako soubor package.json:
npm install
Načtení klíče a koncového bodu
K úspěšnému volání služby Detektor anomálií budete potřebovat následující hodnoty:
Název proměnné | Hodnota |
---|---|
ANOMALY_DETECTOR_ENDPOINT |
Tuto hodnotu najdete v části Klíče a koncový bod při zkoumání prostředku na webu Azure Portal. Příklad koncového bodu: https://YOUR_RESOURCE_NAME.cognitiveservices.azure.com/ |
ANOMALY_DETECTOR_API_KEY |
Hodnotu klíče rozhraní API najdete v části Klíče a koncový bod při zkoumání prostředku na webu Azure Portal. Použít můžete předponu KEY1 nebo KEY2 . |
datapath |
V tomto rychlém startu request-data.csv se používá soubor, který si můžete stáhnout z našich ukázkových dat GitHubu. |
Na webu Azure Portal přejděte ke svému prostředku. Koncový bod a klíče najdete v části Správa prostředků. Zkopírujte koncový bod a přístupový klíč, protože budete potřebovat obojí pro ověřování volání rozhraní API. Použít můžete předponu KEY1
nebo KEY2
. Vždy mít dva klíče vám umožní bezpečně otáčet a znovu vygenerovat klíče, aniž by to způsobilo přerušení služeb.
Vytvoření proměnných prostředí
Vytvořte a přiřaďte trvalé proměnné prostředí pro klíč a koncový bod.
Důležité
Pokud používáte klíč rozhraní API, uložte ho bezpečně někam jinam, například ve službě Azure Key Vault. Nezahrnujte klíč rozhraní API přímo do kódu a nikdy ho nevštěvujte veřejně.
Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.
setx ANOMALY_DETECTOR_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx ANOMALY_DETECTOR_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Stažení ukázkových dat
V tomto rychlém startu se request-data.csv
používá soubor, který je možné stáhnout z ukázkových dat GitHubu.
Ukázková data si můžete stáhnout také spuštěním následujícího příkazu:
curl "https://raw.githubusercontent.com/Azure/azure-sdk-for-python/main/sdk/anomalydetector/azure-ai-anomalydetector/samples/sample_data/request-data.csv" --output request-data.csv
Detekce anomálií
Vytvořte soubor s názvem index.js
a nahraďte následujícím kódem:
const AnomalyDetector = require("@azure-rest/ai-anomaly-detector").default,
{ isUnexpected } = require("@azure-rest/ai-anomaly-detector");
const { AzureKeyCredential } = require("@azure/core-auth");
const { parse } = require("csv-parse/sync");
const fs = require("fs");
// Retrieve the endpoint and key from the environment variables.
const apiKey = process.env["ANOMALY_DETECTOR_API_KEY"] || "";
const endpoint = process.env["ANOMALY_DETECTOR_ENDPOINT"] || "";
const timeSeriesDataPath = "./request-data.csv";
function read_series_from_file(path) {
let result = Array();
let input = fs.readFileSync(path).toString();
let parsed = parse(input, { skip_empty_lines: true });
parsed.forEach(function (e) {
result.push({ timestamp: new Date(e[0]), value: Number(e[1]) });
});
return result;
}
async function main() {
// create client
const credential = new AzureKeyCredential(apiKey);
const client = AnomalyDetector(endpoint, credential);
// construct request
const options = {
body: {
granularity: "daily",
imputeMode: "auto",
maxAnomalyRatio: 0.25,
sensitivity: 95,
series: read_series_from_file(timeSeriesDataPath),
},
headers: { "Content-Type": "application/json" },
};
// get last detect result
const result = await client.path("/timeseries/entire/detect").post(options);
if (isUnexpected(result)) {
throw result;
}
if (result.body.isAnomaly) {
result.body.isAnomaly.forEach(function (anomaly, index) {
if (anomaly === true) {
console.log(index);
}
});
} else {
console.log("There is no anomaly detected from the series.");
}
}
main().catch((err) => {
console.error("The sample encountered an error:", err);
});
module.exports = { main };
Spuštění aplikace
Spusťte aplikaci pomocí příkazu node
pro soubor rychlého startu.
node index.js
Výstup
Anomalies were detected from the series at index:
3
18
21
22
23
24
25
28
29
30
31
32
35
44
Porozumění výsledkům
Ve výše uvedeném kódu voláme rozhraní API Detektor anomálií k detekci anomálií prostřednictvím celé časové řady jako dávky pomocí metody detectEntireSeries() klienta. Vrácený objekt AnomalyDetectorDetectEntireSeriesResponse ukládáme. Pak iterujeme seznamem odpovědí isAnomaly
a vytiskneme index všech true
hodnot. Tyto hodnoty odpovídají indexu neobvyklých datových bodů, pokud byly nalezeny.
Vyčištění prostředků
Pokud chcete vyčistit a odebrat prostředek Detektor anomálií, můžete prostředek nebo skupinu prostředků odstranit. Odstraněním skupiny prostředků se odstraní také všechny ostatní prostředky, které jsou k ní přidružené. Můžete také zvážit odstranění proměnných prostředí, které jste vytvořili, pokud už je nechcete používat.
Referenční dokumentace ke |knihovně – Balíček zdrojového kódu | knihovny (PyPi) |Vyhledání ukázkového kódu na GitHubu
Začínáme s klientskou knihovnou Detektor anomálií pro Python Podle těchto kroků nainstalujte balíček a začněte používat algoritmy poskytované službou. Služba Detektor anomálií umožňuje najít odchylky v datech časových řad automaticky pomocí nejvhodnějších modelů bez ohledu na obor, scénář nebo objem dat.
Pomocí klientské knihovny Detektor anomálií pro Python můžete:
- Detekce anomálií v datové sadě časových řad jako dávkové žádosti
- Zjištění stavu anomálií nejnovějšího datového bodu v časové řadě
- Detekujte body změn trendu ve vaší sadě dat.
Požadavky
- Předplatné Azure – Vytvoření předplatného zdarma
- Python 3.x
- Knihovna pro analýzu dat Pandas
- Jakmile budete mít předplatné Azure, vytvořte na webu Azure Portal prostředek Detektor anomálií, abyste získali klíč a koncový bod. Počkejte, až se nasazení nasadí, a vyberte tlačítko Přejít k prostředku . K vyzkoušení služby můžete použít cenovou úroveň
F0
Free a později upgradovat na placenou úroveň pro produkční prostředí.
Nastavení
Nainstalujte klientskou knihovnu. Klientskou knihovnu můžete nainstalovat pomocí následujících:
pip install --upgrade azure.ai.anomalydetector
Načtení klíče a koncového bodu
K úspěšnému volání služby Detektor anomálií budete potřebovat následující hodnoty:
Název proměnné | Hodnota |
---|---|
ANOMALY_DETECTOR_ENDPOINT |
Tuto hodnotu najdete v části Klíče a koncový bod při zkoumání prostředku na webu Azure Portal. Příklad koncového bodu: https://YOUR_RESOURCE_NAME.cognitiveservices.azure.com/ |
ANOMALY_DETECTOR_API_KEY |
Hodnotu klíče rozhraní API najdete v části Klíče a koncový bod při zkoumání prostředku na webu Azure Portal. Použít můžete předponu KEY1 nebo KEY2 . |
DATA_PATH |
V tomto rychlém startu request-data.csv se používá soubor, který si můžete stáhnout z našich ukázkových dat GitHubu. Příklad cesty: c:\\test\\request-data.csv |
Na webu Azure Portal přejděte ke svému prostředku. Koncový bod a klíče najdete v části Správa prostředků. Zkopírujte koncový bod a přístupový klíč, protože budete potřebovat obojí pro ověřování volání rozhraní API. Použít můžete předponu KEY1
nebo KEY2
. Vždy mít dva klíče vám umožní bezpečně otáčet a znovu vygenerovat klíče, aniž by to způsobilo přerušení služeb.
Vytvoření proměnných prostředí
Vytvořte a přiřaďte trvalé proměnné prostředí pro klíč a koncový bod.
Důležité
Pokud používáte klíč rozhraní API, uložte ho bezpečně někam jinam, například ve službě Azure Key Vault. Nezahrnujte klíč rozhraní API přímo do kódu a nikdy ho nevštěvujte veřejně.
Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.
setx ANOMALY_DETECTOR_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx ANOMALY_DETECTOR_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Stažení ukázkových dat
V tomto rychlém startu se request-data.csv
používá soubor, který je možné stáhnout z ukázkových dat GitHubu.
Ukázková data si můžete stáhnout také spuštěním následujícího příkazu:
curl "https://raw.githubusercontent.com/Azure/azure-sdk-for-python/main/sdk/anomalydetector/azure-ai-anomalydetector/samples/sample_data/request-data.csv" --output request-data.csv
Detekce anomálií
Vytvořte nový soubor Pythonu s názvem quickstart.py. Pak ho otevřete v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE).
Obsah quickstart.py nahraďte následujícím kódem. Upravte kód tak, aby přidal názvy proměnných prostředí pro klíč, koncový bod a cestu k datům časové řady:
from azure.ai.anomalydetector import AnomalyDetectorClient from azure.ai.anomalydetector.models import * from azure.core.credentials import AzureKeyCredential import pandas as pd import os API_KEY = os.environ['ANOMALY_DETECTOR_API_KEY'] ENDPOINT = os.environ['ANOMALY_DETECTOR_ENDPOINT'] DATA_PATH = "REPLACE_WITH_YOUR_LOCAL_SAMPLE_REQUEST_DATA_PATH" #example: c:\\test\\request-data.csv client = AnomalyDetectorClient(ENDPOINT, AzureKeyCredential(API_KEY)) series = [] data_file = pd.read_csv(DATA_PATH, header=None, encoding='utf-8', date_parser=[0]) for index, row in data_file.iterrows(): series.append(TimeSeriesPoint(timestamp=row[0], value=row[1])) request = UnivariateDetectionOptions(series=series, granularity=TimeGranularity.DAILY) change_point_response = client.detect_univariate_change_point(request) anomaly_response = client.detect_univariate_entire_series(request) for i in range(len(data_file.values)): if (change_point_response.is_change_point[i]): print("Change point detected at index: "+ str(i)) elif (anomaly_response.is_anomaly[i]): print("Anomaly detected at index: "+ str(i))
Důležité
V produkčním prostředí použijte bezpečný způsob ukládání přihlašovacích údajů a přístupu k vašim přihlašovacím údajům, jako je Azure Key Vault. Další informace o zabezpečení přihlašovacích údajů najdete v článku zabezpečení služeb Azure AI.
Spuštění aplikace pomocí příkazu v souboru rychlého
python
startupython quickstart.py
Výstup
Anomaly detected at index: 3
Anomaly detected at index: 18
Change point detected at index: 20
Anomaly detected at index: 21
Anomaly detected at index: 22
Anomaly detected at index: 23
Anomaly detected at index: 24
Anomaly detected at index: 25
Change point detected at index: 27
Anomaly detected at index: 28
Anomaly detected at index: 29
Anomaly detected at index: 30
Anomaly detected at index: 31
Anomaly detected at index: 32
Anomaly detected at index: 35
Anomaly detected at index: 44
Porozumění výsledkům
Ve výše uvedeném kódu voláme rozhraní API Detektor anomálií dvakrát. První volání kontroluje body změn trendu v naší ukázkové datové řadě pomocí detect_change_point
metody. Toto volání vrátí ChangePointDetectResponse
hodnotu, kterou jsme uložili do proměnné, kterou jsme pojmenovali change_point_request
. Pak iterujeme seznamem odpovědí is_change_point
a vytiskneme index všech hodnot s logickou hodnotou true
.
Druhé volání zkontroluje pomocí metody celou ukázkovou datovou řadu anomálií detect_entire_series
. Toto volání vrátí EntireDetectResponse
hodnotu, kterou jsme uložili do proměnné, kterou jsme pojmenovali anomaly_response
. Iterujeme seznamem odpovědí is_anomaly
a vytiskneme index všech hodnot s logickou hodnotou true
. Případně bychom mohli použít metodu detect_last_point
, která je vhodnější pro detekci anomálií v datech v reálném čase. Další informace najdete v průvodci osvědčenými postupy.
Vizualizace výsledků
K vizualizaci anomálií a změn bodů ve vztahu k ukázkové datové řadě použijeme oblíbenou knihovnu matplotlib pro open source.
Nainstalujte knihovnu.
pip install matplotlib
Upravte soubor quickstart.py následujícím kódem:
from azure.ai.anomalydetector import AnomalyDetectorClient from azure.ai.anomalydetector.models import * from azure.core.credentials import AzureKeyCredential import pandas as pd import matplotlib.pyplot as plt import matplotlib.dates as mdates import os API_KEY = os.environ['ANOMALY_DETECTOR_API_KEY'] ENDPOINT = os.environ['ANOMALY_DETECTOR_ENDPOINT'] DATA_PATH = "REPLACE_WITH_YOUR_LOCAL_SAMPLE_REQUEST_DATA_PATH" #example: c:\\test\\request-data.csv client = AnomalyDetectorClient(ENDPOINT, AzureKeyCredential(API_KEY)) series = [] data_file = pd.read_csv(DATA_PATH, header=None, encoding='utf-8', date_parser=[0]) for index, row in data_file.iterrows(): series.append(TimeSeriesPoint(timestamp=row[0], value=row[1])) request = UnivariateDetectionOptions(series=series, granularity=TimeGranularity.DAILY) change_point_response = client.detect_univariate_change_point(request) anomaly_response = client.detect_univariate_entire_series(request) for i in range(len(data_file.values)): temp_date_to_num = mdates.date2num(data_file.values[i]) date= temp_date_to_num[0] if (change_point_response.is_change_point[i]): plt.plot(date,data_file.values[i][1], 's', color ='blue') print("Change point detected at index: "+ str(i)) elif (anomaly_response.is_anomaly[i]): plt.plot(date,data_file.values[i][1], '^', color="red") print("Anomaly detected at index: "+ str(i)) else: plt.plot(date,data_file.values[i][1], 'o', color ='green') plt.show()
Důležité
V produkčním prostředí použijte bezpečný způsob ukládání přihlašovacích údajů a přístupu k vašim přihlašovacím údajům, jako je Azure Key Vault. Další informace o zabezpečení přihlašovacích údajů najdete v článku zabezpečení služeb Azure AI.
Spuštění aplikace pomocí příkazu v souboru rychlého
python
startupython quickstart.py
Výstup
V tomto příkladu kódu jsme přidali knihovnu matplotlib
, která nám umožní vizualizovat a snadno odlišit běžné datové body od bodů změn a anomálií. Body změn jsou reprezentovány modrými čtverci, anomálie jsou červené trojúhelníky a normální datové body jsou zelené kruhy. Kalendářní data se převedou na čísla pomocí matplotlib
metody" date2num
, která poskytuje grafové popisné hodnoty pro osu y grafů.
Vyčištění prostředků
Pokud chcete vyčistit a odebrat prostředek Detektor anomálií, můžete prostředek nebo skupinu prostředků odstranit. Odstraněním skupiny prostředků se odstraní také všechny ostatní prostředky, které jsou k ní přidružené. Můžete také zvážit odstranění proměnných prostředí, které jste vytvořili, pokud už je nechcete používat.
V tomto rychlém startu se dozvíte, jak pomocí služby Detektor anomálií a cURL detekovat anomálie v dávce dat časových řad.
Základní informace o konceptech Detektor anomálií najdete v článku s přehledem.
Požadavky
- Předplatné Azure – Vytvoření předplatného zdarma
- Jakmile budete mít předplatné Azure, vytvořte na webu Azure Portal prostředek Detektor anomálií, abyste získali klíč a koncový bod. Počkejte, až se nasazení nasadí, a vyberte tlačítko Přejít k prostředku . K vyzkoušení služby můžete použít cenovou úroveň
F0
Free a později upgradovat na placenou úroveň pro produkční prostředí. - Platný soubor JSON s daty časových řad pro testování anomálií. Pokud nemáte vlastní soubor, můžete z ukázky textu požadavku vytvořit soubor sample.json.
Načtení klíče a koncového bodu
K úspěšnému volání služby Detektor anomálií budete potřebovat následující hodnoty:
Název proměnné | Hodnota |
---|---|
ANOMALY_DETECTOR_ENDPOINT |
Tuto hodnotu najdete v části Klíče a koncový bod při zkoumání prostředku na webu Azure Portal. Příklad koncového bodu: https://YOUR_RESOURCE_NAME.cognitiveservices.azure.com/ |
ANOMALY_DETECTOR_API_KEY |
Hodnotu klíče rozhraní API najdete v části Klíče a koncový bod při zkoumání prostředku na webu Azure Portal. Použít můžete předponu KEY1 nebo KEY2 . |
Na webu Azure Portal přejděte ke svému prostředku. Koncový bod a klíče najdete v části Správa prostředků. Zkopírujte koncový bod a přístupový klíč, protože budete potřebovat obojí pro ověřování volání rozhraní API. Použít můžete předponu KEY1
nebo KEY2
. Vždy mít dva klíče vám umožní bezpečně otáčet a znovu vygenerovat klíče, aniž by to způsobilo přerušení služeb.
Vytvoření proměnných prostředí
Vytvořte a přiřaďte trvalé proměnné prostředí pro klíč a koncový bod.
Důležité
Pokud používáte klíč rozhraní API, uložte ho bezpečně někam jinam, například ve službě Azure Key Vault. Nezahrnujte klíč rozhraní API přímo do kódu a nikdy ho nevštěvujte veřejně.
Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.
setx ANOMALY_DETECTOR_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx ANOMALY_DETECTOR_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Detekce anomálií
Na příkazovém řádku spusťte následující příkaz. Do příkazu budete muset vložit následující hodnoty.
- Klíč předplatného služby Detektor anomálií.
- Adresa koncového bodu detektoru anomálií
- Platný soubor JSON s daty časových řad pro testování anomálií. Pokud nemáte vlastní soubor, můžete z ukázky textu požadavku vytvořit sample.json soubor.
curl -v POST "%ANOMALY_DETECTOR_ENDPOINT%/anomalydetector/v1.0/timeseries/entire/detect"
-H "Content-Type: application/json"
-H "Ocp-Apim-Subscription-Key: %ANOMALY_DETECTOR_API_KEY%"
-d "@path_to_sample_file.json"
Příklad úplného příkazu jako jednoho řádku:
curl -v POST "%ANOMALY_DETECTOR_ENDPOINT%/anomalydetector/v1.0/timeseries/entire/detect" -H "Content-Type: application/json" -H "Ocp-Apim-Subscription-Key: %ANOMALY_DETECTOR_API_KEY%" -d "@c:\test\rest.json"
Případně pokud spouštíte příkaz cURL z prostředí Bash, bude se váš příkaz mírně lišit:
curl -v POST "$ANOMALY_DETECTOR_ENDPOINT/anomalydetector/v1.0/timeseries/entire/detect" -H "Content-Type: application/json" -H "Ocp-Apim-Subscription-Key: $ANOMALY_DETECTOR_API_KEY" -d "@c:\test\rest.json"
Pokud jste použili ukázková data z požadavků, měli byste obdržet odpověď 200 s následujícími výsledky:
{
"expectedValues": [
827.7940908243968,
798.9133774671927,
888.6058431807189,
900.5606407986661,
962.8389426378304,
933.2591606306954,
891.0784104799666,
856.1781601363697,
809.8987227908941,
807.375129007505,
764.3196682448518,
803.933498594564,
823.5900620883058,
794.0905641334288,
883.164245249282,
894.8419000690953,
956.8430591101258,
927.6285055190114,
885.812983784303,
851.6424797402517,
806.0927886943216,
804.6826815312029,
762.74070738882,
804.0251702513732,
825.3523662579559,
798.0404188724976,
889.3016505577698,
902.4226124345937,
965.867078532635,
937.3200495736695,
896.1720524711102,
862.0087368413656,
816.4662342097423,
814.4297745524709,
771.8614479159354,
811.859271346729,
831.8998279215521,
802.947544797165,
892.5684407435083,
904.5488214533809,
966.8527063844707,
937.3168391003043,
895.180003672544,
860.3649596356635,
814.1707285969043,
811.9054862686213,
769.1083769610742,
809.2328084659704
],
"upperMargins": [
41.389704541219835,
39.94566887335964,
44.43029215903594,
45.02803203993331,
48.14194713189152,
46.66295803153477,
44.55392052399833,
42.808908006818484,
40.494936139544706,
40.36875645037525,
38.215983412242586,
40.196674929728196,
41.17950310441529,
39.70452820667144,
44.1582122624641,
44.74209500345477,
47.84215295550629,
46.38142527595057,
44.290649189215145,
42.58212398701258,
40.30463943471608,
40.234134076560146,
38.137035369441,
40.201258512568664,
41.267618312897795,
39.90202094362488,
44.46508252788849,
45.121130621729684,
48.29335392663175,
46.86600247868348,
44.80860262355551,
43.100436842068284,
40.82331171048711,
40.721488727623544,
38.593072395796774,
40.59296356733645,
41.5949913960776,
40.14737723985825,
44.62842203717541,
45.227441072669045,
48.34263531922354,
46.86584195501521,
44.759000183627194,
43.01824798178317,
40.70853642984521,
40.59527431343106,
38.45541884805371,
40.46164042329852
],
"lowerMargins": [
41.389704541219835,
39.94566887335964,
44.43029215903594,
45.02803203993331,
48.14194713189152,
46.66295803153477,
44.55392052399833,
42.808908006818484,
40.494936139544706,
40.36875645037525,
38.215983412242586,
40.196674929728196,
41.17950310441529,
39.70452820667144,
44.1582122624641,
44.74209500345477,
47.84215295550629,
46.38142527595057,
44.290649189215145,
42.58212398701258,
40.30463943471608,
40.234134076560146,
38.137035369441,
40.201258512568664,
41.267618312897795,
39.90202094362488,
44.46508252788849,
45.121130621729684,
48.29335392663175,
46.86600247868348,
44.80860262355551,
43.100436842068284,
40.82331171048711,
40.721488727623544,
38.593072395796774,
40.59296356733645,
41.5949913960776,
40.14737723985825,
44.62842203717541,
45.227441072669045,
48.34263531922354,
46.86584195501521,
44.759000183627194,
43.01824798178317,
40.70853642984521,
40.59527431343106,
38.45541884805371,
40.46164042329852
],
"isAnomaly": [
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
true,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false
],
"isPositiveAnomaly": [
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
true,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false
],
"isNegativeAnomaly": [
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false
],
"period": 12
}
Další informace najdete v referenčních informacích k rozhraní REST pro detekci anomálií.
Vyčištění prostředků
Pokud chcete vyčistit a odebrat předplatné služeb Azure AI, můžete odstranit prostředek nebo skupinu prostředků. Odstraněním skupiny prostředků odstraníte také všechny ostatní prostředky přidružené ke skupině prostředků.
Další kroky
Koncepty:
- Co je rozhraní API Detektor anomálií?
- Metody detekce anomálií
- Osvědčené postupy při používání rozhraní API Detektor anomálií
Kurzy: