Azure ML Python SDK v2 ile AutoML eğitimini ayarlama

ŞUNLAR IÇIN GEÇERLIDIR: Python SDK azure-ai-ml v2 (geçerli)

Bu kılavuzda, Azure Machine Learning Python SDK v2 ile otomatik makine öğrenmesi, AutoML, eğitim işi ayarlamayı öğrenin. Otomatik ML sizin için bir algoritma ve hiper parametre seçer ve dağıtıma hazır bir model oluşturur. Bu kılavuz, otomatik ML denemelerini yapılandırmak için kullanabileceğiniz çeşitli seçeneklerin ayrıntılarını sağlar.

Kod içermeyen bir deneyimi tercih ediyorsanız, Azure Machine Learning stüdyosu kod içermeyen AutoML eğitimi de ayarlayabilirsiniz.

Azure Machine Learning CLI v2 uzantısıyla eğitim işleri göndermeyi tercih ediyorsanız bkz. Modelleri eğitma.

Önkoşullar

Bu makale için şunlar gerekir:

Çalışma alanınızı ayarlama

Çalışma alanına bağlanmak için bir abonelik, kaynak grubu ve çalışma alanı adı sağlamanız gerekir. Bu ayrıntılar, gerekli Azure Machine Learning çalışma alanına bir tanıtıcı almak için içinde kullanılır MLClientazure.ai.ml .

Aşağıdaki örnekte varsayılan Azure kimlik doğrulaması, varsayılan çalışma alanı yapılandırmasıyla birlikte veya klasörler yapısına kopyalamış olabileceğiniz herhangi bir config.json dosyadan kullanılır. Bulunamazsa config.json oluştururken MLClientsubscription_id, resource_group ve çalışma alanını el ile tanıtmalısınız.

from azure.identity import DefaultAzureCredential
from azure.ai.ml import MLClient

credential = DefaultAzureCredential()
ml_client = None
try:
    ml_client = MLClient.from_config(credential)
except Exception as ex:
    print(ex)
    # Enter details of your AzureML workspace
    subscription_id = "<SUBSCRIPTION_ID>"
    resource_group = "<RESOURCE_GROUP>"
    workspace = "<AZUREML_WORKSPACE_NAME>"
    ml_client = MLClient(credential, subscription_id, resource_group, workspace)

Veri kaynağı ve biçimi

SDK v2'de AutoML'ye eğitim verileri sağlamak için bir MLTable aracılığıyla buluta yüklemeniz gerekir.

MLTable'a veri yükleme gereksinimleri:

  • Veriler tablo biçiminde olmalıdır.
  • Tahmin edilecek değer, hedef sütun, verilerde olmalıdır.

Eğitim verilerine uzak işlemden erişilebilir olmalıdır. Otomatik ML v2 (Python SDK ve CLI/YAML), MLTable veri varlıklarını (v2) kabul eder, ancak geriye dönük uyumluluk için aynı giriş veri kümesi özellikleri aracılığıyla v1'den (kayıtlı Tablolu Veri Kümesi) v1 Tablolu Veri Kümeleri'ni de destekler. Ancak öneri, v2'de kullanılabilen MLTable'ı kullanmaktır.

Aşağıdaki YAML kodu, veri dosyasıyla (.CSV veya Parquet dosyası) birlikte yerel bir klasöre veya buluttaki uzak bir klasöre yerleştirilebilen bir MLTable'ın tanımıdır.

# MLTable definition file

paths:
  - file: ./bank_marketing_train_data.csv
transformations:
  - read_delimited:
        delimiter: ','
        encoding: 'ascii'

Bu nedenle, MLTable klasöründe MLTable tanım dosyası ve veri dosyası (bu örnekte bank_marketing_train_data.csv dosyası) bulunur.

Aşağıda MLTable oluşturmanın iki yolu gösterilmektedir.

  • A. Eğitim verilerinizi ve MLTable tanım dosyanızı yerel klasörünüzden sağlayarak otomatik olarak buluta yüklenir (varsayılan Çalışma Alanı Veri Deposu)
  • B. Zaten kayıtlı ve buluta yüklenmiş bir MLTable sağlama.
