JavaScript için Azure Anomali Algılayıcısı istemci kitaplığı - sürüm 3.0.0-beta.5
Azure AnomalyDetector API, makine öğrenmesi ile zaman serisi verilerinizdeki anormallikleri izlemenize ve algılamanıza olanak tanır.
Önemli bağlantılar:
Önemli kavramlar
anomali AnomalyDetectorClient
algılama için yöntemler sağlar:
detectEntireSeries
- Veri kümesinin tamamında anomalileri algılardetectLastPoint
- En son veri noktasındaki anomalileri algılardetectChangePoint
- Her seri noktasının değişiklik noktası puanını değerlendirir
Başlarken
Şu anda desteklenen ortamlar
- Node.jsLTS sürümleri
- Safari, Chrome, Edge ve Firefox'un en son sürümleri.
Daha fazla ayrıntı için destek ilkemize bakın.
Önkoşullar
- Bir Azure aboneliği.
- Mevcut bir Anomali Algılayıcısı kaynağı.
Azure CLI kullanıyorsanız ve <your-resource-name>
yerine kendi benzersiz adlarınızı yazın<your-resource-group-name>
:
az cognitiveservices account create --kind AnomalyDetector --resource-group <your-resource-group-name> --name <your-resource-name>
@azure/ai-anomaly-detector
paketini yükleyin
ile npm
JavaScript için Azure Anomali Algılayıcısı istemci kitaplığını yükleyin:
npm install @azure/ai-anomaly-detector
Oluşturma ve kimlik doğrulaması AnomalyDetectorClient
Anomali Algılayıcısı API'sine erişmek üzere bir istemci nesnesi oluşturmak için Anomali Algılayıcısı kaynağınızın ve değerinin credential
olması gerekirendpoint
. Anomali Algılayıcısı istemcisi kimlik doğrulaması için Azure Active Directory kimlik bilgilerini veya API anahtarı kimlik bilgilerini kullanabilir.
Anomali Algılayıcısı kaynağınızın uç noktasını, menüde Kaynak Yönetimi'nin altına tıklayarak Keys and Endpoint
veya aşağıdaki Azure CLI parçacığını kullanarak Azure Portal'da bulabilirsiniz:
az cognitiveservices account show --name <your-resource-name> --resource-group <your-resource-group-name> --query "endpoint"
API Anahtarı Kullanma
Azure Portal'ı kullanarak Anomali Algılayıcısı kaynağınıza göz atın ve Kaynak Yönetimi'nin altına tıklayarak Keys and Endpoint
bir API anahtarı alın veya aşağıdaki Azure CLI parçacığını kullanın:
Not: Bazen API anahtarına "abonelik anahtarı" veya "abonelik API anahtarı" denir.
az cognitiveservices account keys list --resource-group <your-resource-group-name> --name <your-resource-name>
API anahtarınız ve uç noktanız olduktan sonra, istemcinin kimliğini doğrulamak için sınıfını AzureKeyCredential
aşağıdaki gibi kullanabilirsiniz:
const { AnomalyDetectorClient, AzureKeyCredential } = require("@azure/ai-anomaly-detector");
const client = new AnomalyDetectorClient("<endpoint>", new AzureKeyCredential("<API key>"));
Azure Active Directory Kimlik Bilgilerini Kullanma
İstemci API anahtarı kimlik doğrulaması örneklerin çoğunda kullanılır, ancak [Azure Kimlik kitaplığı] kullanarak Azure Active Directory ile de kimlik doğrulaması yapabilirsiniz. Aşağıda gösterilen DefaultAzureCredential sağlayıcısını veya Azure SDK ile sağlanan diğer kimlik bilgileri sağlayıcılarını kullanmak için lütfen paketi yükleyin @azure/identity
:
npm install @azure/identity
Ayrıca, yeni bir AAD uygulaması kaydetmeniz ve rolü hizmet sorumlunuza atayarak "Cognitive Services User"
Anomali Algılayıcısı erişim vermeniz gerekir (not: gerekli izinleri vermemesi gibi "Owner"
diğer roller, yalnızca "Cognitive Services User"
örnekleri ve örnek kodu çalıştırmak için yeterli olacaktır).
AAD uygulamasının istemci kimliği, kiracı kimliği ve istemci gizli dizisi değerlerini ortam değişkenleri olarak ayarlayın: 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());
Örnekler
Değişiklik Noktalarını Algılama
Bu örnek, serinin tamamında değişiklik noktalarının nasıl algı yapılacağını gösterir.
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);
});
Daha fazla örneği burada bulabilirsiniz
Sorun giderme
Günlüğe Kaydetme
Günlüğün etkinleştirilmesi hatalarla ilgili yararlı bilgilerin ortaya çıkarılmasına yardımcı olabilir. HTTP isteklerinin ve yanıtlarının günlüğünü görmek için ortam değişkenini AZURE_LOG_LEVEL
olarak info
ayarlayın. Alternatif olarak, günlüğü çalışma zamanında içinde çağrılarak setLogLevel
@azure/logger
etkinleştirilebilir:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Günlükleri etkinleştirme hakkında daha ayrıntılı yönergeler için @azure/günlükçü paketi belgelerine bakabilirsiniz.
Sonraki adımlar
Bu kitaplığın nasıl kullanılacağına ilişkin ayrıntılı örnekler için lütfen samples dizinine göz atın.
Katkıda bulunma
Bu proje, katkı ve önerilere açıktır. Çoğu durumda, sağladığınız katkıyı kullanmamız için bize hak tanıma hakkına sahip olduğunuzu ve bu hakkı bize tanıdığınızı bildiren bir Katkıda Bulunan Lisans Sözleşmesi’ni (CLA) kabul etmeniz gerekir. Ayrıntılar için bkz. https://cla.microsoft.com.
Bir çekme isteği gönderdiğinizde, CLA robotu bir CLA sağlamanız gerekip gerekmediğini otomatik olarak belirler ve çekme isteğini uygun şekilde donatır (örn. etiket, açıklama). Robot tarafından sağlanan yönergeleri izlemeniz yeterlidir. Bu işlemi, CLA’mızı kullanarak tüm depolarda yalnızca bir kere yapmanız gerekir.
Bu proje Microsoft Open Source Code of Conduct (Microsoft Açık Kaynak Kullanım Kuralları) belgesinde listelenen kurallara uygundur. Daha fazla bilgi için Kullanım Kuralları SSS bölümüne bakın veya ek sorular veya yorumlarla iletişime geçin opencode@microsoft.com .
Bu kitaplığa katkıda bulunmak isterseniz, kodu derleme ve test etme hakkında daha fazla bilgi edinmek için lütfen katkıda bulunma kılavuzunu okuyun.
Azure SDK for JavaScript
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin