=Paper= {{Paper |id=Vol-2045/Bilisim_paper_13 |storemode=property |title= Büyük Veri Analizinde Veri Madenciligi Araclarinin Performansi (Performance of Data Mining Tools in Large Data Analysis) |pdfUrl=https://ceur-ws.org/Vol-2045/12_Bilisim_2017_paper_13.pdf |volume=Vol-2045 |authors=Gamze Ozcelik,Alp Kut }} == Büyük Veri Analizinde Veri Madenciligi Araclarinin Performansi (Performance of Data Mining Tools in Large Data Analysis)== https://ceur-ws.org/Vol-2045/12_Bilisim_2017_paper_13.pdf
                                   Büyük Veri Analizinde
               Veri Madenciliği Araçlarının Performansı
              Gamze Özçelik                                                   Prof. Alp Kut
          Dokuz Eylül Üniversitesi                                       Dokuz Eylül Üniversitesi
          Bilgisayar Mühendisliği                                        Bilgisayar Mühendisliği
               İzmir/Türkiye                                                  İzmir/Türkiye
       gamze.ozcelik@ceng.deu.edu.tr                                     alp.kut@ceng.deu.edu.tr
ÖZET                                                         compared. The produced results are interpreted and
Günümüzde veri artışına bağlı olarak müşteri ilişki          information sets are obtained which can be used by the
yönetimi, envanter yönetimi veya promosyonların              store. At the same time, it was possible to compare
belirlenmesi zorlaşmıştır. Bununla birlikte her alanda       clearly the performances of Weka and Spark..
olduğu gibi giyim sektöründe de karar destek
sistemlerine olan ihtiyaç artmıştır. Çalışmamızda Spark      Keywords
ve Weka araçları kullanılarak giyim sektörüne ait veri       Data Mining; Apache Spark; Weka; Fp-Growth; K-
seti analiz edilmiş, sonuçlar değerlendirilerek hata oranı   Means
en az olacak şekilde karar destek sistemi
oluşturulmuştur. Geliştirilen karar destek sistemi
kapsamında mağazanın müşteri profilleri ve birlikte
                                                             GİRİŞ
satılan ürünler belirlenmiştir. Müşteri profilleri
                                                             Günümüzde bilişim sistemlerinin hayatın hemen hemen
belirlenirken K-Means algoritması, birlikte satılan
                                                             her alanında aktif bir rol oynuyor olması ile birlikte veri
ürünlerin belirlenmesinde FP-Growth algoritması
                                                             boyutlarında ciddi artışlar meydana gelmiştir. Veri
kullanılmıştır. Fp-Growth ve K-Means algoritmaları aynı
                                                             boyutundaki bu büyük artışla birlikte veri madenciliği de
veri seti üzerinde her iki veri madenciliği aracında da
                                                             doğal olarak gelişim göstermiş ve hala gelişmeye devam
çalıştırılmış ve üretilen sonuçlar karşılaştırılmıştır.
                                                             etmektedir. Google, Facebook, Twitter, LinkedIn gibi
Üretilen      sonuçlar      yorumlanarak       mağazanın
                                                             popüler ticari şirketlerin ve kamusal güvenlik ile ilgili
yararlanabileceği bilgi setleri elde edilmiştir. Aynı
                                                             kurumların ciddi yatırımlar yapmalarıyla bu alana ilgi
zamanda yapılan çalışma, Weka ve Spark’ın çalışma
                                                             daha da artmıştır. [1], [2], [3]
performanslarının net bir şekilde incelenmesini mümkün
kılmıştır.                                                   Veri madenciliği, büyük veri sistemlerinde gizli
                                                             örüntülerin elde edilebilmesi amacıyla kullanılan
Anahtar Kelimeler                                            istatistiksel ve matematiksel yöntemler bütünüdür. Bu
Veri Madenciliği; Apache Spark; Weka; Fp-Growth; K-          yöntemler karar verme sürecinde oldukça etkili rol
Means                                                        oynamaktadırlar. [1], [2], [3]
                                                             Bu çalışmanın ana hedefi veri madenciliği aşamasında
                                                             kullanılan iki farklı aracın farklı algoritmalar üzerinde
ABSTRACT
                                                             performans ve doğruluk analizini yapmaktır. Elde edilen
Today, depending on the data growth, it has become
                                                             analiz sonuçları doğrultusunda giyim sektörüne yönelik
difficult to determine customer relationship management,
                                                             karar destek sistemi elde edilecektir.
inventory management or promotions. However, there is
a growing need for decision support systems in the           Çalışma sırasında kullanılan veri seti, giyim sektörüne ait
clothing sector as well as in all areas. In our study, the   alışveriş hareketlerini kapsamaktadır. Müşterilerin satın
data set of the clothing sector was analyzed by using        aldıkları ürünler baz alınarak, müşteri verileri üzerinde
Spark and Weka tools and a decision support system was       kümeleme ve birliktelik analizi yapılmıştır. Birliktelik
established to evaluate the results and to minimize the      analizi yapılarak mağazada birlikte satılan ürünlerin
error rate. Within the scope of the decision support         belirlenmesi hedeflenirken kümeleme operasyonu ile
system developed, the customer profiles of the store and     müşteri profillerini elde etmek temel hedef haline
the products sold together were determined. The K-           gelmiştir.
Means algorithm was used to determine the customer
                                                             Çalışmada Spark ve Weka araçlarının ürettiği sonuçlar
profiles while the FP-Growth algorithm was used to
                                                             değerlendirilmiştir. Değerlendirme sonucunda, mağazaya
identify the products sold together. The Fp-Growth and
                                                             yönelik ürün öneri sistemi ve müşteri profilleri
K-Means algorithms were run on both data mining tools
                                                             sunulmaktadır.
on the same dataset and the results produced were
                                                              - Değerlendirme: Excel

İLGİLİ ÇALIŞMALAR
                                                                  2.   Veri seti
Büyük veri analizinde;                                        Kullanmış olduğumuz veri seti giyim sektörüne ait ERP
    -    Spark’ın kullanıldığı,                               sisteminden temin edilmiştir. Geliştirilecek karar destek
                                                              sistemi çerçevesinde kullanılabilecek müşteri, satış ve
    -    Farklı    veri     madenciliği         araçlarının   ürün bilgilerini belirlenmesi ve 01-04-2016 - 09-02-2017
         performanslarının karşılaştırıldığı,                 tarih aralığına ait verilerin sistemimize aktarımı
    -    Aynı veri madenciliği aracı üzerinde farklı          sağlanmıştır. Toplamda 4.275.910 satış hareketi,
         algoritmaların             performanslarının         3.119.918 müşteri ve 462.856 ürün üzerinde çalışma
         karşılaştırıldığı                                    gerçekleştirilmiştir. Verilerin temizlenmesi aşamasında
                                                              bazı müşteri ve satış hareketleri algoritmanın çalışma
çok sayıda çalışma olmasına rağmen Spark’ın diğer veri        mantığı göz önünde bulundurularak veri madenciliği
madenciliği araçlarından daha iyi performans ile              sürecine dahil edilmemiştir.
çalıştığını,    sonuçlarla    sergileyen   bir   çalışma
bulunamamıştır.       Hazırlanan çalışmanın sonuçları,
sadece veri madenciliği araçlarının performanslarını              3.   Çalışma Adımları
karşılaştırmak için değil, mağaza öneri sisteminin en iyi     Veri madenciliği sürecine ait adımları aşağıdaki resimde
şekilde geliştirilmesini sağlamaktadır.                       görmek mümkündür. Kulladığımız veri seti üzerindeki
                                                              bilgi keşfi süreci, şekilde yer alan başlıklar altında
İncelenen makalelerden birinde, hamile kadınların düşük       anlatılmştır.
yapma durumlarını önceden belirleyebilmek ve mobil
cihaz üzerinden bilgilendirme yapmak hedeflenmiştir.
Kullanılan veri seti mobil cihazlar üzerinden toplanmış,
Spark aracı üzerinde K-Means algoritması çalıştırılarak
hamile kadınlar üç ayrı kümeye ayrılmıştır. Düşük
yapma riski taşıyan kadınlar kategorisinde yer alan
bayanların önceden bilgilendirilmeleri sağlanmıştır.[4]
İncelenen bir diğer makalede birliktelik analizi
algoritmalarından Eclat algoritması Spark üzerinde dört
ayrı veri seti üzerinde çalıştırılmış ve farklı minimum
destek sürelerinde hız değerlendirmesi yapılmıştır.[5]                     Şekil 1 Veri Madenciliği Süreci
İncelenen bir diğer çalışmada ise iris veri seti
kullanılarak RapidMiner, Orange ve Weka araçları
üzerinde Naive Bayes algoritması çalıştırılmıştır. Üç         3.1 Veri Hazırlama
farklı veri madenciliği aracının ürettiği sonuçların          Veri temizleme operasyonu; eksik, gürültülü ve tutarsız
doğruluk oranları karşılaştırılmıştır. Çalışma sonucunda      olan verileri iyileştirmeyi amaçlamaktadır.[1] Veri
Weka aracının ürettiği sonuçların hata oranının en düşük      madenciliği algoritmalarının çalıştırılabilmesi için veri
olduğu tespit edilmiştir.[6]                                  belli aşamalardan geçirilerek analize hazır hale
                                                              getirilmektedir. Verilerin temizlenmesi operasyonu
                                                              aşağıda belirtilen adımları içermektedir. [1], [2], [3]
WEKA / SPARK KULLANILARAK BÜYÜK VERİ                          -Veri seçimi: Yapılacak analizde ihtiyaç duyulacak
ANALİZİ                                                       verilerin belirlenmesi
Veri analizi, büyük çaplı veriler arasından bilgiye ulaşma
işlemidir. Ya da bir anlamda büyük veri yığınları             -Veri ön işleme: Eksik verilerin tamamlanması, aykırı ve
içerisinden gelecek ile ilgili tahminde bulunabilmemizi       gürültülü verilerin ayıklanması
sağlayabilecek       bağıntıların   bilgisayar     programı   -Veri dönüştürme: Veri formatlarının değiştirilmesi,
aracığıyla bulunmasıdır.[3] Veri analizinde kullanılan bu     kesikleştirilmesi ve normalize edilmesi
programlar ürettikleri sonuçlara göre performans
farklılıkları göstermektedir. Çalışmamızda aynı veri seti     Yapmış olduğumuz çalışmada ilk adım olarak, karar
üzerinde      hedefimize      uygun olan algoritmalar         destek sisteminde kullanılabilecek müşteri, ürün ve satış
çalıştırılmıştır. Elde edilen en ideal sonuç mağazaya ait     bilgileri belirlenmiştir. 01/04/2016 – 09/02/2017 tarih
ürün önerilerini ve müşteri etiketlerini belirlemiştir.       aralığına ait belirlenen alanların verileri sistemimize
                                                              aktarılmıştır.
    1.   Çalışma Ortamı
                                                              Veri temizleme aşamasında belirlenen zaman aralığında
Veri analiz sürecinde sürecinde bir çok araç
                                                              satış hareketi bulunmayan müşteriler analize dahil
kullanılmıştır.
                                                              edilmemiştir. Müşteri verileri incelendiğinde cinsiyet,
- Veri Temizleme: Visual Studio 2017, Mssql Server
                                                              yaş, medeni durumu, doğum yeri gibi alanlarda hatalı
- Veri Madenciliği: Apache Spark, Weka
bilgiler olduğu ve boş alanların çok sayıda olduğu tespit     Algoritma farklı en düşük destek değeri(Minimum
edilmiştir. Verilerin temizlenerek analize dahil edilmesi     support) ile çalıştırılmış ve anlamlı sayıda kural seti
doğruluk oranını olumsuz etkileyeceğinden müşteri             oluşturup oluşturmadığı incelenmiştir. 2133 ürün
kümelemesinin sadece aldığı            ürünler bazında        kategorisi içerisinden birlikte satılan ürünlerin
yapılmasının doğru olacağı düşünülmüştür. Bu                  belirlenmesi hedeflenmiştir.
kapsamda müşteriler mağazadan aldıkları ürün
hiyerarşisi kullanılarak küme etiketi atanmıştır.                 3.3 Sonuçların Değerlendirilmesi
Kümeleme işleminde 90 ürün kategorisi(Ceket, pantolon             -     Kmeans Algoritması Sonuçları
vs.) kullanılmıştır.
                                                              Spark ve Weka’da temizlenmiş veri seti üzerinde farklı
Birliktelik analizi operasyonu sadece satış hareketlerini     küme sayıları (2 ile 20 aralığında ) ile K-Mmeans
kapsamaktadır. Kullanılan satış hareketleri verisinde         algoritması çalıştırılmıştır. Algoritmanın çalışma süreleri
gürültülü alanların az olmasından dolayı karar destek         ve hata oranları göz önünde bulundurulduğunda paralel
sürecine satış verilerinin tamamı dahil edilmiştir.           yapıda çalışıyor olmasına rağmen Spark’ın daha uzun
Birliktelik analizinde ürün kodu bazında analiz               sürede çalıştığı ve hata oranının Weka’dan az olduğu
yapıldığında eşik değerini geçen birlikteliğin az olacağı     gözlemlenmiştir. Aynı algoritma olmasına rağmen
düşünülerek       ürün     ifadesi    “Cinsiyet-Renk-Ürün     kullanılan araçların analizi sonlandırma noktaları(tekrar
Kategorisi” olarak ifade edilmiştir. 2133 ürün tarzı          sayıları) ve bununla birlikte hata oranları farklılık
içerisinden birliktelik analizi yapılmıştır.                  göstermektedir. Yani bir diğer ifadeyle; Spark küme
                                                              dağılımını sabitleyerek analizi sonlandırdığı noktaya
Veri hazırlama aşamasının öncesi ve sonrasına ait veri        ulaşıncaya kadar çok daha fazla kez analizi
setlerinin özellikleri tabloda yer almaktadır.                tekrarlamaktadır. Bunun sonucu olarak da Spark’ın
                                                              çalışma süresi daha uzun olurken analiz sonucunun
                  Tablo 1 Veri Seti Özellikleri
                                                              doğruluğu artmaktadır. Her iki veri madenciliği
                           Veri seti          Temizlenmiş     aracınında sonuç üretme süresi saniye bazında
                                              Veri seti       olduğundan karar destek tarafından kullanılacak sonucun
                                                              hata oranı en düşük olan araç ve küme sayısı olarak
 Müşteri Sayısı            3.119.918          718.903
                                                              belirlenmesi anlamlı olacaktır. Sonuçları incelediğimizde
 Satış Hareketi Sayısı     4.275.910          4.275.910       müşterileri Spark tarafından küme sayısı 18 olarak
                                                              gerçekleştirilen analiz sonuçlarının kullanılmasının,
                                                              karar verme sürecine etkisinin daha olumlu olacağı
                                                              belirlenmiştir.
3.2 Veri Madenciliği
Veri madenciliği aşaması, veri madenciliği araçları
kullanarak temizlenmiş veri seti üzerinde algoritmaların
çalıştırılması ve model oluşturulmasını kapsamaktadır.
Çalışmamızda iki farklı veri madenciliği aracı
kullanılmıştır. Veri madenciliği araçlarının kullandığı
algoritmalar aynı olmalarına rağmen model oluşturma
aşamasını tekrarlama sayıları farklı olabilmektedir. Bu
kapsamda ürettikleri sonuçların doğruluk oranları da
farklılık göstermektedir. Hazırlanan sistemde iki farklı
aracın sonuçlarından en ideal olan         karar destek
sisteminin kurallarını oluşturmaktadır.
    -    K-Means Algoritması
                                                                      Şekil 2 K-Means Algoritması Çalışma Süresi
K-Means algoritması en yaygın kullanılan kümeleme
algoritmalarındandır. K değeri elimizde bulunan veri
setinin kaç kümeye ayrılacağını belirtmektedir.
Çalışmamızda birbiriyle benzerlik gösteren müşterilerin
aynı etiket ile ifade edilmesi K-Means algoritması
kullanılarak sağlanmıştır. Algoritma, müşterilerin
mağazada bulunan 90 ürün kategorisinden aldığı ve
almadığı ürünlere göre kümesini belirlemektedir.

     - Fp-Growth Algoritması
Birliktelik analizinde temel hedef büyük veri
yığınlarında sıklıkla tekrarlanan desenleri, ilişkileri
belirlemektir. Mağaza verilerinde birlikte satılan ürünleri
belirlerken FP-Growth algoritması kullanılmıştır.
                                                            değerler için kural seti bulunamamıştır. Elde edilen kural
                                                            setlerine bir kaç örnek Tablo 3 de gösterilmektedir.
                                                            Mağazanın bu sonuçlardan anlaması gereken; siyah
                                                            kemer alan bir erkeğe siyah çorap ve siyah ayakkabı
                                                            önermesi olmalıdır.

                                                                         Tablo 2 Birlikte Satılan Ürünler
                                                                1) Erkek Siyah Düz Takım Elbise, Erkek Beyaz
                                                                   Cvc Gömlek
                                                                2) Erkek Mavi Gömlek, Erkek Beyaz Gömlek

        Şekil 3 K-Means Algoritması Hata Oranı                  3) Erkek Lacivert Takım Elbise, Erkek Beyaz
                                                                   Gömlek
                                                                4) Erkek Siyah Gömlek, Erkek Beyaz Gömlek