from azure.ai.ml.constants import AssetTypes
from azure.ai.ml import automl, Input

# A. Create MLTable for training data from your local directory
my_training_data_input = Input(
    type=AssetTypes.MLTABLE, path="./data/training-mltable-folder"
)

# B. Remote MLTable definition
my_training_data_input  = Input(type=AssetTypes.MLTABLE, path="azureml://datastores/workspaceblobstore/paths/Classification/Train")

Eğitim, doğrulama ve test verileri

Ayrı eğitim verileri ve doğrulama veri kümeleri belirtebilirsiniz, ancak otomatik ML işinizin training_data fabrika işlevinde parametresine eğitim verileri sağlanmalıdır.

Bir veya n_cross_validation parametresini açıkça belirtmezsenizvalidation_data, otomatik ML doğrulamanın nasıl gerçekleştirildiğini belirlemek için varsayılan teknikleri uygular. Bu belirleme, veri kümesindeki parametrenize training_data atanan satır sayısına bağlıdır.

Eğitim veri boyutu Doğrulama tekniği
20.000'den büyük satır Eğitim/doğrulama veri bölme işlemi uygulanır. Varsayılan değer, doğrulama kümesi olarak ilk eğitim veri kümesinin %10'unu almaktır. Buna karşılık, bu doğrulama kümesi ölçüm hesaplaması için kullanılır.
20.000 satırdan küçük veya buna eşit Çapraz doğrulama yaklaşımı uygulanır. Varsayılan katlama sayısı, satır sayısına bağlıdır.
Veri kümesi 1.000 satırdan azsa 10 kat kullanılır.
Satırlar 1.000 ile 20.000 arasında veya buna eşitse üç kat kullanılır.

Deneme çalıştırmak için işlem

Python SDK v2 (veya CLI v2) içeren otomatik ML işleri şu anda yalnızca Azure ML uzak işlemde (küme veya işlem örneği) desteklenmektedir.

Python SDKv2 (veya CLIv2) ile işlem oluşturma hakkında daha fazla bilgi edinin.

Deneme ayarlarınızı yapılandırma

Otomatik ML denemenizi yapılandırmak için kullanabileceğiniz çeşitli seçenekler vardır. Bu yapılandırma parametreleri görev yönteminizde ayarlanır. ayrıca sırasıyla ve işlevleriyle set_training()set_limits() iş eğitimi ayarlarını ve çıkış ölçütlerini de ayarlayabilirsiniz.

Aşağıdaki örnekte , birincil ölçüm ve 5 çapraz doğrulama katlandığında doğruluğu belirten bir sınıflandırma görevi için gerekli parametreler gösterilmektedir.

# note that the below is a code snippet -- you might have to modify the variable values to run it successfully
classification_job = automl.classification(
    compute=my_compute_name,
    experiment_name=my_exp_name,
    training_data=my_training_data_input,
    target_column_name="y",
    primary_metric="accuracy",
    n_cross_validations=5,
    enable_model_explainability=True,
    tags={"my_custom_tag": "My custom value"}
)

# Limits are all optional

classification_job.set_limits(
    timeout_minutes=600, 
    trial_timeout_minutes=20, 
    max_trials=5,
    enable_early_termination=True,
)

# Training properties are optional
classification_job.set_training(
    blocked_training_algorithms=["LogisticRegression"], 
    enable_onnx_compatible_models=True
)

Makine öğrenmesi görev türünüzü seçin (ML sorunu)

Otomatik ML işinizi göndermeden önce, çözdüğünüz makine öğrenmesi sorununun türünü belirlemeniz gerekir. Bu sorun, otomatik ML işinizin hangi işlevi kullandığını ve hangi model algoritmalarını uyguladığını belirler.

Otomatik ML tablosal veri tabanlı görevleri (sınıflandırma, regresyon, tahmin), görüntü işleme görevlerini (Görüntü Sınıflandırması ve Nesne Algılama gibi) ve doğal dil işleme görevlerini (Metin sınıflandırması ve Varlık Tanıma görevleri gibi) destekler. Görev türleri hakkında daha fazla bilgi edinin.

