SÜRÜKLE — BIRAK ! KARŞINIZDA AZURE MACHİNE LEARNING STUDIO (UYGULAMALI)

Kardelen Erdem
Machine Learning Turkiye
4 min readFeb 25, 2021

AZURE ML STUDIO NEDİR?

Microsoft Azure ML Studio kodlama kullanmadan data cleaning, data process ve machine learning işlemlerini sürükle - bırak yöntemi ile kolaylıkla gerçekleştirmeye yarayan bir çalışma ortamı.

Azure Machine Learning Studio , model eğitimi, dağıtımı ve varlık yönetimi için düşük kod ve kod içermeyen seçenekler için Azure Machine Learning bir Web portalıdır.

Açıkçası çalışma ortamını ilk incelediğimde ‘Nasıl yani Python’da saatlerce uğraşırken burada işlemler yalnızca bu kadar mı?’ dedim. Ancak kodlama bilgisi olmasa dahi sağlam bir machine learning ve data science bilgisi olması gerektiğini düşünüyorum. Hiç süphesiz her çalışma ortamının kendine göre olumlu ve olumsuz yanları var. Bence Azure ML Studio çalışma ortamının en kullanışlı taraflarından birisi data preprocess adımlarının kolay ve hızlıca gerçekleştirilmesi ve data ile ilk karşılaşmada yaptığımız klasik istatistiksel bilgilere, değişken grafiklerine kolaylıkla ulaşabilmek. Kişisel fikrim ise çalışma ortamı için Python kullanan birisi olarak ML Studio’da proje yaparken Python’da ki ‘Herşey kontrolüm altında’ hissiyatını pek yaşayamadım ama çalışma ortamı puzzle yapmak, bulmaca çözmek kadar eğlendirdi beni.

AZURE ML STUDIO’DA İŞLER NASIL İLERLİYOR?

Aslında nerede çalışırsak çalışalım adımlar her zaman aynı! İlk olarak datayı inceleyip gerekli preprocess adımlarını yaptıktan sonra model oluşturmaya başlıyoruz. Azure öğrenmek için gerçekleştirdiğim projemi basit adımlarla aktarmaya çalışacağım.

  • Adım 1: Öncelikle veri setimizi yükleyelim. Bu işlemi local ortamımızdan, web adresinden ya da zip dosyasından yükleyebiliriz. Ben çalışmamda local ortamımda bulunan verisetini kullandım.
  • Adım 2: Experiments kısmından kendimize yeni bir proje ortamı açıyoruz.
Boş proje oluşturduğumuzda genel işlem ve modelleme şemasını gösteren bir sayfa ile karşılaşıyoruz.
Kendi datamızı kullanacaksak my datasets kısmından kullanacağımız datayı sürükleyerek boş sayfamızda herhangi bir yere bırakıyoruz. (Samples kısmından hazır bir data kullanarakta projemizi yapabiliriz.)
Statistics kısmında her bir değişken için temel istatistik bilgilerine visualizations kısmında ise değişkenler için tablolara gözatabiliriz.
  • Adım 3: Modellemede kullanacağımız değişkenleri seçelim. (Bu aşamadan önce datamızda missing value varsa bunları Clean Missing Data adımı ile gerekli işlemleri yapabiliriz.)
Benim veri setimde missing değer olmadığı için ben bu aşamayı kullanmadım.
Column13 değişkeni anlamsız değerden oluştuğu için ben column13 kolonu hariç tüm kolonları seçtim.

NOT: Ben veri setimi modellerken iki farklı senaryo üzerinden devam ettim. İlk senaryoda verisetine standartlaştırma işlemi uyguladıktan sonra modele verdim, ikinci senaryoda ise veri setine PCA işlemi uygulayıp 12 değişkenden oluşan verisetimi boyut indirgeyerek 5 değişken yapıp modele verdim.

  • Adım 4.1: Datamızı standartlaştıralım. (Her çalışmada ve veri setinde bu aşamaya gerek olmayabilir ancak bazı ML algoritmaları standartlaştırılmış veri setinde daha iyi sonuçlar verir ör: neural network, support vector machine.)
Burada istediğimiz transform metotunu değiştirebilir ve istediğimiz değişkenleri seçebiliriz.
  • Adım 4.2: Veri setine boyut indirgeme işlemi yapalım.
PCA uyguladıktan sonra başlangıçta 13 (target ile beraber) olan kolon sayısının artık belirttiğimiz gibi 5 kolona indirgendiğini görüyoruz.
  • Adım 5: Klasik makine öğrenmesi adımlarında yaptığımız train-test split işlemini yapalım.