Spark tarafından 18 ayrı kümeye ayrılan müşterilerinin
dağılımı grafik ile gösterilmiştir.                             5) Erkek Siyah Kemer, Erkek Siyah Çorap
                                                                6) Erkek Siyah Ayakkabı, Erkek Siyah Kemer


                                                            SONUÇ
                                                            Weka ve Spark araçları kullanılarak, müşteri satış
                                                            hareketleri analiz edilmiş ve sonuçlar yorumlanarak
                                                            mağaza sistemi için doğruluk oranı en yüksek karar
                                                            destek sistemi çalışmamız kapsamında geliştirilmiştir.
                                                            Weka ve Spark üzerinde iki farklı algoritmanın sonuçları
                                                            incelendiğinde; Spark üzerinde çalıştırılan K-Means
                                                            algoritmasının her küme sayısı için hata oranının
                                                            Weka’ya oranla daha düşük olduğu gözlemlenmiştir.
                                                            Birliktelik analizi aşamasında kullanılan Fp-Growtth
            Şekil 4 Müşteri Kümeleme Sonucu                 algoritmasını veri büyüklüğünden kaynaklı olarak
                                                            Weka’da çalıştırmak mümkün olmamasına karşın Spark
                                                            üzerinde kısa sürede sonuç üretilmiştir. Bu sonuçlar da
    -   Fp-Growth Algoritması Sonuçları                     bize büyük boyuttaki verilerin analizinin Spark ile
                                                            mümkün olduğu ve Spark ile üretilen sonuçların