Desteklenen algoritmalar

Otomatik makine öğrenmesi, otomasyon ve ayarlama işlemi sırasında farklı modelleri ve algoritmaları dener. Kullanıcı olarak algoritmayı belirtmenize gerek yoktur.

Görev yöntemi, uygulanacak algoritmaların/modellerin listesini belirler. allowed_training_algorithms Dahil etmek veya hariç tutmak için kullanılabilir modellerle yinelemeleri daha fazla değiştirmek için ayarlayıcı işlevindeki veya blocked_training_algorithms parametrelerini set_training() kullanın.

Aşağıdaki bağlantı listesinde, aşağıda listelenen makine öğrenmesi görevi başına desteklenen algoritmaları keşfedebilirsiniz.

Sınıflandırma Regresyon Zaman Serileri Tahmini
Lojistik Regresyon* Elastik Ağ* AutoARIMA
Açık GBM* Açık GBM* Peygamber
Gradyan Artırma* Gradyan Artırma* Elastik Net
Karar Ağacı* Karar Ağacı* Açık GBM
K En Yakın Komşular* K En Yakın Komşular* K En Yakın Komşular
Doğrusal SVC* LARS Kement* Karar Ağacı
Destek Vektör Sınıflandırması (SVC)* Stokastik Gradyan Azalma (SGD)* Arimax
Rastgele Orman* Rastgele Orman LARS Lasso
Aşırı Rastgele Ağaçlar* Aşırı Rastgele Ağaçlar* Aşırı Rastgele Ağaçlar*
Xgboost* Xgboost* Rastgele Orman
Naive Bayes* Xgboost ForecastTCN
Stokastik Gradyan Azalma (SGD)* Stokastik Gradyan Azalma (SGD) Gradyan Artırma
ExponentialSmoothing
Mevsimsel
Ortalama
Naive
SeasonalAverage

Aşağıdaki ek algoritmalarla.

Her görev türünün not defterleri gibi bu bağlantıyı izleyin.

Birincil ölçüm

primary_metric parametresi, iyileştirme için model eğitimi sırasında kullanılacak ölçümü belirler. Seçebileceğiniz kullanılabilir ölçümler, seçtiğiniz görev türüne göre belirlenir.

İyileştirecek otomatik ML için birincil ölçüm seçmek birçok faktöre bağlıdır. Öncelikli olarak iş gereksinimlerinizi en iyi şekilde temsil eden bir ölçüm seçmenizi öneririz. Ardından ölçümün veri kümesi profiliniz (veri boyutu, aralık, sınıf dağıtımı vb.) için uygun olup olmadığını göz önünde bulundurun. Aşağıdaki bölümlerde, görev türüne ve iş senaryosuna göre önerilen birincil ölçümler özetlenmiştir.

Otomatik makine öğrenmesi sonuçlarını anlama bölümünde bu ölçümlerin belirli tanımları hakkında bilgi edinin.

Çok sınıflı sınıflandırma senaryoları için ölçümler

Bu ölçümler tablosal veriler, görüntüler/görüntü işleme ve NLP-Metin gibi tüm sınıflandırma senaryoları için geçerlidir.

, recall_score_weighted, norm_macro_recallve precision_score_weighted gibi accuracyeşik bağımlı ölçümler, küçük olan, büyük sınıf dengesizliği olan (sınıf dengesizliği) veya beklenen ölçüm değeri 0,0 veya 1,0'a çok yakın olduğunda veri kümeleri için de iyileştirilmeyebilir. Bu gibi durumlarda birincil AUC_weighted ölçüm için daha iyi bir seçim olabilir. Otomatik ML tamamlandıktan sonra, iş gereksinimlerinize en uygun ölçümü temel alarak kazanan modeli seçebilirsiniz.

