bitık MOBİL TİCARET UYGULAMASI ABDULLAH ÇİÇEKCİ - 150110046
İÇERİK Uygulama ve uygulamaya ilişkin temel kavramların tanıtımı Uygulamanın yapısı Ön yüz Veritabanı Web Servisler K-Means Algoritması ile kategori önerisi ve sonuçları J48 Algoritması ile kategori önerisi ve sonuçları Sonuç Uygulama Demosu
E-TİCARET VE MOBİL TİCARET Ticaretin elektronik ortamda yapılan versiyonu Mobil ticaret, e-ticaretin alt dalı Mobil cihazlar büyük bir hızla yayılmakta, mobil ticaretin ağırlığı artmakta Sürekli gelişen ilgi çekici bir alan
ÖNERİ SİSTEMLERİ Kullanıcıların ilgilenebilecekleri ürün veya her hangi bir nesneyi(film, müzik..) bulan ve öneren sistemlerdir. Genelde, çeşitli makina öğrenmesi algoritmaları kullanılır. amazon, ebay, gittigidiyor vs. Kullanıcı tabanlı, ürün tabanlı ve hibrit sistemler
bitık bitık ios tabanlı bir mobil ticaret uygulamasıdır. Kullanıcılara her gün, tek bir ürün önerisi yaparak, kolayca satın alma imkanı sunar. Kullanıcıların; yaş, cinsiyet, meslek, evlilik durumu ve yaşadığı şehir bilgilerini kullanarak, kullanıcılara 7 farklı kategoriden birini, kümeleme veya sınıflandırma algoritmalarını kullanarak kullanıcı tabanlı bir öneri sistemi ile önerir. Uygulama 3 ana başlık altında incelenecektir ; ön yüz, veri tabanı ve servisler.
1-ÖN YÜZ ios için Iphone 6 standartlarına göre hazırlanmıştır. Olabildiğince sade bir tasarım hazırlanmıştır.
1-ÖN YÜZ
1-ÖN YÜZ
2 - VERİTABANI customer, product, ordert en temel tablolar. product tablosundaki rating sütunu ürünlerin önceliğini belirlemek için kullanılmıştır. categoryrecom tablosu, öneri servislerinden gelen, kullanıcıya uygun kategorileri tutar. Bu kategorilerin kullanıcıya kaç kere gösterildiği count sütununda saklanır. productrecom tablosu kullanıcılara önerilen ürünleri tutar. Bu ürünlerin kullanıcıya kaç kere gösterildiği count sütununda saklanır.
3 - WEB SERVİSLER Uygulamadaki web servisler iki alt başlık altında incelenecektir : Veritabanı Servisleri Öneri Servisleri
3.A. VERİTABANI SERVİSLERİ Veritabanı işlemlerini düzenleyen servislerdir. Klasik CRUD işlemleri bu servisler aracılığıyla halledilir. Veritabanına erişim sadece bu servislerde mevcut. Category, Customer, Order, Payment ve Product tabloları için ayrı ayrı servisler mevcut.
3.B. ÖNERİ SERVİSLERİ 2 tane öneri sistemi mevcut; J48 algoritmasını kullanan ve K-Means Algoritmasını kullanan. Makina öğrenmesi algoritmaları(k-means ve J48) için WEKA kütüphanesi kullanılmıştır. HTTP routing için RestEasy kullanılmıştır. Öneri sistemi için veri kümesi yapay olarak oluşturulmuştur. 999 tane yapay veri kullanılmıştır.
VERİ KÜMESİ DAĞILIMI Kullanıcı yaş dağılımı Kullanıcı şehir dağılımı
VERİ KÜMESİ DAĞILIMI Kullanıcı cinsiyet dağılımı Kullanıcı evlilik durumu dağılımı Kullanıcı meslek dağılımı
K-MEANS ALGORİTMASI Denetimsiz(Unsupervised) kümeleme algoritmasıdır. Küme sayısı(k) belirlenir. Uygulamada küme sayısını belirlemek için baş parmak kuralı(rule of thumb) kullanılmıştır. Baş parmak yöntemi :
K-MEANS ALGORİTMASI İLE KATEGORİ ÖNERİSİ Yapay veri kümesi kullanılarak, kümeler oluşturulur. Öneri yapılacak kullanıcının profil bilgileri (yaş, cinsiyet, şehir, evlilik durumu ve meslek bilgisi) K-Means servisine gönderilir. Gelen bilgilerle bir Weka Instance objesi oluşturulur. Bu örnek, Weka nın SimpleKMeans sınıfının clusterinstance() metotu ile kümelenir. Örnek hangi kümeye girdiyse, kümenin merkezindeki örnek seçilir ve bu merkez örneğin beğenileri seçilir. JSON formatında 7 kategori için, true ve false değerine sahip olacak şekilde cevap oluşturulur.
K-MEANS SONUÇLARI Kümeleme algoritması, denetimsiz(unsupervised) olduğu için, başarısı küme sayısı(k) nın optimum değerinin bulunmasıyla ilişkilidir. k = 22, başparmak yöntemine göre optimum küme sayısıdır. k = 22 den sonra toplam karesel hatanın azalma hızı düşmektedir.
J48 ALGORİTMASI Denetimli(Supervised), sınıflandırma algoritmasıdır. Shannon entropisi kullanılarak ikili (binary) karar ağacı oluşturur. Shannon entropisi, hangi düğümün daha fazla bilgi taşıdığını hesaplamak için kullanılır.
J48 ALGORİTMASI İLE KATEGORİ ÖNERİSİ Uygulamada her kategori için, yapay olarak oluşturulan verilerle ayrı ayrı karar ağaçları oluşturulur. ( 7 farklı kategori için 7 farklı karar ağacı) Eğer karar ağaçları daha önce oluşturulduysa, model dosyaları açılır. Öneri yapılacak kullanıcının profil bilgileri (yaş, cinsiyet, şehir, evlilik durumu ve meslek bilgisi) J48 servisine gönderilir. Gelen bilgilerle bir Weka Instance objesi oluşturulur. Bu örnek, her kategorinin ağacında işleme sokulur. Örnek, her kategori için true ve false yaprağından birine ulaşır. JSON formatında 7 kategori için, true ve false değerine sahip olacak şekilde cevap oluşturulur.
J48 SONUÇLARI Çapraz değerlendirme(cross Validation) metotu kullanılmıştır.
SONUÇ ios tabanlı bir mobil ticaret uygulaması hazırlanmıştır. Çok platformlu olması için web servisler hazırlanmıştır. WEKA Makine öğrenmesi kütüphanesi kullanılarak öneri sistemi hazırlanmıştır. Makul sonuçlar elde edilmiştir.
SON Beni dinlediğiniz için teşekkür ederim.