SİMPLE LİNEER REGRESYON İLE KAHVE-ODAK SÜRESİ TAHMİNİ

Giriş    

   Projemde streamlit kütüphanesi kullanarak verileri basit bir konsol üzerinde değil, bunun yerine kendine ait local pc de çalışan bir websitesi ile görselleştirdim. Dolayısıyla bu proje yapacağım diğer projelerde bana verileri daha iyi bir ortamda görselleştirme deneyimi kazandırdı. Bu modelin doğruluğunu Mean Squared Error(MSE) ve R2 ile ölçtüm ve değerler MSE için 0.02, R2 için ise 0.99 oldu ve bu sayede modelimin veriler arasındaki patternları iyi kavrayarak anlamlı sonuçlar verebildiğini gösterdi.

Duyuru: Makine öğrenmesinin perde arkasını, karmaşık tanımlardan uzak, kendi ders notlarım ve günlük hayattan kurduğum metaforlarla anlatacağım bir yazı dizisi geliyor! Teknik detayları herkesin anlayabileceği bir dille sadeleştireceğiz.

Şimdi bu projeyi nasıl yaptığımı sizinle paylaşacağım.

Kütüphane Seçimi 

   İşe önce bu projemizde kullanacağımız kütüphaneleri import ederek başlayacağız. Bu projede:
-Streamlit: Web tabanlı veri görselleştirme işlemi için kullanıldı.
-Numpy: Modelin gerekli hesaplamayı yapabilmesini kolaylaştırmak için kullanıldı.
-Scikit-Learn: Modelin veriler arasındaki bağlantıyı anlayabilmesi için kullanıldı.
-Matplotlib: Veriyi grafiğe dökebilmek için kullanıldı.



Web sayfasının başlığını oluşturalım


Dataseti tanımlamak

     Verisetini manuel olarak yazdım. Gördüğünüz gibi dataseti fonksiyonun içine yazdım X ve Y olarak tanımladım X burada bizim bağımısız değişkenimiz. Y ise X'e bağlı olarak değişen sonuç değerlerdir. Son olarak return atayarak model eğitimi için gerekli olan köprüyü kuruyoruz. 

Model Seçimi

   Bu projede simple lineer regresyon kullanmamızdaki amaç, Modelimizde tek bir X değişkeni var. Yani tek bir değişkene bağlı olarak değişen sonuçlar var. Bu da bize neden lineer regresyon kullanmamız gerektiğini kanıtlıyor.

Veri Girişi

   Kullanıcıdan aldığımız değeri coffee_input ile değişkene kaydediyoruz. Ben burada keyfime bağlı olarak streamlit'in kütüphanesinden kullanıcı veri girişi yaptığı alanı slider olarak ayarladım. Sonrasında numpy kütüphanesinin bunu matris şeklinde işleyebilmesi için bir liste içine alıyoruz. Çünkü Scikit-learn, tahmin yaparken her zaman bir 'tablo' (2D Array) yapısı bekler. Tek bir değer girsek bile onu tek satırlık bir tabloya dönüştürüyoruz. Bu listeye input_array adını verdikten sonra modelin tahmini bu liste üzerinden yapabilmesi için model.predict() içine yerleştiriyoruz

Model tahmini ve istatistiği

    Tahmini subheader şeklinde gösteriyoruz. Modelin istatistiğini alt tarafta MSE ve R2 ile ölçeklendiriyoruz. Modelin doğruluk oranına daha önce değinmiştik.
   


Verilerin Görselleştirilmesi

    ilk olarak figür oluşturarak başlıyoruz. Figürü bizim tuvalimiz olarak görmek yanlış olmaz. Ax ise bizim grafiğimizdir tuvalimizin içine grafiğimizi yerleştiriyoruz. Devamında bizim verilerimizin x ve y ekseninde kesiştiği yerleri mavi noktalar ile belirliyoruz. Model doğrumuzu burada X'teki patternlar üzerinden elde ediyoruz ve bu çizgiyi kırmızı ile ifade ediyoruz. Ardından kullanıcının input bilgisini de grafikte yeşil bir renkle gösteriyoruz. Bu sayede kullanıcı, kendi durumunun genel trend (kırmızı çizgi) üzerinde nerede durduğunu anlık olarak görüyor. Son olarak X eksenine "kahve sayımızı" Y eksenine ise "odak süresi" yazarak bitiriyoruz.


Final




Yorumlar

Popüler Yayınlar