Ölçüm Örnek kullanım örnekleri
accuracy Görüntü sınıflandırması, Yaklaşım analizi, Değişim Sıklığı tahmini
AUC_weighted Sahtekarlık algılama, Görüntü sınıflandırması, Anomali algılama/istenmeyen posta algılama
average_precision_score_weighted Yaklaşım analizi
norm_macro_recall Değişim sıklığı tahmini
precision_score_weighted

Sınıflandırma çok etiketli senaryolar için ölçümler

  • Metin sınıflandırması için şu anda 'Doğruluk' olarak adlandırılan çoklu etiket desteklenen tek birincil ölçümdür.

  • Görüntü sınıflandırması çoklu etiketi için desteklenen birincil ölçümler ClassificationMultilabelPrimaryMetrics Sabit Listesi'nde tanımlanır

NLP Metin NER (Adlandırılmış Varlık Tanıma) senaryoları için ölçümler

  • NLP Metin NER(Adlandırılmış Varlık Tanıma) için şu anda 'Doğruluk' desteklenen tek birincil ölçümdür.

Regresyon senaryoları için ölçümler

r2_scoreve normalized_mean_absolute_errornormalized_root_mean_squared_error tümü tahmin hatalarını en aza indirmeye çalışıyor. r2_score ve normalized_root_mean_squared_error her ikisi de hataların ortalama mutlak değerini azaltırken normalized_mean_absolute_error ortalama hataların karesini en aza indirir. Mutlak değer hataları hem tüm büyüklüklerde değerlendirir hem de karesi alınmış hatalar, daha büyük mutlak değerlere sahip hatalar için çok daha büyük bir cezaya sahip olur. Daha büyük hataların daha fazla cezalandırılıp cezalandırılmayacağına bağlı olarak, hata karesini veya mutlak hatayı iyileştirmeyi seçebilirsiniz.

ile normalized_root_mean_squared_error arasındaki r2_score temel fark, normalleştirilmeleri ve anlamlarıdır. normalized_root_mean_squared_error , aralığa göre normalleştirilmiş kök ortalama hata karesidir ve tahmin için ortalama hata büyüklüğü olarak yorumlanabilir. r2_score ortalama hata karesi, veri varyansı tahminiyle normalleştirilir. Model tarafından yakalanabilecek varyasyon oranıdır.

Not

r2_score ve normalized_root_mean_squared_error ayrıca birincil ölçümlerle benzer şekilde davranır. Sabit bir doğrulama kümesi uygulanırsa, bu iki ölçüm aynı hedefi, ortalama hata karesini en iyi duruma getirir ve aynı model tarafından iyileştirilir. Yalnızca bir eğitim kümesi kullanılabilir olduğunda ve çapraz doğrulama uygulandığında, için normalleştirici normalized_root_mean_squared_error eğitim kümesi aralığı olarak sabitlendiğinden bunlar biraz farklı olabilir, ancak her katlama için varyans olduğundan için normalleştiricisi r2_score her katlama için farklılık gösterebilir.

Derece, tam değer yerine ilgi çekiciyse, spearman_correlation gerçek değerlerle tahminler arasındaki derece bağıntısını ölçtlüğünden daha iyi bir seçim olabilir.

Ancak, şu anda regresyon için birincil ölçümler göreli farkı ele almaz. r2_scoreBu normalized_mean_absolute_errornormalized_root_mean_squared_error iki veri noktası regresyon için aynı veri kümesine veya zaman serisi tanımlayıcısı tarafından belirtilen aynı zaman serisine aitse, 30 bin ABD doları maaşa sahip bir çalışan için 20.000 TL'lik bir tahmin hatasını 20 milyon TL'lik bir çalışan olarak değerlendirin. Gerçekte, 20 milyon ABD doları maaştan yalnızca 20 bin dolar indirim tahmin etmek çok yakındır (küçük bir %0,1 göreli fark), 30 bin DOlardan 20 bin dolar kapalı yakın değildir (büyük bir %67 göreli fark). Göreli fark sorununu çözmek için, bir model kullanılabilir birincil ölçümlerle eğitilebilir ve ardından en iyi mean_absolute_percentage_error veya root_mean_squared_log_errorile modeli seçebilir.

