Hızlı Başlangıç: Tek Değişkenli Anomali Algılayıcısı istemci kitaplığını kullanma
Önemli
20 Eylül 2023 tarihinden itibaren yeni Anomali Algılayıcısı kaynakları oluşturamayacaksınız. Anomali Algılayıcısı hizmeti 1 Ekim 2026'da kullanımdan kaldırılıyor.
Kitaplık başvuru belgeleri |Kitaplık kaynak kodu | Paketi (NuGet) |GitHub'da örnek kodu bulma
C# için Anomali Algılayıcısı istemci kitaplığını kullanmaya başlayın. Hizmet tarafından sağlanan algoritmaları kullanarak paketi yüklemeye başlamak için bu adımları izleyin. Anomali Algılayıcısı hizmeti, endüstri, senaryo veya veri hacmi ne olursa olsun zaman serisi verilerinizdeki anormallikleri otomatik olarak en uygun modelleri kullanarak bulmanızı sağlar.
C# için Anomali Algılayıcısı istemci kitaplığını kullanarak:
- Toplu istek olarak zaman serisi veri kümenizdeki anomalileri algılama
- Zaman serinizdeki en son veri noktasının anomali durumunu algılama
- Veri kümenizdeki eğilim değişiklik noktalarını algılayın.
Önkoşullar
- Azure aboneliği - Ücretsiz bir abonelik oluşturun
- .NET Core'un geçerli sürümü
- Azure aboneliğinizi aldıktan sonra anahtarınızı ve uç noktanızı almak için Azure portalında bir Anomali Algılayıcısı kaynağı oluşturun. Dağıtmasını bekleyin ve Kaynağa git düğmesini seçin. Hizmeti denemek ve daha sonra üretim için ücretli bir katmana yükseltmek için ücretsiz fiyatlandırma katmanını (
F0
) kullanabilirsiniz.
Ayarlama
Yeni .NET Core uygulaması oluşturma
Bir konsol penceresinde (cmd, PowerShell veya Bash gibi), adlı anomaly-detector-quickstart
yeni bir konsol uygulaması oluşturmak için komutunu kullanındotnet new
. Bu komut, tek bir C# kaynak dosyasıyla basit bir "Merhaba Dünya" projesi oluşturur: Program.cs.
dotnet new console -n anomaly-detector-quickstart
Dizininizi yeni oluşturulan uygulama klasörüyle değiştirin. Uygulamayı şu şekilde oluşturabilirsiniz:
dotnet build
Derleme çıkışı hiçbir uyarı veya hata içermemelidir.
...
Build succeeded.
0 Warning(s)
0 Error(s)
...
İstemci kitaplığını yükleme
Uygulama dizininde aşağıdaki komutla .NET için Anomali Algılayıcısı istemci kitaplığını yükleyin:
dotnet add package Azure.AI.AnomalyDetector --prerelease
Anahtarı ve uç noktayı alma
Anomali Algılayıcısı hizmetine karşı başarılı bir şekilde çağrı yapmak için aşağıdaki değerler gerekir:
Azure portalında kaynağınıza gidin. Uç Nokta ve Anahtarlar Kaynak Yönetimi bölümünde bulunabilir. Api çağrılarınızın kimliğini doğrulamak için ihtiyacınız olacak şekilde uç noktanızı ve erişim anahtarınızı kopyalayın. KEY1
veya KEY2
kullanabilirsiniz. Her zaman iki anahtara sahip olmak, hizmet kesintisine neden olmadan anahtarları güvenli bir şekilde döndürmenize ve yeniden oluşturmanıza olanak tanır.
Ortam değişkenlerini oluşturma
Anahtarınız ve uç noktanız için kalıcı ortam değişkenleri oluşturun ve atayın.
setx ANOMALY_DETECTOR_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx ANOMALY_DETECTOR_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Örnek verileri indirme data
Bu hızlı başlangıçta request-data.csv
GitHub örnek verilerimizden indirilebilen dosya kullanılmaktadır
Aşağıdakini çalıştırarak örnek verileri de indirebilirsiniz:
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
Anomalileri algılama
Proje dizininden program.cs dosyasını açın ve değerini aşağıdaki kodla değiştirin:
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.");
}
}
}
}
Önemli
Üretim için Azure Key Vault gibi kimlik bilgilerinizi depolamanın ve bunlara erişmenin güvenli bir yolunu kullanın. Kimlik bilgisi güvenliği hakkında daha fazla bilgi için Azure AI hizmetleri güvenlik makalesine bakın.
dotnet run program.cs
Çıktı
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
Kod ayrıntıları
Sonuçlarınızı anlama
Yukarıdaki kodda örnek veriler okunur ve bir DetectRequest
nesneye dönüştürülür. Dosya yolu ile çağırır File.ReadAllLines
, nesnelerin listesini TimeSeriesPoint
oluşturur ve tüm yeni satır karakterlerini çıkarırız. Değerleri ayıklayın ve zaman damgasını sayısal değerinden ayırın ve bunları yeni TimeSeriesPoint
bir nesneye ekleyin. DetectRequest
nesnesi, veri noktalarının tanecikliği (veya periyodikliği) için olan TimeGranularity.Daily
bir dizi veri noktasından oluşur.
Ardından istemcinin DetectEntireSeriesAsync
yöntemini nesnesiyle DetectRequest
çağırıp yanıtı bir EntireDetectResponse
nesne olarak bekleyeceğiz. Ardından yanıtın IsAnomaly
değerlerini yineler ve doğru olan değerleri yazdırırız. Bu değerler, varsa anormal veri noktalarının dizinine karşılık gelir.
Kaynakları temizleme
bir Anomali Algılayıcısı kaynağını temizlemek ve kaldırmak istiyorsanız, kaynağı veya kaynak grubunu silebilirsiniz. Kaynak grubunun silinmesi, kaynak grubuyla ilişkili diğer tüm kaynakları da siler. Artık kullanmayı düşünmüyorsanız, oluşturduğunuz ortam değişkenlerini silmeyi de düşünebilirsiniz.
Kitaplık başvuru belgeleri |Kitaplık kaynak kodu | Paketi (npm) |GitHub'da örnek kodu bulma
JavaScript için Anomali Algılayıcısı istemci kitaplığını kullanmaya başlayın. Paketi yüklemek için bu adımları izleyin ve hizmet tarafından sağlanan algoritmaları kullanmaya başlayın. Anomali Algılayıcısı hizmeti, sektör, senaryo veya veri hacmi ne olursa olsun zaman serisi verilerinizde en uygun modeli otomatik olarak kullanarak anormallikleri bulmanıza olanak tanır.
JavaScript için Anomali Algılayıcısı istemci kitaplığını kullanarak:
- Toplu istek olarak zaman serisi veri kümenizdeki anomalileri algılama
- Zaman serinizdeki en son veri noktasının anomali durumunu algılama
- Veri kümenizdeki eğilim değişiklik noktalarını algılayın.
Önkoşullar
- Azure aboneliği - Ücretsiz bir abonelik oluşturun
- Node.js dosyasının geçerli sürümü
- Azure aboneliğinizi aldıktan sonra anahtarınızı ve uç noktanızı almak için Azure portalında bir Anomali Algılayıcısı kaynağı oluşturun. Dağıtmasını bekleyin ve Kaynağa git düğmesini seçin.
- Uygulamanızı Anomali Algılayıcısı API'sine bağlamak için oluşturduğunuz kaynaktan anahtara ve uç noktaya ihtiyacınız olacaktır. Ortam değişkenleri oluşturmak için anahtarı ve uç noktayı kullanacaksınız.
Hizmeti denemek ve daha sonra üretim için ücretli bir katmana yükseltmek için ücretsiz fiyatlandırma katmanını (
F0
) kullanabilirsiniz.
- Uygulamanızı Anomali Algılayıcısı API'sine bağlamak için oluşturduğunuz kaynaktan anahtara ve uç noktaya ihtiyacınız olacaktır. Ortam değişkenleri oluşturmak için anahtarı ve uç noktayı kullanacaksınız.
Hizmeti denemek ve daha sonra üretim için ücretli bir katmana yükseltmek için ücretsiz fiyatlandırma katmanını (
Ayarlama
Yeni bir Node.js uygulaması oluşturma
Konsol penceresinde (cmd, PowerShell veya Bash gibi), uygulamanız için yeni bir dizin oluşturun ve bu dizine gidin.
mkdir myapp && cd myapp
Aşağıdaki içeriklere sahip bir package.json
dosya oluşturun:
{
"dependencies": {
"@azure/ai-anomaly-detector": "next",
"@azure-rest/ai-anomaly-detector": "next",
"@azure/core-auth": "^1.3.0",
"csv-parse": "^5.3.0"
}
}
İstemci kitaplığını yükleme
Aşağıdakini package.json dosyanızla aynı dizinden çalıştırarak gerekli npm paketlerini yükleyin:
npm install
Anahtarı ve uç noktayı alma
Anomali Algılayıcısı hizmetine karşı başarılı bir şekilde çağrı yapmak için aşağıdaki değerler gerekir:
Azure portalında kaynağınıza gidin. Uç Nokta ve Anahtarlar Kaynak Yönetimi bölümünde bulunabilir. Api çağrılarınızın kimliğini doğrulamak için ihtiyacınız olacak şekilde uç noktanızı ve erişim anahtarınızı kopyalayın. KEY1
veya KEY2
kullanabilirsiniz. Her zaman iki anahtara sahip olmak, hizmet kesintisine neden olmadan anahtarları güvenli bir şekilde döndürmenize ve yeniden oluşturmanıza olanak tanır.
Ortam değişkenlerini oluşturma
Anahtarınız ve uç noktanız için kalıcı ortam değişkenleri oluşturun ve atayın.
setx ANOMALY_DETECTOR_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx ANOMALY_DETECTOR_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Örnek verileri indirme data
Bu hızlı başlangıçta request-data.csv
GitHub örnek verilerimizden indirilebilen dosya kullanılmaktadır
Aşağıdakini çalıştırarak örnek verileri de indirebilirsiniz:
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
Anomalileri algılama
adlı index.js
bir dosya oluşturun ve öğesini aşağıdaki kodla değiştirin:
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");
// You will need to set this environment variables or edit the following values
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 };
Uygulamayı çalıştırma
Uygulamayı hızlı başlangıç dosyanızdaki node
komutuyla çalıştırın.
node index.js
Çıktı
Anomalies were detected from the series at index:
3
18
21
22
23
24
25
28
29
30
31
32
35
44
Sonuçlarınızı anlama
Yukarıdaki kodda, istemcinin detectEntireSeries() yöntemiyle zaman serisinin tamamında anomalileri toplu iş olarak algılamak için Anomali Algılayıcısı API'sini çağırırız. Döndürülen AnomalyDetectorDetectEntireSeriesResponse nesnesini depolarız . Ardından yanıtın isAnomaly
listesinde yinelenir ve tüm true
değerlerin dizinini yazdırırız. Bu değerler, varsa anormal veri noktalarının dizinine karşılık gelir.
Kaynakları temizleme
bir Anomali Algılayıcısı kaynağını temizlemek ve kaldırmak istiyorsanız, kaynağı veya kaynak grubunu silebilirsiniz. Kaynak grubunun silinmesi, kaynak grubuyla ilişkili diğer tüm kaynakları da siler. Artık kullanmayı düşünmüyorsanız, oluşturduğunuz ortam değişkenlerini silmeyi de düşünebilirsiniz.
Kitaplık başvuru belgeleri |Kitaplık kaynak kodu | Paketi (PyPi) |GitHub'da örnek kodu bulma
Python için Anomali Algılayıcısı istemci kitaplığını kullanmaya başlayın. Paketi yüklemek ve hizmet tarafından sağlanan algoritmaları kullanmaya başlamak için bu adımları izleyin. Anomali Algılayıcısı hizmeti, endüstri, senaryo veya veri hacmi ne olursa olsun zaman serisi verilerinizdeki anormallikleri otomatik olarak en uygun modelleri kullanarak bulmanızı sağlar.
Python için Anomali Algılayıcısı istemci kitaplığını kullanarak:
- Toplu istek olarak zaman serisi veri kümenizdeki anomalileri algılama
- Zaman serinizdeki en son veri noktasının anomali durumunu algılama
- Veri kümenizdeki eğilim değişiklik noktalarını algılayın.
Önkoşullar
- Azure aboneliği - Ücretsiz bir abonelik oluşturun
- Python 3.x
- Pandas veri çözümleme kitaplığı
- Azure aboneliğinizi aldıktan sonra anahtarınızı ve uç noktanızı almak için Azure portalında bir Anomali Algılayıcısı kaynağı oluşturun. Dağıtmasını bekleyin ve Kaynağa git düğmesini seçin. Hizmeti denemek ve daha sonra üretim için ücretli bir katmana yükseltmek için ücretsiz fiyatlandırma katmanını (
F0
) kullanabilirsiniz.
Ayarlama
İstemci kitaplığını yükleyin. İstemci kitaplığını şu şekilde yükleyebilirsiniz:
pip install --upgrade azure.ai.anomalydetector
Anahtarı ve uç noktayı alma
Anomali Algılayıcısı hizmetine karşı başarılı bir şekilde çağrı yapmak için aşağıdaki değerler gerekir:
Azure portalında kaynağınıza gidin. Uç Nokta ve Anahtarlar Kaynak Yönetimi bölümünde bulunabilir. Api çağrılarınızın kimliğini doğrulamak için ihtiyacınız olacak şekilde uç noktanızı ve erişim anahtarınızı kopyalayın. KEY1
veya KEY2
kullanabilirsiniz. Her zaman iki anahtara sahip olmak, hizmet kesintisine neden olmadan anahtarları güvenli bir şekilde döndürmenize ve yeniden oluşturmanıza olanak tanır.
Ortam değişkenlerini oluşturma
Anahtarınız ve uç noktanız için kalıcı ortam değişkenleri oluşturun ve atayın.
setx ANOMALY_DETECTOR_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx ANOMALY_DETECTOR_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Örnek verileri indirme data
Bu hızlı başlangıçta request-data.csv
GitHub örnek verilerimizden indirilebilen dosya kullanılmaktadır
Aşağıdakini çalıştırarak örnek verileri de indirebilirsiniz:
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
Anomalileri algılama
quickstart.py adlı yeni bir Python dosyası oluşturun. Ardından tercih ettiğiniz düzenleyicide veya IDE'de açın.
quickstart.py içeriğini aşağıdaki kodla değiştirin. Anahtarınızın, uç noktanızın ve zaman serisi veri yolunun ortam değişkeni adlarını eklemek için kodu değiştirin:
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))
Uygulamayı hızlı başlangıç dosyanızda komutuyla
python
çalıştırınpython quickstart.py
Çıktı
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
Sonuçlarınızı anlama
Yukarıdaki kodumuzda Anomali Algılayıcısı API'sini iki kez çağırırız. İlk çağrı, yöntemiyle detect_change_point
örnek veri serimizdeki eğilim değişiklik noktalarını denetler. Bu çağrı, adlı change_point_request
değişkende depoladığımız bir döndürürChangePointDetectResponse
. Ardından yanıtın is_change_point
listesinde yinelenir ve değerinin boole değeriyle tüm değerlerin dizinini true
yazdırırız.
İkinci çağrı, yöntemini kullanarak örnek veri serisinin tamamında detect_entire_series
anomalileri denetler. Bu çağrı, adlı anomaly_response
değişkende depoladığımız bir döndürürEntireDetectResponse
. Yanıtın is_anomaly
listesinde yinelemeler yapıyoruz ve değerlerin dizinini boole true
değeriyle yazdırıyoruz. Alternatif olarak, gerçek zamanlı verilerdeki anomalileri algılamak için daha uygun olan yöntemini kullanabilirdik detect_last_point
. Daha fazla bilgi edinmek için en iyi yöntemler kılavuzuna başvurun.
Sonuçları görselleştirme
Anomalileri görselleştirmek ve örnek veri serisine göre noktaları değiştirmek için popüler açık kaynak kitaplık matplotlib'ini kullanacağız.
Kitaplığı yükleyin.
pip install matplotlib
quickstart.py dosyanızı aşağıdaki kodla değiştirin:
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()
Uygulamayı hızlı başlangıç dosyanızda komutuyla
python
çalıştırınpython quickstart.py
Çıktı
Bu kod örneğinde, normal veri noktalarını görselleştirmemize ve değişiklik noktalarından matplotlib
ve anomalilerden kolayca ayırt etmemize olanak sağlamak için kitaplığını ekledik. Değişiklik noktaları mavi karelerle, anomaliler kırmızı üçgenlerle ve normal veri noktaları yeşil dairelerle gösterilir. Tarihler, y eksenindeki grafikler için graf kullanımına uygun değerler sağlamak üzere 'nin date2num
yöntemi kullanılarak matplotlib
sayılara dönüştürülür.
Kaynakları temizleme
bir Anomali Algılayıcısı kaynağını temizlemek ve kaldırmak istiyorsanız, kaynağı veya kaynak grubunu silebilirsiniz. Kaynak grubunun silinmesi, kaynak grubuyla ilişkili diğer tüm kaynakları da siler. Artık kullanmayı düşünmüyorsanız, oluşturduğunuz ortam değişkenlerini silmeyi de düşünebilirsiniz.
Bu hızlı başlangıçta, Anomali Algılayıcısı hizmetini ve cURL'yi kullanarak bir dizi zaman serisi verisindeki anomalileri algılamayı öğreneceksiniz.
Anomali Algılayıcısı kavramlarına üst düzey bir bakış için genel bakış makalesine bakın.
Önkoşullar
- Azure aboneliği - Ücretsiz bir abonelik oluşturun
- Azure aboneliğinizi aldıktan sonra anahtarınızı ve uç noktanızı almak için Azure portalında bir Anomali Algılayıcısı kaynağı oluşturun. Dağıtmasını bekleyin ve Kaynağa git düğmesini seçin. Hizmeti denemek ve daha sonra üretim için ücretli bir katmana yükseltmek için ücretsiz fiyatlandırma katmanını (
F0
) kullanabilirsiniz. - Anomalileri test etmek için geçerli bir zaman serisi veri JSON dosyası. Kendi dosyanız yoksa İstek gövdesi örneğinden bir sample.json dosyası oluşturabilirsiniz
Anahtarı ve uç noktayı alma
Anomali Algılayıcısı hizmetine karşı başarılı bir şekilde çağrı yapmak için aşağıdaki değerler gerekir:
Değişken adı | Değer |
---|---|
ANOMALY_DETECTOR_ENDPOINT |
Bu değer, Azure portal kaynağınızı incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. Örnek uç nokta: https://YOUR_RESOURCE_NAME.cognitiveservices.azure.com/ |
ANOMALY_DETECTOR_API_KEY |
API anahtarı değeri, Azure portalından kaynağınızı incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. KEY1 veya KEY2 kullanabilirsiniz. |
Azure portalında kaynağınıza gidin. Uç Nokta ve Anahtarlar Kaynak Yönetimi bölümünde bulunabilir. Api çağrılarınızın kimliğini doğrulamak için ihtiyacınız olacak şekilde uç noktanızı ve erişim anahtarınızı kopyalayın. KEY1
veya KEY2
kullanabilirsiniz. Her zaman iki anahtara sahip olmak, hizmet kesintisine neden olmadan anahtarları güvenli bir şekilde döndürmenize ve yeniden oluşturmanıza olanak tanır.
Ortam değişkenlerini oluşturma
Anahtarınız ve uç noktanız için kalıcı ortam değişkenleri oluşturun ve atayın.
setx ANOMALY_DETECTOR_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx ANOMALY_DETECTOR_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Anomalileri algılama
Komut isteminde aşağıdaki komutu çalıştırın. Komutuna aşağıdaki değerleri eklemeniz gerekir.
- Anomali algılayıcısı hizmet abonelik anahtarınız.
- Anomali algılayıcısı uç nokta adresiniz.
- Anomalileri test etmek için geçerli bir zaman serisi veri JSON dosyası. Kendi dosyanız yoksa İstek gövdesi örneğinden bir sample.json dosyası oluşturabilirsiniz.
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"
Tek satır olarak tam komut örneği:
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"
Alternatif olarak, bir Bash kabuğundan cURL komutunu çalıştırıyorsanız komutunuz biraz farklı olabilir:
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"
Ön koşullardaki örnek verileri kullandıysanız aşağıdaki sonuçları içeren bir yanıt 200 almanız gerekir:
{
"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
}
Daha fazla bilgi için bkz . Anomali Algılama REST başvurusu.
Kaynakları temizleme
Azure AI hizmetleri aboneliğini temizlemek ve kaldırmak istiyorsanız, kaynağı veya kaynak grubunu silebilirsiniz. Kaynak grubunun silinmesi, kaynak grubuyla ilişkili diğer tüm kaynakları da siler.
Sonraki adımlar
Kavramlar:
- Anomali Algılayıcısı API nedir?
- Anomali algılama yöntemleri
- Anomali Algılayıcısı API'sini kullanırken en iyi yöntemler.
Öğreticiler: