Bu uygulamamızda Kivy ile geliştirdiğimiz mobil uygulamadan gelen verilerle eğitilmiş makine öğrenmesi modeline telefon fiyatı sınıfını tahminleme yaptıracağız.
GEREKLİ KÜTÜPHANELER
pandas==1.15.4kivy== 2.0.0scikit-Learn== 0.24pickle== 0.0.11
Modelin kullanacağı verileri Kaggle platformu üzerinden elde ettik. Elde ettiğimiz verilere göz atalım.
Tanımlayıcı İstatistiklere bakalım.
Veri setimizde eksik değer bulunmuyor. Aykırı değerlerden arındırılmış veri seti olduğu için daha fazla ön işleme yapmamıza gerek yok.
Şimdi sınıflayıcı modeli geliştirelim.
Sınıflama modelini karar ağacı algoritmasını kullanarak oluşturduk. Karar ağaçları derin katmanlara indiğinde ezberleme riski taşır fakat bu modelde ön tanımlı parametrelerini kullanarak ilerleyeceğimiz için bu risk söz konusu değildir.
Geliştirdiğimiz modelde hiper-parametre optimizasyonu yapmadık isterseniz siz yapabilirsiniz.
Geliştirdiğimiz model 0.94 Train Accuracy ve 0.81 Test Accuracy aldı. Şimdi sıra geliştirdiğimiz modeli kaydetmekte. Modeli kayıt ederken aşağıdaki kodları kullanacağız.
Model kaydedildi bir sonraki aşamaya geçelim.
Modelin tahminleme yapmasını sağlamak için uygulama üzerinden gelen verileri dataframe çevirmesi, modeli yeniden dağıtması ve düzenlemesi gerekmektedir. Bu bölümde yukarıda bahsedilen işlemleri yapan fonksiyonlar yazacağız.
2.1 Model Okuma
Eğitilmiş modeli kullanmak için aşağıdaki fonksiyonu yazıyoruz.
2.2 Gelen Verilerle Dataframe Oluşturma
Uygulama arayüzü ile gelen bilgileri pandas dataframe haline çevirmemiz gerekiyor.
2.3 Model Tahmini
Modelin dataframe haline gelmiş veriyi tahmin etmesi için yazdık.
İlk aşamada uygulama arayüzünü geliştirmemiz gerekiyor. Bunun için Kivy modülünden yardım alıyoruz. Bu modül çapraz platformlar için uygulama geliştirmede yardımcı oluyor.
Uygulamanın arayüzü tamamlandıktan sonra “Fiyatı tahmin et” butonuna basılınca gerçekleşecek işlemleri yazmalıyız. Fiyat tahmin sonucunu görmek için popup oluşturduk.
Basit arayüze sahip makine öğrenmesi modeli barındıran mobil uygulama geliştirdik. Kaynak kodlara aşağıdaki linkten ulaşabilirsiniz.