Ölçüm Örnek kullanım örnekleri
spearman_correlation
normalized_root_mean_squared_error Fiyat tahmini (ev/ürün/ipucu), Puan tahminlerini gözden geçirme
r2_score Havayolu gecikmesi, Maaş tahmini, Hata çözümleme süresi
normalized_mean_absolute_error

Zaman Serisi Tahmin senaryoları için ölçümler

Öneriler, regresyon senaryolarında belirtilenlere benzer.

Ölçüm Örnek kullanım örnekleri
normalized_root_mean_squared_error Fiyat tahmini (tahmin), Stok iyileştirmesi, Talep tahmini
r2_score Fiyat tahmini (tahmin), Stok iyileştirmesi, Talep tahmini
normalized_mean_absolute_error

Görüntü Nesnesi Algılama senaryoları için ölçümler

  • Görüntü Nesnesi Algılama için, desteklenen birincil ölçümler ObjectDetectionPrimaryMetrics Sabit Listesi'nde tanımlanır

Görüntü Örneği Segmentlere Ayırma senaryoları için ölçümler

  • Görüntü Örneği Segmentasyonu senaryoları için, desteklenen birincil ölçümler InstanceSegmentationPrimaryMetrics Sabit Listesi'nde tanımlanır

Veri özellik kazandırma

Her otomatik ML denemesinde verileriniz otomatik olarak sayılara ve sayı vektörlerine ve artı (metni sayısala dönüştürme) dönüştürülür ve farklı ölçeklerdeki özelliklere duyarlı olan bazı algoritmalara yardımcı olmak için ölçeklendirilir ve normalleştirilir. Bu veri dönüştürme, ölçeklendirme ve normalleştirme özellik geliştirme olarak adlandırılır.

Not

Otomatik makine öğrenmesi özellik geliştirme adımları (özellik normalleştirme, eksik verileri işleme, metni sayısala dönüştürme vb.) temel alınan modelin bir parçası haline gelir. Modeli tahminler için kullanırken, eğitim sırasında uygulanan özellik geliştirme adımları giriş verilerinize otomatik olarak uygulanır.

Otomatik ML işlerinizi yapılandırırken ayarlayıcı işlevini kullanarak .set_featurization() ayarları etkinleştirebilir/devre dışı bırakabilirsinizfeaturization.

Aşağıdaki tabloda özellik geliştirme için kabul edilen ayarlar gösterilmektedir.

Özellik Geliştirme Yapılandırması Description
"mode": 'auto' Ön işlemenin bir parçası olarak veri korumalarının ve özellik geliştirme adımlarının otomatik olarak gerçekleştirildiğini gösterir. Varsayılan ayar.
"mode": 'off' Özellik geliştirme adımının otomatik olarak yapılmaması gerektiğini gösterir.
"mode": 'custom' Özelleştirilmiş özellik geliştirme adımının kullanılması gerektiğini gösterir.

Aşağıdaki kod, bu durumda bir regresyon işi için özel özellik geliştirmenin nasıl sağlandığını gösterir.

from azure.ai.ml.automl import ColumnTransformer

transformer_params = {
    "imputer": [
        ColumnTransformer(fields=["CACH"], parameters={"strategy": "most_frequent"}),
        ColumnTransformer(fields=["PRP"], parameters={"strategy": "most_frequent"}),
    ],
}
regression_job.set_featurization(
    mode="custom",
    transformer_params=transformer_params,
    blocked_transformers=["LabelEncoding"],
    column_name_and_types={"CHMIN": "Categorical"},
)

Çıkış ölçütü

İş tamamlanmadan önce denemenizi sonlandırmak için işlevde set_limits() tanımlayabileceğiniz birkaç seçenek vardır.

