AutoML'yi Keşfetmek: Mevcut En İyi Araçlar [Bilmeniz Gerekenler]
Yayınlanan: 2020-12-07Makine öğrenimi yaşam döngüsü, Veri Toplama, Veri Temizleme, özellik mühendisliği, özellik seçimi, model oluşturma, hiper parametre ayarlama, doğrulama ve model dağıtımını içeren bir dizi süreçtir.
Veri toplama, manuel anketler, veri girişi, web hurdaya çıkarma veya bir deney sırasında oluşturulan veriler gibi birçok biçim alabilirken, veri temizleme, verilerin yaşam döngüsünün diğer aşamalarında kullanılabilecek standart bir forma dönüştürüldüğü yerdir. .
Son zamanlarda makine öğrenimindeki artış, birçok işletmeyi ana ürünleri için yapay zeka tabanlı bir çözüm benimsemeye davet etti ve bu nedenle pazara yeni bir AutoML bölümü geldi. AI tabanlı çözümleri hızlı bir şekilde kurmak için harika bir araç olabilir, ancak hala ele alınması gereken bazı ilgili faktörler var.
İçindekiler
AutoML nedir?
Kendisi eyleme geçirilebilir sonuçlara yol açan otomatik tahminler ve sınıflandırmalar üretme süreci olan makine öğreniminin bazı bölümlerini otomatikleştiren bu araçlar kümesidir. Yalnızca özellik mühendisliği, model oluşturma ve bazen dağıtım aşamalarını otomatikleştirebilse de, AutoML araçlarının çoğu birden çok makine öğrenimi algoritmasını ve neredeyse aynı sayıda değerlendirme metriğini destekler.
Bu tür bir araç başlatıldığında, tüm algoritmalar üzerinde aynı veri setini çalıştırır, problemle ilgili çeşitli metrikleri test eder ve ardından ayrıntılı bir rapor kartı sunar. Şimdi piyasada bulunan ve yaygın olarak kullanılan bazı ünlü araçları keşfedelim.
H2O.ai
AutoML'deki önde gelen çözümlerden biri, sıfırdan hiçbir şey kodlamayan iş sorunlarına sektöre hazır çözümler sunan H2O.ai'dir. Bu, herhangi bir etki alanından herkesin makine öğreniminde uzmanlığa ihtiyaç duymadan verilerden anlamlı bilgiler çıkarmasına olanak tanır.

H2O, yaygın olarak kullanılan tüm makine öğrenimi modellerini ve istatistiksel yaklaşımları destekleyen bir açık kaynaktır. Veriler kümeler arasında dağıtıldığı ve daha sonra paralel okuma işlemlerine izin vererek sütun biçiminde bir biçimde bellekte depolandığı için süper hızlı çözümler sunmak için inşa edilmiştir.
Bu projenin daha yeni sürümlerinde GPU desteği de var, bu da onu daha hızlı ve verimli hale getiriyor. Bunun Python kullanılarak nasıl gerçekleştirilebileceğine bakalım (daha iyi anlamak için kodu jupyter not defterinde çalıştırın):
!pip install h2o # yüklemediyseniz bunu çalıştırın
h2o'yu içe aktar
h2o.init()
h2o.automl'den H2OAutoML'yi içe aktar
df = h2o.import_file() # Burada dosya yolunu belirtin
y = 'hedef_etiket'
x = df.kaldır(y)
X_train, X_test, X_validate = df.split_frame(oranlar=[.7, .15])
model_obj = H2OAutoML(max_models = 10, tohum = 10, ayrıntı=”bilgi”, nfolds=0)
model_obj.train(x = x, y = y, training_frame = X_train, validation_frame=X_validate)
sonuçlar = model_obj.leaderboard
Bu, soruna bağlı olarak ilgili ölçümlerini görüntüleyen tüm algoritmaların sonuçlarını depolayacaktır.
Okuyun: Makine Öğrenimi Araçları
Pycaret
Bu, yalnızca birkaç satır kodla çok çeşitli AutoML özelliklerini destekleyen, bu yıl başlatılan oldukça yeni bir kitaplıktır. Eksik değerleri işlemek, kategorik verileri model beslenebilir biçime dönüştürmek, hiper parametre ayarlaması ve hatta özellik mühendisliği olsun, PyCaret, veri işleme stratejilerine daha fazla odaklanabildiğiniz zaman tüm bunları sahne arkasında otomatikleştirir.

