Python ile AutoML eğitimini ayarlama

ŞUNA UYGULANIR:Azure Machine Learning SDK v1 for Python

Önemli

Bu makalede, Azure Machine Learning SDK v1 kullanımı hakkında bilgi sağlanır. SDK v1, 31 Mart 2025 itibarıyla kullanım dışı bırakılmıştır. Destek 30 Haziran 2026'da sona erecektir. Bu tarihe kadar SDK v1'i yükleyebilir ve kullanabilirsiniz. SDK v1 kullanan mevcut iş akışlarınız destek sonu tarihinden sonra çalışmaya devam edecektir. Ancak, üründe mimari değişiklikler olması durumunda güvenlik risklerine veya bozulmalara neden olan değişikliklere maruz kalabilirler.

30 Haziran 2026'dan önce SDK v2'ye geçmenizi öneririz. SDK v2 hakkında daha fazla bilgi için Azure Machine Learning CLI ve Python SDK v2 nedir? ve SDK v2 referansına bakın.

Bu makalede, Azure Machine Learning Python SDK ve Azure Machine Learning otomatik ML kullanarak otomatik makine öğrenmesi (AutoML) eğitimi çalıştırmasını ayarlamayı öğreneceksiniz. Otomatik ML sizin için bir algoritma ve hiper parametre seçer ve dağıtıma hazır bir model oluşturur. Bu makalede, otomatik ML denemelerini yapılandırmak için kullanabileceğiniz çeşitli seçeneklerin ayrıntıları sağlanır.

Uçtan uca bir örnek için bkz. Eğitim: AutoML- regresyon modelini eğitme.

Kod içermeyen bir deneyimi tercih ediyorsanız > Azure Machine Learning Stüdyosu içinde kod içermeyen AutoML eğitimi ayarlama seçeneğini de kullanabilirsiniz.

Önkoşullar

Bu makale için şunlar gerekir:

Deneme türünüzü seçin

Denemenize başlamadan önce, çözmekte olduğunuz makine öğrenmesi sorununun türünü belirleyin. Otomatik makine öğrenmesi classification, regressionve forecastinggörev türlerini destekler. Daha fazla bilgi için bkz. görev türleri.

Not

Doğal dil işleme (NLP) görevleri için destek: görüntü sınıflandırması (çok sınıflı ve çok etiketli) ve adlandırılmış varlık tanıma genel önizlemede kullanılabilir. Otomatik ML'deki NLP görevleri hakkında daha fazla bilgi edinin.

Bu önizleme özellikleri hizmet düzeyi sözleşmesi olmadan sağlanır. Bazı özellikler desteklenmeyebilir veya sınırlı işlevlere sahip olabilir. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri için Uygun Kullanım Koşulları.

Aşağıdaki kod, deneme türünü olarak taskbelirtmek için oluşturucudaki AutoMLConfig parametresini kullanırclassification.

from azureml.train.automl import AutoMLConfig

# task can be one of classification, regression, forecasting
automl_config = AutoMLConfig(task = "classification")

Veri kaynağı ve biçimi

Otomatik makine öğrenmesi, yerel masaüstünüzde veya bulutta bulunan Azure Blob Depolama gibi verileri destekler. Verileri bir Pandas DataFrame veya Azure Machine Learning TabularDataset olarak okuyabilirsiniz. Veri kümeleri hakkında daha fazla bilgi edinin.

Makine öğrenmesi için eğitim verileri gereksinimleri:

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

Önemli

Otomatik ML denemeleri , kimlik tabanlı veri erişimi kullanan veri kümeleriyle eğitimi desteklemez.

Uzak denemeler için, uzaktan işlem eğitim verilerine erişmelidir. Uzak işlem üzerinde çalışırken, Otomatik ML yalnızca Azure Machine Learning TabularDatasets kabul eder.

Azure Machine Learning veri kümeleri şu işlevleri sağlar:

  • Statik dosyalardan veya URL kaynaklarından çalışma alanınıza kolayca veri aktarabilirsiniz.
  • Verilerinizi bulut işlem kaynakları üzerinde çalışırken eğitim betiklerinin kullanımına açın. Veri kümeleriyle eğitme örneği için, sınıfı kullanarak veriyi uzak işlem hedefinize bağlama konusunda bkz.