Ölçütler açıklama
Ölçüt yok Çıkış parametresi tanımlamazsanız deneme, birincil ölçümünüzde başka bir ilerleme kaydedilmeden devam eder.
timeout Denemenizin ne kadar süreyle çalışmaya devam etmesi gerektiğini dakika cinsinden tanımlar. Belirtilmezse, varsayılan işin toplam zaman aşımı 6 gündür (8.640 dakika). 1 saatten kısa veya buna eşit bir zaman aşımı (60 dakika) belirtmek için veri kümenizin boyutunun 10.000.000'den (satır çarpı sütunu) büyük olmadığından veya hata sonuçlarından emin olun.

Bu zaman aşımı kurulum, özellik geliştirme ve eğitim çalıştırmalarını içerir, ancak tüm denemeler (çocuk işleri) tamamlandıktan sonra bu eylemlerin gerçekleştirilmesi gerektiğinden sürecin sonundaki benzerliği ve model açıklanabilirlik çalıştırmalarını içermez.
trial_timeout_minutes Her denemenin (alt iş) sona ermeden önce çalıştırabileceği en uzun süre (dakika cinsinden). Belirtilmezse, 1 ay veya 43200 dakika değeri kullanılır
enable_early_termination Kısa vadede puanın düzelmemesi durumunda işin sonlandırılıp sonlandırılmayacağı
max_trials AutoML işi sırasında deneyebileceğiniz farklı bir algoritma ve hiper parametre bileşimine sahip en fazla deneme/çalıştırma sayısı. Belirtilmezse, varsayılan 1000 deneme sürümüdür. Kullanılan deneme sayısını kullanmak enable_early_termination daha küçük olabilir.
max_concurrent_trials Paralel olarak yürütülecek en fazla deneme sayısını (alt iş) temsil eder. Bu sayıyı kümenizin düğüm sayısıyla eşleştirmek iyi bir uygulamadır

Denemeyi çalıştırma

Not

Aynı yapılandırma ayarlarına ve birincil ölçüme sahip bir denemeyi birden çok kez çalıştırırsanız, büyük olasılıkla her denemenin son ölçüm puanında ve oluşturulan modellerde çeşitleme görürsünüz. Otomatik ML'nin kullandığı algoritmalar, denemenin model çıkışında küçük farklılıklara ve doğruluk gibi önerilen modelin son ölçüm puanına neden olabilen doğası gereği rastgeleliğe sahiptir. Büyük olasılıkla aynı model adına sahip ancak kullanılan farklı hiper parametrelere sahip sonuçları da görürsünüz.

Uyarı

Çalışma alanınız üzerinden güvenlik duvarında ve/veya Ağ Güvenlik Grubu'nda kurallar ayarladıysanız, Gelen ve giden ağ trafiğini yapılandırma bölümünde tanımlandığı gibi gelen ve giden ağ trafiğine gerekli izinlerin verildiğini doğrulayın.

Çalıştırmak ve model oluşturmak için denemeyi gönderin. MLClient önkoşullarında oluşturulduktan sonra çalışma alanında aşağıdaki komutu çalıştırabilirsiniz.


# Submit the AutoML job
returned_job = ml_client.jobs.create_or_update(
    classification_job
)  # submit the job to the backend

print(f"Created job: {returned_job}")

# Get a URL for the status of the job
returned_job.services["Studio"].endpoint

Kümelerde birden çok alt çalıştırma

Otomatik ML denemesi alt çalıştırmaları, zaten başka bir deneme çalıştıran bir kümede gerçekleştirilebilir. Ancak zamanlama, kümenin kaç düğümü olduğuna ve bu düğümlerin farklı bir deneme çalıştırmak için kullanılabilir olup olduğuna bağlıdır.

Kümedeki her düğüm, tek bir eğitim çalıştırması gerçekleştirebilen tek bir sanal makine (VM) görevi görür; otomatik ML için bu, bir alt çalıştırma anlamına gelir. Tüm düğümler meşgulse yeni deneme kuyruğa alınır. Ancak ücretsiz düğümler varsa, yeni deneme otomatik ML alt çalıştırmalarını kullanılabilir düğümlerde/VM'lerde paralel olarak çalıştırır.

