Azure Machine Learning Studio ile Machine Learning’e Giriş Bölüm 2 – Supervised&Unsupervised Learning, Regression, Classification, Clustering
Selamlar,
Bir önceki yazımda temel olarak Machine Learning in ne olduğundan bahsetmiştik. Bu yazımızda biraz daha teknik detaylara girelim, kavramlara iyice aşina olduktan sonra da direk Azure tarafına geçip, bir Machine Learnin Projesi yapalım.
Şöyle bir hatırlayalım bir Machine Learning Process i şu şekilde idi;
Bir yada birden çok kaynaktan dataları alıp, bunları üzerinde ML algoritmalarını koşacağımız istediğimiz hazırlanmış data haline getirmek, sonrasında üzerinde farklı ML algoritmaları koşup belli aday Modeller çıkarmak, sonrasında bu modellerden birini seçip deploy edip, yeni datalarımızı bu model ile kıyaslamak. Burada görebileceğiniz gibi hem dataları ham halinden alıp istediğimiz hale getirme kısmı, hem de ML algoritmalarının data üzerinde çalışıtırılıp aday modeller çıkarma kısmı hep birbirini tekrar eden süreçler. Önceki yazımızda da dediğimiz gibi tüm bu sürecin kendisi de aslında tamamına bakıldığında aşağıdaki gibi kendini tekrar eden bir süreç
Bir ML projesi düşünürken, ve başlamaya karar vermeden önce karar verilmesi ve emin olunması gereken 3 temel şey vardır. Bunlar olmadan bir ML projesinin başarı ile tamamlanması çok olanaklı değildir.
Bunlar;
- Doğru soruyu sormak. Yani ML projesi sonucunda elde etmek istediğiniz şeyi bilmek
- Bir sonraki ay satış tahmini
- Olası riskli satışları bulma
- Yapılması gerken kampanya bölgeleri tespiti vs vs…
- Bu sorduğunuz sorunun cevabını bulabileceğiniz data elinizde mi? Eğer elinizdeki hiçbir kaynakta bu data yoksa, yani kalkıpta bir karadeliğin maddeyi Event-Horizon dan sonraki bölümde soktuğu formu simüle etmek istemeniz gibi durumlar var ise, muhtemelen yanlış soruyu soruyorsunuzdur.
- ML projesinin başarısının ölçülmesi için, başarı oranını belirlemek. Yapacağınız ML projesinde “%85+” oranda sonuçlar benim için başarılıdır ve model olarak kullanılabilir diyemiyorsanız projenin de biteceğinden şüpheniz olabilir.
Terminoloji
- Training Data: Elinizdeki ham dataları model oluşturmak için üzerinde ML algoritmaları çalıştıracağınız hale getirmek için yaptığınız çalışmaya verilen isim aslında. Yukarıdaki resimler ilk kendini tekrar eden ve bir ML projesinin süresinin %70 ini hatta daha bile fazlasını harcayacağınız kısım.
- Supervised Learning: Tahmin etmeye çalıştığınız değer, zaten Training data nızın içerisinde mevuct ise bu şekildeki ML projeleri Supervised Learning şeklinde sınıflandırılır, ve algoritmalar da buna göre seçilir.
- Örneğin elinizde birçok özelliğe sahip aracın ve bunların fiyatlarının olduğunu düşünün. Farklı bir araba sisteme girmeye kalktığında fiyatını tahmin etmek için önceki araçların özellik ve fiyatlarından faydalanabilirsiniz. Burada tahmin etmeye çalıştığınız şey yani Fiyat zaten training datanı içerisinde mevcut.
- Unsupervised Learning: Supervised ın tersi şeklinde tahmin etmeye çalıştığınız değer, elinizdeki dataların içerisinde olmama durumu. Örneğin web siteniz yada mobil uygulamanızın kullanıcılarını bir şekilde gruplamak sınıflamak istiyorsunuz. Ama neye göre yapacağınızı bile bilmiyorsunuz, bu ve benzeri durumlarda işlenen ML proje tipleri Unsupervised grubua ayrılır ve yine buna göre algoritmalar data üzerinde çalıştırılmak için seçilir
Supervised Learning
Burada gördüğünüz gibi hedef değeriniz zaten data setiniz içerisinde. Fetaures yada columns şeklinde farklı isimlerde duyabilirsiniz data setinizdeki her bir satırdaki farklı değerleri için kullanılan ismi. Geriye kalan process daha önce gösterdiğim gibi aynı şekilde işliyor.
Machine Learning problemleri 3 temel kategoride işleniyor.
Bunlar;
- Regression
- Classification
- Clustering
Bunu bilmekte fayda var çünkü soruyu sorduğumzu andan itibaren Azure tarafına geçtimizde ekrana neler sürükleyip bırakabileceğimz konusunda bize çok filtre sağlayacak 🙂
Regression: Supervised Learnin sınıfı içerisinde;
Örnek soru; Bu üründen önümüzdeki ay kaç adet satarım?
Classification: Bu da bir supervised learning problemi.
örnek soru; bu kredi kartı işlemi hileli mi?
iki den fazla sınıfa da ayırabiliriz tabii ki, sorduğumuz soruya bağlı bir durum bu.
Clustering: Bu bir unsupervised learning problemi. Amaç dataları segmentlere ayırabilmek
örnek soru; müşterilerimizin segmentleri neler olabilir?
Bu kadar temel seviyede Machine Learning bilgisi bile Azure tarafında bir ML projesi geliştirmemiz için yeterli olucaktır. Bir sonraki yazımızda bu iki yazıdan öğrendiklerimizi Azure Machine Learning Studio üzerinde uygulayalım.
Bir sonraki yazımda görüşmek üzere.