NumPy, pandalar, sklearn, XGBoost, vb. gibi mevcut tüm makine öğrenme araçları ve kitaplıkları için daha çok bir Python sarmalayıcıdır. Pycaret kullanarak sınıflandırma problemini nasıl gerçekleştirebileceğinizi anlayalım:
!pip install pycaret # yüklemediyseniz bunu çalıştırın
pycaret.datasets'ten get_data'yı içe aktarın
pycaret.classification'dan içe aktarma *
df = get_data('diyabet')
ayar = kurulum(diyabet, hedef = 'Sınıf değişkeni')
karşılaştırma_modelleri() # Bu fonksiyon tüm algoritmaların karşılaştırmasını gösterir!
seçili_model = create_model() # oluşturmak istediğiniz algoritmanın adını iletin
tahmin_modeli(seçilen_model)
final_model = finalize_model(seçili_model)
save_model(final_model , 'dosya_adı')
yüklendi = load_model('dosya_adı')
İşte bu, özellik mühendisliğini gerçekleştiren, bir model eğiten ve onu kurtaran bir dönüşüm hattı oluşturdunuz!
Google Veri Hazırlığı
Özellikleri seçmeyi, model oluşturmayı ve en iyi sonuçları elde etmek için ayarlamayı otomatikleştiren iki kitaplığa baktık, ancak veri temizlemenin nasıl otomatikleştirilebileceğini tartışmadık. Bu süreç kesinlikle otomatikleştirilebilir, ancak doğru verilerin iletilip geçirilmediğine veya değerlerin anlamlı olup olmadığına dair manuel doğrulama gerektirir.
Daha fazla veri, model oluşturma için bir artı noktadır, ancak kaliteli sonuçlar elde etmek için kaliteli veriler olmalıdır. Google DataPrep, verilerin görsel olarak temizlenmesini sağlayan bir hizmet olarak platform olarak sunulan akıllı bir veri hazırlama aracıdır, yani tek bir satırı bile kodlamadan ve sadece seçenekleri seçerek verileri değiştirebilirsiniz.

Uygulamak istediğiniz işlevleri gerçekleştirmek için seçenekleri seçmeyi çok kolaylaştıran etkileşimli bir GUI sunar. Bu aracın en iyi yanı, veri setinde yapılan tüm değişiklikleri bir yan panelde yapıldıkları sırayla gösterecek ve herhangi bir adım değiştirilebilir. Değişiklikleri takip etmeye yardımcı olur. Size çoğunlukla doğru olan öneriler sorulacaktır.
Ortaya çıkan dosya yerel depolamaya aktarılabilir veya bu hizmet Google Cloud Platform'da sağlandığı için, bu dosyayı doğrudan sorgu düzenleyicide makine öğrenimi görevlerini gerçekleştirebileceğiniz herhangi bir Google Storage paketine veya BigQuery tablolarına götürebilirsiniz. Bunun en büyük dezavantajı, yinelenen maliyetleri olabilir, açık kaynaklı bir proje değil, tam teşekküllü bir endüstri çözümüdür.
Bu, Veri Bilimcilerinin yerini alabilir mi?
Kesinlikle hayır! AutoML harikadır ve Veri Bilimcisinin belirli bir yaşam döngüsünü hızlandırmasına yardımcı olabilir, ancak her zaman uzman tavsiyesine ihtiyaç vardır. Örneğin, tüm algoritmaları çalıştıran bir AutoML'den belirli bir problem ifadesi için doğru modeli elde etmek, onu probleme en uygun belirli algoritmalar üzerinde çalıştıracak bir uzmandan çok zaman alacaktır.
Veri bilimcilerin bu tür otomasyonlardan elde edilen sonuçları doğrulamaları ve ardından işletmelere uygun bir çözüm sunmaları gerekecektir. Alan uzmanı kişiler, verilerden içgörü elde etme konusunda fazla deneyime sahip olmayabilecekleri için bu otomasyonu çok faydalı bulacaktır, ancak bu araçlar onları en iyi şekilde yönlendirecektir.
Makine öğreniminde uzmanlaşmak ve bir aracıyı tic tac toe oynamak, sohbet robotu eğitmek vb. için nasıl eğiteceğinizi öğrenmek istiyorsanız, Grad'ın Makine Öğrenimi ve Yapay Zeka PG Diploması kursuna göz atın.
