Amazon Adaçayı Yapıcı bir süit sağlar yerleşik algoritmalar, önceden eğitilmiş modeller, ve önceden oluşturulmuş çözüm şablonları veri bilimcilerin ve makine öğrenimi (ML) pratisyenlerinin makine öğrenimi modellerini hızla eğitmeye ve dağıtmaya başlamalarına yardımcı olmak. Bu algoritmalar ve modeller hem denetimli hem de denetimsiz öğrenme için kullanılabilir. Tablo, resim ve metin dahil olmak üzere çeşitli girdi verilerini işleyebilirler.
Müşteri kaybı, telekomünikasyondan bankacılığa kadar çok çeşitli şirketlerin karşılaştığı ve müşterilerin tipik olarak rakiplerine kaptırıldığı bir sorundur. Yeni müşteriler kazanmak yerine mevcut müşterileri elde tutmak şirketin çıkarınadır çünkü genellikle yeni müşterileri çekmek çok daha maliyetlidir. Mobil operatörler, müşterilerin hizmeti kullanmaya devam ettiği veya nihayetinde çalkalandığına dair geçmiş kayıtlara sahiptir. Bir ML modelini eğitmek için bir mobil operatörün abone kaybıyla ilgili bu tarihsel bilgiyi kullanabiliriz. Bu modeli eğittikten sonra, isteğe bağlı bir müşterinin profil bilgilerini (modeli eğitmek için kullandığımız profil bilgilerinin aynısı) modele geçirebilir ve bu müşterinin vazgeçip ayrılmayacağını tahmin etmesini sağlayabiliriz.
Bu yazıda, eğitiyor ve dağıtıyoruz yakın zamanda piyasaya sürülen dört SageMaker algoritması-LightGBM, CatBoost, TabTransformer ve AutoGluon-Tabular—bir kayıp tahmini veri kümesinde. Kullanırız SageMaker Otomatik Model Ayarlama (hiperparametre optimizasyonu için bir araç) her model için en iyi hiperparametreleri bulmak ve en uygun olanı seçmek için bir bekleme testi veri kümesindeki performanslarını karşılaştırmak.
Bu çözümü aynı zamanda en gelişmiş tablo algoritmaları koleksiyonunda arama yapmak için bir şablon olarak kullanabilir ve en iyi genel modeli bulmak için hiper parametre optimizasyonunu kullanabilirsiniz. İlgilendiğiniz gerçek iş sorunlarını çözmek için örnek veri setini kolayca kendinizle değiştirebilirsiniz. Bu gönderide incelediğimiz SageMaker SDK koduna doğrudan geçmek istiyorsanız, aşağıdakilere başvurabilirsiniz. örnek Jupyter not defteri.
SageMaker yerleşik algoritmalarının faydaları
Sorununuz ve verileriniz için bir algoritma seçerken, yerleşik bir SageMaker algoritması kullanmak en kolay seçenektir çünkü bunu yapmak aşağıdaki başlıca faydaları sağlar:
- Düşük kodlama – Yerleşik algoritmalar, deneyleri çalıştırmaya başlamak için çok az kodlama gerektirir. Sağlamanız gereken girdiler yalnızca veriler, hiperparametreler ve işlem kaynaklarıdır. Bu, sonuçları ve kod değişikliklerini izlemek için daha az ek yük ile deneyleri daha hızlı çalıştırmanıza olanak tanır.
- Verimli ve ölçeklenebilir algoritma uygulamaları – Yerleşik algoritmalar, birden fazla hesaplama örneği arasında paralelleştirme ve tüm geçerli algoritmalar için kutudan çıktığı anda GPU desteği ile birlikte gelir. Modelinizi eğitmek için çok fazla veriye sahipseniz, çoğu yerleşik algoritma talebi karşılamak için kolayca ölçeklenebilir. Halihazırda önceden eğitilmiş bir modeliniz olsa bile, onun sonucunu SageMaker'da kullanmak ve onu taşımak ve kendiniz bir eğitim komut dosyası yazmak yerine zaten bildiğiniz hiper parametreleri girmek daha kolay olabilir.
- Şeffaflık – Ortaya çıkan model eserlerin sahibi sizsiniz. Bu modeli alabilir ve birkaç farklı çıkarım modeli için SageMaker'da dağıtabilirsiniz (tüm kullanılabilir dağıtım türleri) ve kolay uç nokta ölçeklendirme ve yönetimine sahiptir ya da ihtiyaç duyduğunuz her yerde dağıtabilirsiniz.
Veri görselleştirme ve ön işleme
İlk olarak müşteri kaybı veri setimizi topluyoruz. Bu, her kaydın bilinmeyen bir ABD mobil operatörünün bir müşterisinin profilini tanımlamak için 5,000 özniteliği kullandığı 21 kayıt içeren nispeten küçük bir veri kümesidir. Nitelikler, müşterinin ikamet ettiği ABD eyaletinden müşteri hizmetlerine yaptıkları aramaların sayısına ve gündüz aramaları için faturalandırılan ücrete kadar değişir. Bir ikili sınıflandırma problemi olan müşterinin çalkalayıp bırakmayacağını tahmin etmeye çalışıyoruz. Aşağıdaki, etiketin son sütun olduğu gibi görünen bu özelliklerin bir alt kümesidir.
Aşağıda, her bir sütun için bazı bilgiler, özellikle de seçilen özelliklerin özet istatistikleri ve histogramı yer almaktadır.
Daha sonra verileri önceden işler, eğitim, doğrulama ve test kümelerine böler ve verileri şuraya yükleriz: Amazon Basit Depolama Hizmeti (Amazon S3).
Tablo algoritmalarının otomatik model ayarı
Hiperparametreler, temel algoritmalarımızın nasıl çalıştığını kontrol eder ve modelin performansını etkiler. Bu hiperparametreler, sinir ağı tabanlı modeller için katman sayısı, öğrenme oranı, ağırlık azalma oranı ve bırakma veya ağaç topluluğu modelleri için yaprak sayısı, yinelemeler ve maksimum ağaç derinliği olabilir. En iyi modeli seçmek için, eğitilmiş dört SageMaker tablo algoritmasının her birine SageMaker otomatik model ayarlamasını uygularız. Yalnızca ayarlanacak hiperparametreleri ve keşfedilecek her parametre için bir aralık seçmeniz gerekir. Otomatik model ayarlama hakkında daha fazla bilgi için, bkz. Amazon SageMaker Otomatik Model Ayarı: Makine Öğrenmesi için Makine Öğrenmeyi Kullanma or Amazon SageMaker otomatik model ayarlama: Ölçeklenebilir gradyansız optimizasyon.
Bunun pratikte nasıl çalıştığını görelim.
LightGBM
LightGBM ile otomatik model ayarlamayı çalıştırarak başlıyoruz ve bu süreci diğer algoritmalara uyarlıyoruz. Yazıda açıklandığı gibi Amazon SageMaker JumpStart modelleri ve algoritmaları artık API aracılığıyla kullanılabilir, SageMaker SDK aracılığıyla önceden oluşturulmuş bir algoritmayı eğitmek için aşağıdaki yapılar gereklidir:
- Eğitim ve çıkarım için gerekli tüm bağımlılıkları içeren çerçeveye özel kapsayıcı görüntüsü
- Seçilen model veya algoritma için eğitim ve çıkarım komut dosyaları
İlk önce, aşağıdakilere bağlı olan bu eserleri alırız. model_id
(lightgbm-classification-model
bu durumda) ve sürüm:
Daha sonra LightGBM için varsayılan hiperparametreleri alırız, bunlardan bazılarını yükseltme turlarının sayısı ve doğrulama verileri üzerindeki değerlendirme metriği gibi seçili sabit değerlere ayarlar ve diğerleri için aramak istediğimiz değer aralıklarını tanımlarız. SageMaker parametrelerini kullanıyoruz ContinuousParameter
ve IntegerParameter
bunun için:
Son olarak, bir SageMaker Tahmincisi, içine besleyin Hiperarametre Ayarlayıcıile hiperparametre ayarlama işini başlatın. tuner.fit()
:
The max_jobs
parametre, otomatik model ayarlama işinde toplam kaç işin çalıştırılacağını tanımlar ve max_parallel_jobs
kaç tane eş zamanlı eğitim işinin başlatılması gerektiğini tanımlar. Hedefi de tanımlıyoruz “Maximize”
modelin AUC'si (eğrinin altındaki alan). tarafından maruz kalan mevcut parametrelere daha derine dalmak için HyperParameterTuner
bakın HiperparametreTuner.
Check out örnek dizüstü Bu modeli test setinde nasıl dağıtacağımızı ve değerlendireceğimizi görmek için.
Kedi Takviyesi
CatBoost algoritmasında hiperparametre ayarlama işlemi, ID altında model yapılarını almamız gerekse de, öncekiyle aynıdır. catboost-classification-model
ve hiperparametrelerin aralık seçimini değiştirin:
Sekme Dönüştürücü
TabTransformer modelinde hiperparametre ayarlama işlemi, ID altında model yapılarını almamız gerekse de, öncekiyle aynıdır. pytorch-tabtransformerclassification-model
ve hiperparametrelerin aralık seçimini değiştirin.
Eğitimi de değiştiriyoruz instance_type
için ml.p3.2xlarge
. TabTransformer, Amazon araştırmalarından yakın zamanda türetilen ve derin öğrenmenin gücünü Transformer modellerini kullanarak tablo halindeki verilere getiren bir modeldir. Bu modeli verimli bir şekilde eğitmek için GPU destekli bir örneğe ihtiyacımız var. Daha fazla bilgi için bkz. Derin öğrenmenin gücünü tablolardaki verilere getirme.
AutoGluon-Tabular
AutoGluon durumunda, hiperparametre ayarlaması yapmıyoruz. Bu, tasarım gereğidir, çünkü AutoGluon, birden fazla modeli makul hiperparametre seçenekleriyle birleştirmeye ve bunları birden çok katmanda istiflemeye odaklanır. Bu, mükemmel hiperparametre seçimiyle bir modeli eğitmekten daha performanslıdır ve ayrıca hesaplama açısından daha ucuzdur. Ayrıntılar için, kontrol edin AutoGluon-Tabular: Yapılandırılmış Veriler için Sağlam ve Doğru AutoML.
Bu nedenle, değiştiriyoruz model_id
için autogluon-classification-ensemble
ve yalnızca değerlendirme metrik hiperparametresini istediğimiz AUC puanımıza sabitleyin:
aramak yerine tuner.fit()
, Biz ararız estimator.fit()
tek bir eğitim işine başlamak için.
Eğitilmiş modelleri kıyaslama
Dört modeli de dağıttıktan sonra, tahmin ve hesaplama doğruluğu, F1 ve AUC metrikleri için her uç noktaya tam test setini göndeririz (bkz. örnek dizüstü). Sonuçları aşağıdaki tabloda önemli bir sorumluluk reddi ile birlikte sunuyoruz: sonuçlar ve bu modeller arasındaki göreli performans, eğitim için kullandığınız veri kümesine bağlı olacaktır. Bu sonuçlar temsilidir ve belirli algoritmaların daha iyi performans gösterme eğilimi ilgili faktörlere dayansa da (örneğin, AutoGluon, hem LightGBM hem de CatBoost modellerinin tahminlerini sahne arkasında akıllı bir şekilde bir araya getirir), performans dengesi değişebilir veri dağıtımı.
. | Otomatik Model Ayarlamalı LightGBM | Otomatik Model Ayarlamalı CatBoost | Otomatik Model Ayarlamalı TabTransformer | AutoGluon-Tabular |
doğruluk | 0.8977 | 0.9622 | 0.9511 | 0.98 |
F1 | 0.8986 | 0.9624 | 0.9517 | 0.98 |
AUC | 0.9629 | 0.9907 | 0.989 | 0.9979 |
Sonuç
Bu yazıda, müşteri kayıp tahmini problemini düşük kodlama çabasıyla çözmek için dört farklı SageMaker yerleşik algoritmasını eğittik. Bu algoritmaları eğitmek için en iyi hiperparametreleri bulmak için SageMaker otomatik model ayarlamasını kullandık ve seçilen bir kayıp tahmini veri kümesindeki performanslarını karşılaştırdık. ilgili kullanabilirsiniz örnek dizüstü bir şablon olarak, istediğiniz tablosal veri tabanlı sorunu çözmek için veri kümesini kendinizinkiyle değiştirin.
Bu algoritmaları SageMaker'da denediğinizden emin olun ve diğer yerleşik algoritmaların nasıl kullanılacağına ilişkin örnek not defterlerine göz atın. GitHub.
yazarlar hakkında
Doktor Xin Huang Amazon SageMaker JumpStart ve Amazon SageMaker yerleşik algoritmaları için Uygulamalı Bilim Adamıdır. Ölçeklenebilir makine öğrenimi algoritmaları geliştirmeye odaklanmaktadır. Araştırma ilgi alanları, doğal dil işleme, tablo verileri üzerinde açıklanabilir derin öğrenme ve parametrik olmayan uzay-zaman kümelemesinin sağlam analizidir. ACL, ICDM, KDD konferansları ve Royal Statistical Society: Series A dergisinde birçok makalesi yayınlanmıştır.
Joao Moura Amazon Web Services'de AI/ML Uzman Çözüm Mimarıdır. Çoğunlukla NLP kullanım örneklerine odaklanıyor ve müşterilerin Derin Öğrenme modeli eğitimini ve dağıtımını optimize etmesine yardımcı oluyor. Ayrıca, düşük kodlu ML çözümlerinin ve ML'ye özel donanımın aktif bir savunucusudur.
- AI
- yapay zeka
- AI sanat üreteci
- yapay zeka robotu
- Amazon Adaçayı Yapıcı
- yapay zeka
- yapay zeka sertifikası
- bankacılıkta yapay zeka
- yapay zeka robotu
- yapay zeka robotları
- yapay zeka yazılımı
- AWS Makine Öğrenimi
- blockchain
- blockchain konferans ai
- zeka
- konuşma yapay zekası
- kripto konferans ai
- dal-e
- derin öğrenme
- google ai
- makine öğrenme
- Platon
- plato yapay zekası
- Plato Veri Zekası
- Plato Oyunu
- PlatoVeri
- plato oyunu
- ölçek ai
- sözdizimi
- zefirnet