Splitting mode kısmında datayı sütun ya da satır olarak bölebileceğimiz iki seçenek var. Train seti için datanın 0.70'ni kullanacağız. Burada Random seed’e girdiğimiz değerin sayısal bir anlamı yok ancak model her çalıştığında aynı örneklemle çalışmak için bu kısmı dolduruyoruz. (Bu aşama her iki senaryo içinde aynı)
  • Adım 6: Modelimizi kurmaya hazırız.!
Target değişkenimiz Abnormal ve Normal olarak iki sınıftan oluştuğu için bir sınıflandırma modeli kurmalıyız. Ben öğrenme amaçlı örnek bir proje yaptığım için klasik lojistik regresyon modelinden devam ettim ve her iki senaryo için model kurdum.
Yukarıda fark ettiyseniz Train Model kutucuğunun kenarında kırmızı bir uyarı işareti var çünkü bu adımda train modelde kullanılacak target değişkenini belirtmemiz gerekiyor.
  • Adım 7: Her iki senaryo için kurduğumuz Train Model’i inceleyelim.
Yukarıda PCA uyguladığımız senaryonun train model çıktısını ve kurulan model için her bir kolonun ağırlık değerlerini gözlemleyebiliriz.
Burada ise standartlaştırma yaptığımız senaryo üzerinden kurulan modelin çıktısını görüyoruz.
Score Model kutucuğunda sağa tıklayarak kurulan model üzerinden skoru görsel olarak inceleme fırsatımız var. Class_att gerçek data verisi sınıflarını gösterirken Scored Labels ise model üzerinden yapılan tahminleri gösteriyor.
PCA senaryosu için Score Label görseli.
Son olarak Evaluate Modelden iki modelin ROC eğrisi grafiğini birlikte gözlemleyebiliriz. Mavi çizgi soldaki modelimiz olan standartlaştırma yapılmış datayı kırmızı çizgi ise PCA yapılmış datayı temsil ediyor.
Burada PCA uygulanan data için recall, accuracy score görüyoruz. Bu aşamada treshold sınılarını değiştirerek ilgilendiğimiz model score için nasıl etki ettiğini görebiliriz.
  • Modelleme işlemi sonunda model şemasının görünümü.

MODELİ BAŞKA VERİLERE NASIL UYGULAYACAĞIZ?

Model kurma işlemi bittikten sonra eğer model değerleri istediğimiz sonucu verdiyse gerçek hayata uyarlamak isteriz. Bunun için Azure ML Studio’da Set Up Web Service kısmına gelip Predictive Web Service kısmına tıklıyoruz. Bu aşamada arayüz bize yaptığımız her adımı yeni gelen verilere uygulayabileceği adımlar oluşturuyor. Yani kısaca modeli gerçek hayata hazırlıyor.

NOT: Eğer benim projemde olduğu gibi iki farklı model kullandıysanız bu işlemden önce hangi train model sonucunu kullanmak istiyorsanız üzerine tıklayıp onu seçmelisiniz.

Burada yeniden RUN yapmamız gerekiyor.
Run yaptıktan sonra açılan bu ekranda NEW WEB SERVİCES EXPERİENCE tıklıyoruz.
Bu kısımda Azure’un sunduğu arayüz, Excel ve ya diğer sistemlere entegre olarak modelde tahmin yaptırabiliriz ben Azure arayüzünü kullanmayı tercih ettim.( Test endpoint)
Modeli predict etmek için rasgele değerler girdim ve burada model arka tarafta tüm preprocess adımlarını (standartlaştırma) gelen ham veriye uygulayarak bir tahminde bulundu.

Bu aşamaya kadar yazıyı takip ettiyseniz teşekkür ederim. Bence Azure ML Studio arayüz ve kullanım olarak gayet rahat ve anlaşılır. Bu projede dataya uygulamadığım birçok işlem var (Aykırı değer tespiti, hiperparametre ayarlama, kayıp gözlem işlemleri vs.) ancak genel hatlarıyla en sade olacak şekilde bir proje yapmaya çalıştım. Kişisel kanaatim Colab, Jupyter gibi çalışma ortamları ‘kodlamalı’ olsa da bana kendimi daha iyi hissettirdi ama Azure ile bazı preprocess işlemlerini gerçekleştirip temiz datayı istediğimiz çalışma ortamında kullanmak güzel fikir olabilir.

Herkese İyi Çalışmalar :)

Diğer Yazılarımı Okumak İsterseniz;

--

--