=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)==
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/