top of page

Yeni Başlayanlar için Makine Öğrenimi Modelleri Nasıl Yapılır?

Giriş


Veri bilimi 21. Yüzyılın en gözde konularından biri, çünkü gerçekte işleyebileceğimizden çok daha yüksek katsayılarda veri üretiyoruz. Birçok ticari ve teknolojik işletme artık veri biliminin faydalarından yararlanarak temel avantajlarını artırıyor. Bu sebeple, veri bilimi şu sıralar gerçekten de patlıyor.


Bu yazıda, makine öğrenimi dünyasının derinliklerine dalacağız. Makine öğreniminin temellerinde bir gezintiye çıkacak, bir makine öğrenimi modeli kurmanın sürecine bakacağız. Aynı zamanda anlama sürecini kolaylaştırmak adına python’da rastgele orman (random forest) modeli oluşturacağız.


Makine Öğrenimi Nedir?


Makine öğrenimi, bilgisayarların insanlar gibi öğrenmesini ve davranmasını sağlayan, onları gözlem ve gerçek dünya etkileşimleri formundaki veriyle ve bilgiyle besleyerek otonom bir şekilde zaman içinde öğrenmelerini geliştiren bir bilimdir.


Birçok farklı tipte makine öğrenimi algoritması vardır, her gün binlercesi yayınlanır ve genelde ya öğrenme biçimlerine göre (gözetimli öğrenme, gözetimsiz öğreme, yarı-gözetimli öğrenme) ya da yapılarındaki veya işlevlerindeki benzerliklere göre (sınıflandırma, regresyon, karar ağacı, kümeleme, derin öğrenme vs.) gruplandırılırlar. Öğrenme biçiminden ya da işlevinden bağımsız olarak, tüm makine öğrenimi algoritması kombinasyonları şunları içerir:

  • Temsil (bir sınıflandırıcılar kümesi ya da bir bilgisayarın anladığı dil)

  • Değerlendirme (amaç/skor fonksiyonu olarak da bilinir)

  • Optimizasyon (arama yöntemi; genelde en yüksek skorlu sınıflandırıcı, örneğin; ikisi de kullanıma hazır ve özel yapım optimizasyon yöntemleri kullanılmış)


Makine Öğrenimi Modeli Oluşturma Adımları


İşte bir hastanenin hem hasta akıbetini hem de yatırım getirisini iyileştirmek için makine öğrenimini nasıl kullanabileceğinin adım adım örneği:


1.Proje Hedeflerini Tanımla

Yaşam döngüsünün ilk adımı işlemleri somut bir şekilde geliştirecek, müşteri memnuniyetini artıracak ya da başka şekilde bir değer yaratacak bir fırsatı tanımlamak. Tıp endüstrisinde, taburcu edilen hastalar bazen hastaneye dönmelerini gerektirecek durumlarla karşılaşabiliyorlar. Hasta için tehlikeli ve uğraştırıcı olmasının yanı sıra, bu yeniden yatışlar hastanenin de hastaları ikinci kez tedavi ederken fazladan zaman ve kaynak harcayacağı anlamına geliyor.


2. Veriyi Edin ve Keşfet

Bir sonraki adım, makine öğreniminde kullanılacak tüm ilgili veriyi toplamak ve hazırlamak. Yani, tıp alanı uzmanlarına danışıp yeniden yatış oranlarını tahmin etmede hangi verilerin işe yarayacağını öğrenmek, geçmiş hasta kayıtlarından verileri toplamak ve bunu analize uygun bir formata dönüştürmek, büyük ihtimalle .csv gibi bir düz dosya formatı gerekecek.


3. Veriyi Modelle

Makine öğrenimi yoluyla elindeki verilerden bir fikir edinebilmek için hedef değişkenine karar vermelisin, hakkında daha derin bir bilgiye vakıf olmaya çalıştığın etmene. Bu durumda, hastane “yeniden yatmış”ı seçecek ki o da veri toplama sırasında geçmiş veri kümelerine dahil edilmiş bir etiket. Sonra, geçmiş veri örnekleri üzerinden öğrenen modeller inşa eden veri kümeleri üzerinde makine öğrenimi algoritmalarını çalıştıracaklar. Son olarak, hastane, yeni hastaların yeniden yatıp yatmayacağını öngörmek için eğitilmemiş veriler üzerinde eğitimli modelleri çalıştırır ve daha iyi hasta bakımı kararları vermesini sağlar.


4. Yorumla ve Anlat

Makine öğrenimi projelerinin en zor görevlerinden biri, bir modelin sonuçlarını herhangi bir veri bilimi geçmişi olmayanlara açıklayabilmektir, özellikle de sağlık hizmetleri gibi çok kurallı endüstrilerde. Geleneksel olarak, makine öğrenimi bir “kara kutu” olarak görülür çünkü taraflara ve düzenleyici makamlara ondan edinilen fikirleri yorumlamak ve değerini anlatabilmek çok zordur. Modeliniz ne kadar yorumlanabilir olursa, düzenleyici gereklilikleri karşılamak ve değerini yönetime ve diğer paydaşlara açıklamak da o kadar kolay olacaktır.


5. Uygula, Belgele ve Sürdür

Son adım ise veri bilimi projesini uygulamak, belgelemek ve sürdürmek ki hastane de modellerini geliştirmeye devam edebilsin. Model dağıtımı sıklıkla problem teşkil eder çünkü hem kodlama ve veri bilimi deneyimi gerektirir hem de geleneksel veri bilimi yöntemleri kullanılarak döngünün başından itibaren uygulamanın alacağı zaman yanına yaklaşılamayacak kadar uzundur.


