Azure Machine Learning Studio ile Machine Learning’e Giriş Bölüm 3 – Machine Learning Studio Üzerinde Proje Oluşturma
Selamlar,
Önceki iki yazımda temel olarak Machine Learning nedir bundan bahsettim. Bu yazımızda öğrendiklerimizi Azure Machine Learning Studio tarafında uygulamaya başlayalım. Önceki iki yazıyı okumadıysanız buradan başlamanızı tavisye ederim. Eğer temel seviyede Machine learning bilginiz var ise, doğrudan Azure üzerinde uygulama kısmı için bu yazıdan devam edebilirsiniz.
Detaya girmeden önce neye benzer birşey ile karşılaşacağımızı şöyle bir göstereyim.
Evet resimdeki gibi baya sürükle bırak işlemleri yaparak bir ML projesi oluşturup bunu publish edeceğiz 🙂
Önce örneğimizden bahsedelim. Bir araba listesi elimizde olacak. Birçok özelliği ve satış fiyatları bulunan bir datasetinin içerisinden yola çıkacağız. Soracağımız soru şu olacak.
Yeni gelen ve şu şu özelliklere sahip arabanın fiyatı ne olmalıdır.?
Belki de bu şekilde bir ilan sitemizde insanların girdiği araba ilanlarının fiyatlarının tutarlı olup olmadıklarını ölçeceğiz, belki onlara geri bildirimler de bulunup;
“senin arabanın özelliklere sahip arabalar genelde şu fiyat civarında satılıyor.Fiyatını güncelle daha kısa sürede aracını sat” diyeceğiz.
Bu örnek için ilgili dataset i ben https://archive.ics.uci.edu/ml/index.php adresinden aldım. Bu Kaliforniya Üniversitesinin, Irvine kampüsüne ait, tamamen ML projeleri denemeleri için oluşturulmuş datasetler i barındıran bir site. Data setler ile beraber, featureların açıklamaları, tahmin edilmek istenen şeyler gibi birçok temel ihtiyaç burada mevcut.
Bu örneğimiz için ben şu dataset i kullandım;
https://archive.ics.uci.edu/ml/datasets/automobile
datalardaki attribute-feature-column isimleri ve açıklamaları şöyle;
Attribute: Attribute Range:
—————— ———————————————–
1. symboling: -3, -2, -1, 0, 1, 2, 3.
2. normalized-losses: continuous from 65 to 256.
3. make: alfa-romero, audi, bmw, chevrolet, dodge, honda,
isuzu, jaguar, mazda, mercedes-benz, mercury,
mitsubishi, nissan, peugot, plymouth, porsche,
renault, saab, subaru, toyota, volkswagen, volvo
4. fuel-type: diesel, gas.
5. aspiration: std, turbo.
6. num-of-doors: four, two.
7. body-style: hardtop, wagon, sedan, hatchback, convertible.
8. drive-wheels: 4wd, fwd, rwd.
9. engine-location: front, rear.
10. wheel-base: continuous from 86.6 120.9.
11. length: continuous from 141.1 to 208.1.
12. width: continuous from 60.3 to 72.3.
13. height: continuous from 47.8 to 59.8.
14. curb-weight: continuous from 1488 to 4066.
15. engine-type: dohc, dohcv, l, ohc, ohcf, ohcv, rotor.
16. num-of-cylinders: eight, five, four, six, three, twelve, two.
17. engine-size: continuous from 61 to 326.
18. fuel-system: 1bbl, 2bbl, 4bbl, idi, mfi, mpfi, spdi, spfi.
19. bore: continuous from 2.54 to 3.94.
20. stroke: continuous from 2.07 to 4.17.
21. compression-ratio: continuous from 7 to 23.
22. horsepower: continuous from 48 to 288.
23. peak-rpm: continuous from 4150 to 6600.
24. city-mpg: continuous from 13 to 49.
25. highway-mpg: continuous from 16 to 54.
26. price: continuous from 5118 to 45400.
dataset i indirip bir editörde açtığınızda da şöyle bir csv data göreceksiniz.
verdiğim linkten data set ile alakalı daha detaylı bilgi alabilirsiniz.
Şimdi geçelim azure tarafına. Azure tarafın portal kısmına giriş yaptıktan sonra.
https://portal.azure.com/#home dashboard da arolan bir resource unuz üzerinden yada yeni bir resource oluşturarak işleme başlayabilirsiniz.
Eğer bir account unuz yoksa ücretsiz olarak bir azure account unu buradan hızlıca ve ücretsiz olarak açabilirsiniz.
Ben varolan bir resouce grubumun altına yeni bir Macine Learning Studyo workspace i açtım. Aşağıdaki resimde görebilirsiniz.
Sizde sol taraftaki ana menüden All Service e tıklayıp, service ler içerisinde AI + Machine Learning sekmesini seçerek yeni bir workspace oluşturun.
Oluşturmuş olduğunuz Azure Machine Learning Workspace e tıkladığınızda sağ tarafta gelen detayların alt kısmında aşağıdaki resimde görmüş olduğunuz gibi bir kaç yardımcı link görünecektir. Buradan Launch Machine Learning Studio yu tıklayarak yeni bir browser tabında yeni bir siteye yönlendirileceksiniz.
Oluşturmuş olduğunuz worksapce in region ına göre yönlendiğiniz site
https://europewest.studio.azureml.net/
benzeri bir site olacak. Burada yeniden login olmanız istenebilir. Azure account nuz ile login olduktan sonra karşınıza aşağıdaki gibi bir ekran gelmeli.
Burada sol tarafta birkaç menü var. Experiments kısmı daha önce oluşturmuş olduğunu ML projelerinizin listeleneceği kısım.
WebServices tabında ML projesini tamamlayıp bir web service olarak publish ettiğiniz taktirde önceden yayınladığınız web serviceleriniz gelecektir.
DataSets kısmıda daha önceden buraya deneme amaçlı upload ettiğiniz datasetlerinizin olduğu kısım. Bu tab a tıklayarak daha önce buraya attığınız datasetlerinizi görebilirsiniz.
Trained Model tabında ise tahmin edeceğiniz gibi daha önceden train ettiğiniz modeller listelenecek.
Experiments tabına geri gelelim. Karşımıza template seçebileceiğimiz yeni bir alt pencere açılacak. Burada varolan ML projelerini açıp inceleyebilir, kendiniz yeni bir boş experiment başlatabilirsiniz.
Boş bir experiment açtığımızda karşımıza aşağıdaki gibi bir ekran gelecek.
Bu noktadan itibaren artık sürükle bırak yönetmiyle ML projemize başlayabiliriz.
İlk olarak sol tarafta neler var hızlıca bir baktığımızda, önceki yazılarımızda bahsettiğimiz terimleri göreceğiz. Örneğin Machine Learning menüsünü genişlettiğinizde farklı ML problemi seçeneklerini görebilirsiniz.
Buradan da örneğin Regression sekmesini genişlettiğinizde bir regression problemi için, Azure Machine Learning studyonun size hali hazırda sunduğu algoritmaları görebilirsiniz.
Burada her bir adımı detaylıca anlatmak uzun süreceği için resimleri paylaşıp üzerinden anlatacağım. Ama adım adım gittiğimiz bir video da hazırlamak niyetindeyim. .Nt Conf 2018 Istanbul Etkinliğine gelenlerle beraber adım adım hazırlamıştık bunu. Aynı şekilde bir video çekeceğim.
Şimdilik ilk data preperation adımını yaptığımız kısımlara bakalım.
Sol taraftaki Saved Datasets menüsünün altında My Dataset daha önce azure ML studio ya atmış olduğum txt formatındaki data seti ekrana sürükleyip bırakıyorum. Sonrasında Sol menüde Data Transformation menüsünde bu txt dosyası üzerinde bazı düzenlemeler yapıyorum. En son data yı hem test hem de train etmek için 2 farklı data set e ayırıyorum. Bunlardan %70 lik ayırdığım kısmı model imi train etmek için, kalan %30 luk kısmı da train edilmiş modeli mi test etmek için kullanacağım.
Split Data kısmında sonraki kısım ise şu şekilde ilerliyor.
SOl tarataki ML menüsünden iki farklı algoritma sürükleyip bırakıyorum. ama bunu sırayla yapmakta fayda var.Çünkü genelde her bir sürükle bırak işleminden sonra aşağıdaki RUN butonuna basarak herbir sürüklenmiş item ın yanındaki yeşil tiki görmeniz gerekiyor.
Önce LineerRegression algoritmasını sürükleyip ekrana bıraktıktan sonra. Onun altın bir Trained Model sürüklüyorum. Bu trained model in sol üst tarafına algoritmayı, sağ üst taraına ise split data kısmının sol tarafından yani traine edilmek için ayırdığım data yı sürükleyip bırakıyorum. Bu model Train olduktan sonra bana sonuçları vermesi için ekrana bir Score Model bırakıyorum. Bu score modelin ın sol üst kısmına trained modeli mi, sağ üst kısmına ise split data item ının sağ alt köşesinden gelen test datamı sürükleyip bırakıyorum. Ve bu score model den gelen sonuçların analizini görmek için de son olarak ekrana bir adet Evaluate model bırakıyorum. Tüm işlemleri RUN diyerek çalıştırdıktan sonra Evaluate Model imin altındaki yuvarlağa tıklayıp Visuzalize diyerek çıktıları görebilirim.
Burada bu yazıyı bırakıp bir sonraki bölümde bu çıktıları yorumlama ve web service olarak bu train edilmiş modelimiz -i publish etmeye a bakalım.
Bir sonraki yazımda görüşmek üzere.