Aşağıdaki kod, web URL'sinden bir TabularDataset oluşturur. Yerel dosyalar ve veri depoları gibi diğer kaynaklardan veri kümeleri oluşturma hakkında kod örnekleri için bkz. TabularDataset oluşturma .

from azureml.core.dataset import Dataset
data = "https://automlsamplenotebookdata.blob.core.windows.net/automl-sample-notebook-data/creditcard.csv"
dataset = Dataset.Tabular.from_delimited_files(data)

Yerel işlem denemeleri için daha hızlı işlem süreleri için pandas veri çerçevelerini kullanın.

import pandas as pd
from sklearn.model_selection import train_test_split

df = pd.read_csv("your-local-file.csv")
train_data, test_data = train_test_split(df, test_size=0.1, random_state=42)
label = "label-col-name"

Eğitim, doğrulama ve test verileri

Ayrı eğitim verileri ve doğrulama veri kümelerini doğrudan oluşturucuda AutoMLConfig belirtebilirsiniz. Daha fazla bilgi için bkz. AutoML denemeleriniz için eğitim, doğrulama, çapraz doğrulama ve test verilerini yapılandırma .

Bir validation_data veya n_cross_validation parametresini açıkça belirtmezseniz, 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 verisi bölme uygulanmıştır. Varsayılan değer, doğrulama kümesi olarak ilk eğitim veri kümesinin 10% almaktır. Buna karşılık, bu doğrulama kümesi ölçüm hesaplaması için kullanılır.
20.000'den küçük satır Ç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ındaysa üç katlama kullanılır.

Ipucu

Otomatik ML'nin sizin için oluşturduğu modelleri değerlendirmek için test verilerini (önizleme) karşıya yükleyebilirsiniz. Bu özellikler deneysel önizleme özellikleridir ve herhangi bir zamanda değişebilir. Nasıl yapılacağını öğrenin:

Kod içermeyen bir deneyimi tercih ediyorsanız , AutoML'yi stüdyo kullanıcı arabirimiyle ayarlama başlığındaki 12. adıma bakın.

Büyük veriler

Otomatik ML, küçük sanal makinelerde büyük veriler için başarıyla model oluşturabilen büyük veriler üzerinde eğitim için sınırlı sayıda algoritmayı destekler. Otomatik ML buluşsal yöntemleri, bu büyük veri algoritmalarının uygulanması gerekip gerekmediğini belirlemek için veri boyutu, sanal makine bellek boyutu, deneme zaman aşımı ve özellik belirleme ayarları gibi özelliklere bağlıdır. Otomatik ML'de hangi modellerin desteklendiği hakkında daha fazla bilgi edinin.

Bu heuristikleri geçersiz kılmak için aşağıdaki değerleri ayarlayın.

Görev Ayarı Notlar
Veri akışı algoritmalarını engelleme blocked_models ögesini AutoMLConfig seçin ve kullanmak istemediğiniz modelleri listeleyin. Çalıştırma hatasına veya uzun çalışma süresine neden olur
Veri akışı algoritmalarını kullanma allowed_models ögesinin içindeki AutoMLConfig'da kullanmak istediğiniz modelleri listeleyin.
Veri akışı algoritmalarını kullanma
(studio kullanıcı arabirimi denemeleri)
Kullanmak istediğiniz büyük veri algoritmaları dışındaki tüm modelleri engelleyin.

Deneyi yürütmek için hesaplama