Weka’da veri boyutunun büyüklüğünden dolayı FP-             doğruluk      oranlarının   daha      yüksek     olduğunu
Growth algoritması sonuç üretememiştir. Spark üzerinde      göstermiştir. Büyük veri setleri analiz edilirken Spark ile
çalıştırılan FP-Growth algoritmasına ait farklı minimum     analiz etmenin performans açısından olduğu gibi
destek değerlerinde algoritmanın çalışma süreleri tabloda   doğruluk oranı olarak da avantaj sağladığı belirlenmiştir.
yer almaktadır.


                                                            KAYNAKÇA


                                                            [1] “Veri Madenciliği” Url: http://www.sonsuz.us/veri-
                                                            madenciligi/
                                                            [2] “Veri Madenciliği”
                                                            http://mail.baskent.edu.tr/~20410964/DM_1.pdf
                                                            [3] “Veri Madenciliği”
                                                            https://burakisikli.wordpress.com/2009/02/15/v
                                                            eri-madenciligidata-mining-nedir-ve-nerelerde-
                                                            kullanilir-1/
            Şekil 5 Fp-Growth Çalışma Süresi
                                                            [4] “Real-time Miscarriage Prediction with SPARK”,
                                                            H.Asri & H. Mousannif & H. Moatassime, The 7th
