Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Ş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:
Azure Machine Learning çalışma alanı. Çalışma alanını oluşturmak için bkz. Çalışma alanı kaynakları oluşturma.
Azure Machine Learning Python SDK'sı yüklü. SDK'yı yüklemek için aşağıdaki seçeneklerden birini kullanın:
Bilgisayar örneği oluşturma. İşlem örneği SDK'yi otomatik olarak yükler ve ML iş akışları için önceden yapılandırılmıştır. Daha fazla bilgi için bkz. Azure Machine Learning işlem örneği oluşturma ve yönetme.
automlpaketini kendiniz yükleyin. Paket, SDK'nın varsayılan yüklemesini içerir.
Önemli
Bu makaledeki Python komutları en son
azureml-train-automlpaket sürümünü gerektirir.-
En son
azureml-train-automlpaketi yerel ortamınıza yükleyin. - En son
azureml-train-automlpaketle ilgili ayrıntılar için sürüm notlarına bakın.
Uyarı
SDK v1.61.0 sürümünden itibaren Python 3.10, tüm automl paketleri için desteklenen en düşük sürümdür. En son Python sürüm desteği için SDK sürüm notlarına bakın.
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:
- Test verilerini AutoMLConfig nesnenize geçirin.
- Denemeniz için oluşturulan otomatik ML modellerini test edin.
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.
Regresyon için , Çevrimiçi Gradyan Azalma Regresörü ve Hızlı Doğrusal Regresör
Sınıflandırma için Averaged Perceptron Sınıflandırıcı ve Doğrusal SVM Sınıflandırıcı; Burada Doğrusal SVM sınıflandırıcısının hem büyük hem de küçük veri sürümleri vardır.
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 | ||
| Uzak ML işlem kümeleri |
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.
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çinLogisticRegression(çapraz doğrulama etkinseLogisticRegressionCV) ve regresyon, tahmin görevleri içinElasticNet(çapraz doğrulama etkinseElasticNetCV) olarak belirlenmiştir. Bu parametre şu dizelerden biri olabilir:LogisticRegression,LogisticRegressionCV,LightGBMClassifier,ElasticNet, ,ElasticNetCV,LightGBMRegressorveyaLinearRegression.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ğerdir0.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.
Not defterindeyseniz eğitim sonuçlarınızı bir pencere öğesinde veya satır içinde görüntüleyebilirsiniz. Daha fazla ayrıntı için bkz. Otomatik makine öğrenmesi çalıştırmalarını izleme .
Her çalıştırma için sağlanan performans grafiklerinin ve ölçümlerin tanımları ve örnekleri için bkz. Otomatik makine öğrenmesi denemesi sonuçlarını değerlendirme.
Özellik geliştirme özeti almak ve belirli bir modele hangi özelliklerin eklendiğini anlamak için bkz . Özellik geliştirme şeffaflığı.
Ö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()
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.
Uyarı
Bu özellik aşağıdaki otomatik ML senaryolarında kullanılamaz:
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
Modelin nasıl ve nereye dağıtılacağı hakkında daha fazla bilgi edinin.
Otomatik makine öğrenmesi ile regresyon modelini eğitme hakkında daha fazla bilgi edinin.