Ardından modelin eğitildiği yeri belirleyin. Otomatik ml eğitim denemesi aşağıdaki işlem seçeneklerinde çalıştırılabilir.

  • Yerel bir işlem seçin: Senaryonuz küçük veri ve kısa eğitim süreçleri (alt süreç başına saniyeler veya birkaç dakika) kullanan ilk keşifler veya tanıtımlar hakkındaysa, yerel bilgisayarınızda eğitim vermek daha iyi bir seçim olabilir. Kurulum süresi yoktur ve altyapı kaynakları (bilgisayarınız veya VM'niz) doğrudan kullanılabilir. Bkz. bu notebook yerel işlem örneği için.

  • Bir uzak ML hesaplama kümesi seçin: Üretim eğitiminde olduğu gibi daha büyük veri kümeleriyle çalışıyorsanız ve daha uzun süreli eğitim gerektiren modeller oluşturuyorsanız, uzak hesaplama, kümenin düğümleri arasında eğitim süreçlerini paralelleştirerek uçtan uca daha iyi zaman performansı sağlar. Uzaktan hesaplamada, iç altyapının başlangıç süresi her bir alt işlem çalıştırması için yaklaşık 1,5 dakika ekler ve VM'ler henüz başlatılmadıysa küme altyapısı için ek süre gerektirir. Azure Machine Learning Yönetilen İşlem, Azure sanal makine kümelerinde makine öğrenmesi modellerini eğitme olanağı sağlayan yönetilen bir hizmettir. İşlem örneği, işlem hedefi olarak da desteklenir.

  • Azure aboneliğinizde bir Azure Databricks kümesi. Otomatik ML için Azure Databricks kümesi ayarlama bölümünde daha fazla ayrıntı bulabilirsiniz. Azure Databricks içeren not defterlerinin örnekleri için bu GitHub sitesine bakın.

İşlem hedefinizi seçerken şu faktörleri göz önünde bulundurun:

Artılar (Avantajlar) Dezavantajlar (Handikaplar)
Yerel işlem hedefi
  • Ortam başlatma süresi yok
  • Özelliklerin alt kümesi
  • Çalıştırmalar paralelleştirilemez
  • Büyük veriler için daha kötü.
  • Eğitim sırasında veri akışı yok
  • DNN tabanlı özellik özelliği yok
  • Yalnızca Python SDK
  • Uzak ML işlem kümeleri
  • Tam özellik kümesi
  • Alt çalıştırmaları paralelleştirme
  • Büyük veri desteği
  • DNN tabanlı özellik geliştirme
  • İşlem kümesinin isteğe bağlı dinamik ölçeklenebilirliği
  • Kod içermeyen deneyim (web kullanıcı arabirimi) de kullanılabilir
  • Küme düğümleri için başlangıç zamanı
  • Her alt yürütme için başlangıç süresi
  • Deneme ayarlarınızı yapılandırma

    Otomatik ML denemenizi yapılandırmak için çeşitli seçenekler kullanabilirsiniz. Bir AutoMLConfig nesne örneği oluşturarak bu parametreleri ayarlayın. Parametrelerin tam listesi için bkz. AutoMLConfig sınıfı.

    Aşağıdaki örnek bir sınıflandırma görevi içindir. Deneyde birincil ölçüm olarak ağırlıklı AUC kullanılır ve deney süresi 30 dakika ve 2 çapraz doğrulama katı olarak ayarlanmıştır.

        automl_classifier=AutoMLConfig(task='classification',
                                       primary_metric='AUC_weighted',
                                       experiment_timeout_minutes=30,
                                       blocked_models=['XGBoostClassifier'],
                                       training_data=train_data,
                                       label_column_name=label,
                                       n_cross_validations=2)
    

    Ek kurulum gerektiren tahmin görevlerini de yapılandırabilirsiniz. Daha fazla bilgi için bkz. Zaman serisi tahmini için AutoML'yi ayarlama.

        time_series_settings = {
                                'time_column_name': time_column_name,
                                'time_series_id_column_names': time_series_id_column_names,
                                'forecast_horizon': n_test_periods
                               }
        
        automl_config = AutoMLConfig(
                                     task = 'forecasting',
                                     debug_log='automl_oj_sales_errors.log',
                                     primary_metric='normalized_root_mean_squared_error',
                                     experiment_timeout_minutes=20,
                                     training_data=train_data,
                                     label_column_name=label,
                                     n_cross_validations=5,
                                     path=project_folder,
                                     verbosity=logging.INFO,
                                     **time_series_settings
                                    )
    

    Desteklenen modeller

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

    Uygulanacak algoritmaların veya modellerin listesini üç farklı task parametre değeri belirler. allowed_models veya blocked_models parametrelerini kullanarak kullanılabilir modelleri ekleyip veya hariç tutarak yinelemeleri daha fazla değiştirebilirsiniz. Aşağıdaki tabloda, desteklenen modeller görev türüne göre özetlenmektedir.

    Not

    Otomatik ML tarafından oluşturulan modellerinizi bir ONNX modeline dışarı aktarmayı planlıyorsanız, yalnızca * (yıldız) ile belirtilen algoritmalar ONNX biçimine dönüştürülebilir. Modelleri ONNX'e dönüştürme hakkında daha fazla bilgi edinin.

    Ayrıca, ONNX'in şu anda yalnızca sınıflandırma ve regresyon görevlerini desteklediğini unutmayın.

    Sınıflandırma Regresyon Zaman Serisi Tahmini
    Lojistik Regresyon* Elastik Ağ* AutoARIMA
    Light GBM* Light GBM* Peygamber
    Gradient Boosting* Gradient Boosting* Elastik Ağ
    Karar Ağacı* Karar Ağacı* Light GBM
    K En Yakın Komşular* K En Yakın Komşular* Gradyan Artırma
    Doğrusal SVC* LARS Lasso* Karar Ağacı
    Destek Vektör Sınıflandırması (SVC)* Stokastik Gradyan Azalma (SGD)* Arimax
    Random Forest* Random Forest LARS Lasso
    Aşırı Rastgele Ağaçlar* Aşırı Rastgele Ağaçlar* Stokastik Gradyan İnişi (SGD)
    Xgboost* Xgboost* Random Forest
    Ortalanmış Perceptron Sınıflandırıcı Çevrimiçi Gradyan Azalma Regresörü Xgboost
    Naive Bayes* Hızlı Doğrusal Regresör ForecastTCN
    Stokastik Gradyan Azalma (SGD)* Naive
    Doğrusal SVM Sınıflandırıcısı* SeasonalNaive
    Ortalama
    Mevsim Ortalaması
    ExponentialSmoothing

    Birincil metrik

    parametresi, primary_metric iyileştirme için model eğitimi sırasında kullanılan ölçümü ayarlar. Seçtiğiniz görev türü kullanılabilir ölçümleri belirler.

    Birçok faktör, otomatik ML iyileştirmesi için birincil ölçüm seçimini etkiler. İş gereksinimlerinizi en iyi şekilde temsil eden bir ölçüm seçin. Ardından ölçümün veri boyutu, aralık ve sınıf dağıtımı dahil olmak üzere veri kümesi profilinize 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.

    Bu ölçümlerin belirli tanımları için bkz. Otomatik makine öğrenmesi sonuçlarını anlama.

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

    , accuracy, recall_score_weightedve norm_macro_recall gibi precision_score_weightedeşik bağımlı ölçümler, küçük, büyük sınıf dengesizliği (sınıf dengesizliği) olan veya beklenen ölçüm değeri 0,0 veya 1,0'a çok yakın olan veri kümeleri için iyileştirilmeyebilir. Bu gibi durumlarda, AUC_weighted birincil ölçüm için daha iyi bir seçim olabilir. Otomatik ML tamamlandıktan sonra, iş gereksinimlerinize uygun ölçüme göre en iyi modeli seçebilirsiniz.

    Metrik Örnek kullanım örneği
    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ırma, 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

    Regresyon senaryoları için ölçümler

    r2_score, normalized_mean_absolute_errorve normalized_root_mean_squared_error tümü tahmin hatalarını en aza indirmeye çalışır. r2_score ve normalized_root_mean_squared_error her ikisi de ortalama hata karesini en aza indirirken normalized_mean_absolute_error hataların ortalama mutlak değerini en aza indirir. Mutlak değer, tüm büyüklüklerdeki hatalara aynı şekilde davranır ve kare hatalar, daha büyük mutlak değerlere sahip hatalar için daha büyük bir ceza verir. Daha büyük hataların daha fazla cezalandırılıp cezalandırılmayacağına bağlı olarak, kareli hatayı veya mutlak hatayı iyileştirmeyi seçin.

    ile r2_score arasındaki normalized_root_mean_squared_error temel fark, normalleştirilmeleri ve anlamlarıdır. normalized_root_mean_squared_error kök ortalaması hata karesi aralığına göre normalleştirilmiştir ve tahmin için ortalama hata büyüklüğü olarak yorumlanabilir. r2_score ortalama hata karesi, veri varyansı tahminiyle normalleştirilir. Modelin yakaladığı varyasyonun 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 kare hatasını iyileştirir ve aynı model bunları iyileştirir. Çapraz doğrulama uyguladığınızda ve yalnızca bir eğitim kümesi mevcut olduğunda, normalized_root_mean_squared_error için normalleştirici eğitim kümesinin aralığı olarak sabitlendiğinden ve r2_score için normalleştirici ise her katlamanın varyansı olduğu için her katlamada değiştiğinden, bunlar biraz farklılık gösterir.

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

    Ancak, şu anda regresyon için birincil ölçümler göreli farkı gidermiyor. r2_score, normalized_mean_absolute_error ve normalized_root_mean_squared_error, 20.000 dolarlık bir tahmin hatasını, eğer bu 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.000 dolar maaş alan bir çalışan için olduğu gibi 20 milyon dolar kazanan bir çalışan için de aynı şekilde değerlendirir. Gerçekte, 20 milyon ABD doları maaş üzerinden yalnızca 20.000 ABD doları sapma tahmininde bulunmak çok yakındır (küçük bir %0,1 göreli fark), oysa 30.000 ABD dolarından 20.000 ABD doları sapma büyük bir %67 göreli farktır. Göreli fark sorununu gidermek için, kullanılabilir birincil ölçümlere sahip bir model eğitin ve ardından en iyi mean_absolute_percentage_error veya root_mean_squared_log_errorile modeli seçin.

    Metrik Örnek kullanım örneği
    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.

    Metrik Örnek kullanım örneği
    normalized_root_mean_squared_error Fiyat tahmini (tahmin), Stok iyileştirme, Talep tahmini
    r2_score Fiyat tahmini (tahmin), Stok iyileştirme, Talep tahmini
    normalized_mean_absolute_error

    Veri özellik kazandırma

    Her otomatik ML denemesinde sistem, farklı ölçeklerdeki özelliklere duyarlı bazı algoritmalara yardımcı olmak için verilerinizi otomatik olarak ölçeklendirir ve normalleştirir. Bu ölçeklendirme ve normalleştirme özellik geliştirme olarak adlandırılır. Daha fazla ayrıntı ve kod örneği için bkz. AutoML'de Özellik Kazandırma .

    Not

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

    Nesnenizde AutoMLConfig denemelerinizi yapılandırırken ayarını featurizationetkinleştirebilir veya devre dışı bırakabilirsiniz. Aşağıdaki tabloda AutoMLConfig nesnesinde özellik özelliği için kabul edilen ayarlar gösterilmektedir.

    Özellik Kazandırma Yapılandırması Açıklama
    "featurization": 'auto' Ön işlemenin bir parçası olarak veri korumaları ve özellik geliştirme adımlarının otomatik olarak gerçekleştirildiğini gösterir. Varsayılan ayar.
    "featurization": 'off' Özellik geliştirme adımının otomatik olarak yapılmaması gerektiğini gösterir.
    "featurization": 'FeaturizationConfig' Özelleştirilmiş bir özellik oluşturma adımının kullanılması gerektiğini gösterir. Özellik işlemesini özelleştirmeyi öğrenin.

    Grup yapılandırması

    Grup modelleri varsayılan olarak etkinleştirilir ve AutoML çalıştırmasında son çalıştırma yinelemeleri olarak görünür. Şu anda VotingEnsemble ve StackEnsemble desteklenmektedir.

    Oylama, ağırlıklı ortalamaları kullanan yumuşak oylama uygular. Yığma uygulaması, ilk katmanın oylama grubuyla aynı modellere sahip olduğu ve ikinci katman modelinin ilk katmandaki modellerin en uygun birleşimini bulmak için kullanıldığı iki katmanlı bir uygulama kullanır.

    ONNX modelleri kullanıyorsanız veya model açıklanabilirliğini etkinleştiriyorsanız, yığınlama devre dışı bırakılır ve yalnızca oylama kullanılır.

    ve enable_voting_ensemble boole parametrelerini enable_stack_ensembleolarak ayarlayarak false grup eğitimini devre dışı bırakın.

    automl_classifier = AutoMLConfig(
                                     task='classification',
                                     primary_metric='AUC_weighted',
                                     experiment_timeout_minutes=30,
                                     training_data=data_train,
                                     label_column_name=label,
                                     n_cross_validations=5,
                                     enable_voting_ensemble=False,
                                     enable_stack_ensemble=False
                                    )
    

    Varsayılan grup davranışını değiştirmek için, kwargs şeklinde birden çok varsayılan bağımsız değişkeni AutoMLConfig nesnesine sağlayın.

    Önemli

    Aşağıdaki parametreler AutoMLConfig sınıfının açık parametreleri değildir.

    • ensemble_download_models_timeout_sec: VotingEnsemble ve StackEnsemble model oluşturma sırasında, işlem önceki alt çalıştırmalardan birden çok uygun modeli indirir. Şu hatayla karşılaşırsanız: AutoMLEnsembleException: Could not find any models for running ensembling, modellerin indirilmesi için daha fazla zaman sağlamanız gerekebilir. Bu modelleri paralel olarak indirmek için varsayılan değer 300 saniyedir ve maksimum zaman aşımı sınırı yoktur. Daha fazla zaman gerekiyorsa bu parametreyi 300 saniyeden daha yüksek bir değerle yapılandırın.

      Not

      Zaman aşımına ulaşılırsa ve işlem modelleri indirdiyse, sahip olduğu model sayısıyla toplulaştırma işlemine devam eder. Bu zaman aşımı süresi içinde tüm modellerin indirilmesinin bitmesi gerekmez. Aşağıdaki parametreler yalnızca StackEnsemble modelleri için geçerlidir:

    • stack_meta_learner_type: meta-öğrenen, tek tek heterojen modellerin çıkışı üzerinde eğitilmiş bir modeldir. Varsayılan meta öğrenenler, sınıflandırma görevleri için LogisticRegression (çapraz doğrulama etkinse LogisticRegressionCV) ve regresyon, tahmin görevleri için ElasticNet (çapraz doğrulama etkinse ElasticNetCV) olarak belirlenmiştir. Bu parametre şu dizelerden biri olabilir: LogisticRegression, LogisticRegressionCV, LightGBMClassifier, ElasticNet, , ElasticNetCV, LightGBMRegressorveya LinearRegression.

    • stack_meta_learner_train_percentage: meta-öğreniciyi eğitmek için ayıracak eğitim kümesinin oranını (eğitim ve doğrulama türü seçerken) belirtir. Varsayılan değerdir 0.2.

    • stack_meta_learner_kwargs: meta-öğrenici başlatıcısına iletilecek isteğe bağlı parametreler. Bu parametreler ve parametre türleri, ilgili model oluşturucusundan parametreleri ve parametre türlerini yansıtır ve model oluşturucusna iletilir.

    Aşağıdaki kod, bir AutoMLConfig nesnede özel grup davranışı belirtme örneğini gösterir.

    ensemble_settings = {
                         "ensemble_download_models_timeout_sec": 600
                         "stack_meta_learner_type": "LogisticRegressionCV",
                         "stack_meta_learner_train_percentage": 0.3,
                         "stack_meta_learner_kwargs": {
                                                        "refit": True,
                                                        "fit_intercept": False,
                                                        "class_weight": "balanced",
                                                        "multi_class": "auto",
                                                        "n_jobs": -1
                                                      }
                        }
    automl_classifier = AutoMLConfig(
                                     task='classification',
                                     primary_metric='AUC_weighted',
                                     experiment_timeout_minutes=30,
                                     training_data=train_data,
                                     label_column_name=label,
                                     n_cross_validations=5,
                                     **ensemble_settings
                                    )
    

    Çıkış kriterleri

    Denemenizi sonlandırmak için AutoMLConfig'inizde çeşitli seçenekler tanımlayabilirsiniz.

    Ölçüt Açıklama
    Ölçüt yok Herhangi bir çıkış parametresi tanımlamazsanız, birincil ölçümünüzde başka bir ilerleme kaydedilmeden deneme devam eder.
    Bir süre sonra Denemenizin kaç dakika içinde çalışmaya devam etmesi gerektiğini tanımlamak için ayarlarınızda kullanın experiment_timeout_minutes .

    Deneme zaman aşımı hatalarını önlemek için, süre için minimum 15 dakika gerekir; ancak satır ve sütun boyutunun çarpımı 10 milyonu aşıyorsa, bu süre 60 dakikaya çıkar.
    Bir puana ulaşıldı Belirtilen birincil ölçüm puanına ulaşıldıktan sonra kullanımı experiment_exit_score denemeyi tamamlar.

    Denemeyi çalıştırma

    Uyarı

    Aynı yapılandırma ayarları ve birincil ölçümle 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, deneme tarafından elde edilen modellerde ve doğruluk gibi önerilen modelin son ölçüm puanında küçük farklılıklara neden olabilecek doğal rastgeleliğe sahiptir. Büyük olasılıkla aynı model adına sahip ancak kullanılan farklı hiper parametrelere sahip sonuçlar görürsünüz.

    Otomatik ML için, deneyleri çalıştırmak amacıyla bir Workspace içinde adlandırılmış bir Experiment nesnesi oluşturursunuz.

    from azureml.core.experiment import Experiment
    
    ws = Workspace.from_config()
    
    # Choose a name for the experiment and specify the project folder.
    experiment_name = 'Tutorial-automl'
    project_folder = './sample_projects/automl-classification'
    
    experiment = Experiment(ws, experiment_name)
    

    Bir modeli çalıştırmak ve oluşturmak için denemeyi gönderin. AutoMLConfig modeli oluşturmak için submit yöntemine geçirin.

    run = experiment.submit(automl_config, show_output=True)
    

    Not

    Bağımlılıklar ilk olarak yeni bir makineye yüklenir. Çıktının görüntülenmesi en fazla 10 dakika sürebilir. show_output ayarını True olarak ayarlamak, çıkışın konsolda gösterilmesine neden olur.

    Küme üzerinde birden çok bağlı görev

    Otomatik ML deneyinin alt çalışmaları, zaten başka bir deneyi ç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, alt çalıştırma anlamına gelir. Tüm düğümler meşgulse yeni deney 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ı yönetmek ve gerçekleştirme zamanlarını düzenlemek için, her deney için özel bir küme oluşturmanızı ve deneyinizin max_concurrent_iterations sayısını kümedeki düğüm sayısı ile 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.

    max_concurrent_iterations öğesini AutoMLConfig nesnenizde yapılandırın. Yapılandırılmamışsa, deneme başına varsayılan olarak yalnızca bir eş zamanlı alt çalıştırmaya/yinelemeye izin verilir. İşlem örneği söz konusu olduğunda, max_concurrent_iterations 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.

    Özel kod çözümüyle print_model()hiper parametreleri, ölçeklendirme ve normalleştirme tekniklerini ve belirli bir otomatik ML çalıştırmasına uygulanan algoritmayı görüntüleyebilirsiniz.

    Ipucu

    Otomatik ML ayrıca AutoML tarafından eğitilen modeller için oluşturulan model eğitim kodunu da görüntülemenizi sağlar. Bu işlev genel önizleme aşamasındadır ve istediğiniz zaman değişebilir.

    Otomatik makine öğrenmesi çalıştırmalarını izleme

    Otomatik ML çalıştırmalar için, önceki bir çalıştırmadaki grafiklere erişmek için <<experiment_name>> yerine uygun deneme adını yazın:

    from azureml.widgets import RunDetails
    from azureml.core.run import Run
    
    experiment = Experiment (workspace, <<experiment_name>>)
    run_id = 'autoML_my_runID' #replace with run_ID
    run = Run(experiment, run_id)
    RunDetails(run).show()
    

    Otomatik Makine Öğrenmesi için Jupyter not defteri bileşeni

    Test modelleri (önizleme)

    Önemli

    Otomatik ML tarafından oluşturulan modelleri değerlendirmek için bir test veri kümesi kullanarak modellerinizi test etmek bir önizleme özelliğidir. Bu özellik deneysel bir önizleme özelliğidir ve herhangi bir zamanda değişebilir.

    veya test_data parametrelerini içine test_sizegeçirirsenizAutoMLConfig, deneme tamamlandıktan sonra otomatik ML'nin önerdiği en iyi modeli değerlendirmek için sağlanan test verilerini kullanan bir uzaktan test çalıştırmasını otomatik olarak tetiklersiniz. Bu uzaktan test çalıştırması, en iyi model belirlendikten sonra denemenin sonunda gerçekleşir. Daha fazla bilgi için, test verilerini AutoMLConfig içine geçirme yollarına bakın.

    Test işi sonuçlarını alma

    Azure Machine Learning Stüdyosu veya aşağıdaki kodu kullanarak uzaktan test işinden tahminleri ve ölçümleri alabilirsiniz.

    best_run, fitted_model = remote_run.get_output()
    test_run = next(best_run.get_children(type='automl.model_test'))
    test_run.wait_for_completion(show_output=False, wait_post_processing=True)
    
    # Get test metrics
    test_run_metrics = test_run.get_metrics()
    for name, value in test_run_metrics.items():
        print(f"{name}: {value}")
    
    # Get test predictions as a Dataset
    test_run_details = test_run.get_details()
    dataset_id = test_run_details['outputDatasets'][0]['identifier']['savedId']
    test_run_predictions = Dataset.get_by_id(workspace, dataset_id)
    predictions_df = test_run_predictions.to_pandas_dataframe()
    
    # Alternatively, the test predictions can be retrieved via the run outputs.
    test_run.download_file("predictions/predictions.csv")
    predictions_df = pd.read_csv("predictions.csv")
    
    

    Model test işi, çalışma alanıyla oluşturulan varsayılan veri deposunda depolanan predictions.csv dosyasını oluşturur. Aynı aboneliğe sahip tüm kullanıcılar bu veri depolarını görebilir. Test işi için kullanılan veya test işi tarafından oluşturulan bilgilerin özel kalması gereken senaryolar için test işleri önerilmez.

    Mevcut otomatik ML modelini test etme

    En iyi görev veya çocuk görev gibi diğer otomatik ML modellerini test etmek için ModelProxy() kullanın. Bu yöntem, ana AutoML çalıştırması tamamlandıktan sonra bir modeli test eder. ModelProxy() zaten tahminleri ve ölçümleri döndürdüğünden, çıkışları almak için ek işlem yapmanıza gerek yoktur.

    Not

    ModelProxy deneysel bir önizleme sınıfıdır ve herhangi bir zamanda değişebilir.

    Aşağıdaki kod, ModelProxy.test() yöntemini kullanarak herhangi bir çalıştırmadan modeli test etme işlemini gösterir. yönteminde test() parametresini kullanarak yalnızca test çalıştırmasından gelen tahminleri görmek isteyip istemediğinizi include_predictions_only belirtebilirsiniz.

    from azureml.train.automl.model_proxy import ModelProxy
    
    model_proxy = ModelProxy(child_run=my_run, compute_target=cpu_cluster)
    predictions, metrics = model_proxy.test(test_data, include_predictions_only= True
    )
    

    Modelleri kaydetme ve dağıtma

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

    Modeli otomatik bir Makine Öğrenimi yürütmesinden kaydetmek için register_model() yöntemini kullanarak.

    
    best_run = run.get_best_child()
    print(fitted_model.steps)
    
    model_name = best_run.properties['model_name']
    description = 'AutoML forecast example'
    tags = None
    
    model = run.register_model(model_name = model_name, 
                                      description = description, 
                                      tags = tags)
    

    Dağıtım yapılandırması oluşturma ve kayıtlı bir modeli web hizmetine dağıtma hakkında ayrıntılı bilgi için bkz. Modelin nasıl ve nereye dağıtılacağı.

    Ipucu

    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.

    Model yorumlanabilirliği

    Model yorumlanabilirliği, modellerinizin neden tahminde bulunup temel alınan özellik önem değerlerini ortaya çıkardığınızı anlamanıza yardımcı olur. SDK, yerel ve dağıtılmış modeller için hem eğitim hem de çıkarım sırasında model yorumlanabilirliği özelliklerini etkinleştiren çeşitli paketler içerir.

    Yorumlanabilirlik özelliklerinin özellikle otomatik ML denemeleri içinde nasıl etkinleştirileceğine bakın.

    Otomatik makine öğrenmesi dışında SDK'nın diğer alanlarında model açıklamalarını ve özellik önemini etkinleştirme hakkında genel bilgi için yorumlanabilirlik kavramı makalesine bakın.

    Not

    ForecastTCN modeli şu anda Açıklama İstemcisi tarafından desteklenmiyor. Bu model, en iyi model olarak döndürülürse bir açıklama panosu döndürmez ve isteğe bağlı açıklama çalıştırmalarını desteklemez.

    Sonraki adımlar