Problem Tanımı


Bir araba üretimi şirketi olan X, spesifik bir araba modeli için müşterilerini hedef almak istiyor. Müşteriler yaşları, maaşları ve cinsiyetleriyle tanımlanıyorlar. Kurum, hangi müşterilerin yeni arabanın satışlarını etkileyeceğini ve gerçekten satın alacağını bilmek ya da öngörmek istiyor.


Burada, 0 ve 1 değerlerini tutan bir satın alım sütunumuz var. 0, o kişinin arabayı satın almadığını gösteriyor. 1 ise arabanın satıldığı anlamına geliyor.


Koda Geçirme


Gerekli Kütüphaneleri İçeri Aktarmak


İlk iş, bizim için model oluşturma kısımlarını kolaylaştıracak bütün gerekli kütüphaneleri içe aktarmanız lazım. Rastgele orman (random forest) algoritmasını oluşturmak için keras kullanıyoruz. Şemaları ve grafikleri çizip sonuçları görselleştirmek için matplotlib kütüphanesini kullanıyoruz. Son olarak, elimizdeki veriyi eğitim ve test aşaması olarak bölmemize yardımcı olması için sklearn modülünün fonksiyonlarını da içe aktarıyoruz.


Veri Kümesini Yüklemek


Bu adımda, veri kümenizi belleğe yüklemeniz lazım. Ondan sonra, sınıflandırıcımızın eğitimi için bağımlı ve bağımsız değişkenleri ayırıyoruz. Çoğu durumda sizin bağımlıları ayırmanız gerekir ve o da bağımsızları ayırır.


Eğitim ve Test Verisi Oluşturmak için Veri Kümesini Bölmek


Tüm durumlarda, verinizde bir takım bölme işlemleri yapmanız gerekecek. Verinizdeki büyük bir yığın eğitim kümesi olarak, daha küçük bir yığınsa test kümesi olarak kullanılacak. Eğitim ve test verisi oranları konusunda belirlenmiş net bir kriter yok. Ama çoğu insan büyük pay eğitim kümesi olmak üzere 70-30 ya da 75-25 oranlarını kullanıyor. Veriyi eğitim kümesinde eğitiyor ve test kümesinde test ediyoruz. Bu sürece doğrulama(validation) deniyor. Bu amacın arkasındaki esas fikir, modelin performansını daha önce görmediği veriler üzerinde ölçümlemek. Gerçek dünya senaryolarında model, değerleri görmediği veriler üzerinden tahmin edecek. Dahası, doğrulama gibi teknikler modeli fazla ya da yetersiz uyumlandırmaktan da kaçınmamızı sağlıyor.


Fazla uyum, modelin eğitildiği spesifik veriye dair her şeyi öğrendiği duruma deniyor. Eğitim verisinde gayet iyi çalışacak ama daha önce görmediği herhangi bir veri noktasında doğruluk hassasiyeti düşecek. Fazla uyum, modelinizin veriye fazla özelleşip, genelleşememesi gibi. Benzer şekilde, yetersiz uyum da modelinizin fazla genel olup spesifik durumlar için düzgün tahmin yapamadığı duruma deniyor. En iyi model doğruluğunu elde edebilmek için fazla uyumla yetersiz uyum arasında mükemmel bir denge yakalamanız lazım.


Veri Kümesi Değerlerini Standardize Etmek


Rastgele Ortman Sınıflandırması (Random Forest Classification) Uyarlamak


Bu durumda, modelimizi eğitim verisine uyarlıyoruz. Python’daki sklearn paketinin maruz kaldığı rastgele orman (random forest) paketini kullanıyoruz. Nihayetinde, modelimizin matematiksel katsayıları kullanarak aralarında dahili bir haritalama yaptığı bağımlı ve bağımsız özellikleri ayrı ayrı geçiriyoruz.


Sınıflandırıcıdan Sonuçların Tahmini


Bu kısımda, görmediği verileri modelimize yolluyoruz ki üzerlerinden tahmin yapsın. Modelimiz için doğruluk, kesinlik ve hatırlama gibi metrikleri çekmesi için bir hata matrisi kullanıyoruz. Bu metrikler modelin performansını anlamamıza yardım edecek.


Tahminleri Görselleştirmek


Ek olarak, aşağıdaki kodu kullanarak modelimizin tahminlerini görselleştirme denemesi yaptık.




Özet


Bu Makine Öğrenimi Başlangıcında makine öğreniminin temellerini çalıştık. Önceki makine öğrenimi, bilgisayarların spesifik görevleri gerçekleştirmeleri için programlanmadan da öğrenebileceği teorisiydi. Ama artık, yapay zekâ ile ilgilenen araştırmacılar bilgisayarların veriden öğrenip öğrenemeyeceğini görmek istiyorlar. Güvenilir kararlar ve sonuçlar üretmek için geçmiş hesaplamalardan öğreniyorlar. Bu yeni bir bilim değil —ama yepyeni bir moment kazanıyor.


Kaynak

341 görüntüleme0 yorum

Son Yazılar

Hepsini Gör

Makine öğrenimine başlarken, bu alanda sıklıkla kullanılan terimlerin ne anlama geldiğini ve nerelerde kullanıldığını bilmek oldukça önemlidir. Makine öğrenimi için en çok kullanılan 6 terimi sizin iç

bottom of page