Alt çalıştırmaları ve bunların ne zaman gerçekleştirilebileceğini yönetmeye yardımcı olmak için, deneme başına ayrılmış bir küme oluşturmanızı ve denemenizin sayısını max_concurrent_iterations kümedeki düğüm sayısıyla eşleştirmenizi öneririz. Bu şekilde, kümenin tüm düğümlerini istediğiniz eş zamanlı alt çalıştırma/yineleme sayısıyla aynı anda kullanırsınız.

.set_limits() ayarlayıcı işlevinde yapılandırın max_concurrent_iterations . Yapılandırılmamışsa, varsayılan olarak deneme başına yalnızca bir eş zamanlı alt çalıştırmaya/yinelemeye izin verilir. İşlem örneği söz konusu olduğunda, max_concurrent_trials işlem örneği VM'sindeki çekirdek sayısıyla aynı olacak şekilde ayarlanabilir.

Modelleri ve ölçümleri keşfetme

Otomatik ML, eğitim sonuçlarınızı izlemeniz ve değerlendirmeniz için seçenekler sunar.

Modelin sayfasındaki Azure Machine Learning kullanıcı arabiriminden, belirli bir modeli eğitirken kullanılan hiper parametreleri görüntüleyebilir ve ayrıca kullanılan iç modelin eğitim kodunu görüntüleyebilir ve özelleştirebilirsiniz.

Modelleri kaydetme ve dağıtma

Bir modeli test ettikten ve üretimde kullanmak istediğinizi onayladıktan sonra, daha sonra kullanmak üzere kaydedebilirsiniz.

İpucu

Kayıtlı modeller için tek tıklamayla dağıtım Azure Machine Learning stüdyosu aracılığıyla kullanılabilir. Kayıtlı modellerin stüdyodan nasıl dağıtılacağına bakın.

İşlem hatlarında AutoML

MLOps iş akışlarınızda AutoML'yi kullanmak için AzureML İşlem Hatlarınıza AutoML İşi adımları ekleyebilirsiniz. Bu, veri hazırlığı betiklerinizi AutoML'ye bağlayıp sonuçta elde edilen en iyi modeli kaydedip doğrulayarak iş akışınızın tamamını otomatikleştirmenizi sağlar.

Aşağıda AutoML sınıflandırma bileşenine ve sonuçta elde edilen AutoML çıkışını gösteren bir komut bileşenine sahip örnek bir işlem hattı verilmiştir. Girişlere (eğitim & doğrulama verileri) ve çıkışlara (en iyi model) farklı adımlarda nasıl başvurıldığını unutmayın.

# Define pipeline
@pipeline(
    description="AutoML Classification Pipeline",
    )
def automl_classification(
    classification_train_data,
    classification_validation_data
):
    # define the automl classification task with automl function
    classification_node = classification(
        training_data=classification_train_data,
        validation_data=classification_validation_data,
        target_column_name="y",
        primary_metric="accuracy",
        # currently need to specify outputs "mlflow_model" explictly to reference it in following nodes 
        outputs={"best_model": Output(type="mlflow_model")},
    )
    # set limits and training
    classification_node.set_limits(max_trials=1)
    classification_node.set_training(enable_stack_ensemble=False, enable_vote_ensemble=False)

    command_func = command(
        inputs=dict(
            automl_output=Input(type="mlflow_model")
        ),
        command="ls ${{inputs.automl_output}}",
        environment="AzureML-sklearn-0.24-ubuntu18.04-py37-cpu:latest"
    )
    show_output = command_func(automl_output=classification_node.outputs.best_model)


pipeline_classification = automl_classification(
    classification_train_data=Input(path="./training-mltable-folder/", type="mltable"),
    classification_validation_data=Input(path="./validation-mltable-folder/", type="mltable"),
)

# ...
# Note that the above is only a snippet from the bankmarketing example you can find in our examples repo -> https://github.com/Azure/azureml-examples/tree/main/sdk/python/jobs/pipelines/1h_automl_in_pipeline/automl-classification-bankmarketing-in-pipeline

İşlem hatlarınıza AutoML ekleme hakkında daha fazla örnek için lütfen örnek depomuzu gözden geçirin.

Sonraki adımlar