Fp Growth algoritması kullanılarak 0,01 minimum             International Conference on Current and Future Trends
destek ile 111, 0,02 minimum destek ile 40 adet             of Information and Communication Technologies in
birliktelik kuralı elde edilmiştir. 0,05 ve daha büyük      Healthcare (2017)
[5] “An implementation of Eclat on spark”, W.Mohamed      ÖZGEÇMİŞLER
& M.Abdel-fattah & S. El-Gaber, International Journal
of Computer Science and Information Security (2017)
[6] “Analysis of Data Mining Tools for Disease            Gamze ÖZÇELİK
Prediction”, K. Ahmed P, Journal of Pharmaceutical        Dokuz       Eylül       Üniversite
Sciences and Research (2017)                              Bilgisayar           Mühendisliği
[7] “R-Apriori: An Efficient Apriori based Algorithm on   Bölümünde yüksek lisans eğitime
Spark”, S. Rathee & M. Kaul & A.Kashyap, Conference       devam etmektedir. Bir yazılım
on Information and Knowledge Management (2015)            firmasında          çalışmaktadır.
                                                          Araştırma     alanları    arasında
 [8] “Network Anomaly Detection by Cascading K-           Büyük Veri, Veri Madenciliği ve
Means Clustering and C4.5 Decision Tree algorithm”        Bulut Bilişim yer almaktadır.
A.Prabakar Muniyandi & R.Rajeswari & R.Rajaramca
International Conference on Communication Technology
and System Design (2012)                                  Prof. Alp KUT
[9] http://www.sonsuz.us/wp-                              Dokuz      Eylül      Üniversitesi
content/uploads/2017/05/veri-madenciligi-1-768x397.jpg    Bilgisayar        Mühendisliğinde
                                                          profesördür. 2003 sonbaharından
[10] ”Apache Spark ”                                      beri Bölüm Başkanı olarak görev
Url: https://spark.apache.org/docs/latest/index.html      yapmaktadır. Veri Madenciliği,
                                                          Veritabanı Yönetim Sistemleri ve
[11] “Integration of Spark framework in Supply Chain      Dağıtık      Sistemlerle     ilgili
Management”, H. Jaggi & S. Kadam, 7th International       çalışmaları bulunmaktadır. Web
Conference on Communication, Computing and                Tabanlı Sistemler ve Paralellik de
Virtualization (2016)                                     dahil   olmak      üzere   çeşitli
[12] ”Weka”                                               konularda       birçok     yayını
                                                          bulunmaktadır.
Url: https://www.cs.waikato.ac.nz/ml/weka/