Büyük Veri İçeren Öneri Sistemleri İçin Hiperparametre Optimizasyonu Merve Pınar1 , Orhan Okumuş1 , Umut Orçun Turgut2 , Oya Kalıpsız1 , Mehmet S. Aktaş1 1 Bilgisayar Mühendisliği Bölümü, Elektrik-Elektronik Fakültesi Yıldız Teknik Üniversitesi, İstanbul 2 Ar-Ge Merkezi, Cybersoft, İstanbul merve.pinar@std.yildiz.edu.tr, orhan.okumus@std.yildiz.edu.tr, umut.turgut@cybersoft.com.tr, kalipsiz@yildiz.edu.tr, aktas@yildiz.edu.tr Özet. Finans sektöründe müşteriye doğru bir öneri sunmak en önemli noktalar- dan biridir. Öneri sistemlerinde yüksek başarımlı bir veri madenciliği uygula- ması gerçekleştirirken belirlenen temel algoritmaların her birinin birçok para- metre girdisi bulunmaktadır. Veri madenciliği alanında uzman bir kişi kullana- cağı veri kümesine göre bahsedilen parametre değerlerini rahatlıkla tanımlaya- bilmektedir. Bu çalışmada, veri madenciliği alanında daha deneyimsiz kişilere kolay bir şekilde uygun parametre değerlerinin sunulması ve bu parametre değerlerine göre sonuçların çıkartılması amaçlanmıştır. Geliştirilen yazılımda, büyük veri kümeleri üzerinde hızlı ve paralel işlem yapmaya olanak sağlayan Apache Spark’a ait MLlib kütüphanesindeki algoritmalardan yararlanılarak hiperparametre optimizasyonu iki farklı yaklaşımla uygulanmıştır. İlk yak- laşımda seçilen veri kümesi üzerinde uygulanmak istenen algoritma seçimini yapan kullanıcıdan parametreler için sınır değeri istenirken, ikinci yaklaşımda bu sınır değerlerine gerek kalmadan optimizasyon işlemi yapılmaktadır. Her iki yaklaşımda da denetimli ve denetimsiz öğrenme algoritmaları bankacılık alanında yer alan gerçek veri kümeleri üzerinde test edilmiş ve sonuçlar karşılaştırılmıştır. Anahtar Kelimeler: Hiperparametre Optimizasyonu, Veri Madenciliği, Dene- timli ve Denetimsiz Öğrenme Algoritmaları. 260 Hyperparameter Optimization for Recommendation Systems with Big Data Merve Pınar1 , Orhan Okumuş1 , Umut Orçun Turgut2 , Oya Kalıpsız1 , Mehmet S. Aktaş1 1 Computer Engineering Department, Electrical and Electronics Faculty Yıldız Technical University, İstanbul 2 R&D Center, Cybersoft, İstanbul merve.pinar@std.yildiz.edu.tr, orhan.okumus@std.yildiz.edu.tr, umut.turgut@cybersoft.com.tr, kalipsiz@yildiz.edu.tr, aktas@yildiz.edu.tr Abstract. One of the most important points in finance sector is to recommend the right products to the customer. Each of the basic algorithms determined when implementing a high performance data mining application in the recom- mendation systems has many parameters. An expert in the field of data mining can easily describe the parameter values according to the data set that will use. In this paper, it is aimed to present the appropriate parameter values of the more inexperienced users in the field of data mining and to draw a conclusion ac- cording to these parameter values. In the developed software, hyperparameter optimization has been implemented with two different approaches by using the algorithms in the Apache Spark MLlib library, which allows fast and parallel processing on large data sets. In the first approach, when the user chooses the algorithm to be applied on the selected data set, the boundaries are required for the parameters. In the second approach, the optimization process is performed without the necessity of these boundaries. In both approaches, supervised and unsupervised learning algorithms were tested on a real life banking data sets and the results were compared. Keywords: Hyperparameter Optimization, Data Mining, Supervised and Unsu- pervised Algorithms 261 1 Giriş Gelişen veri depolama kapasitesiyle birlikte bankaların veri tabanları zenginleşmiştir. Artan müşteri sayısı ve buna bağlı artan işlem kapasitesiyle müşteri ihtiyaçlarını hızlı ve doğru bir şekilde tespit ederek çözüm önerileri sunmak daha da zor bir hale gelmiştir. Bu sorunun çözümü için yenilikçi veri madenciliği uygulamaları ve tekni- klerine ihtiyaç duyulmaktadır. Makine öğrenmesi, eğitim verisini girdi alarak veri tabanlı tahminleri ve kararları gerçekleştirmek amacıyla model inşa etmeye odaklanmaktadır. Eğitim işleminden önce kullanılacak her bir denetimli veya denetimsiz öğrenme algoritmasının başlatıla- bilmesi için parametre değerlerine ihtiyaç duyulması makine öğrenmesinde yaygınlaşmış bir problemdir. Bu parametreler hiperparametre olarak adlandırılır ve oluşturulan model üzerinde çok etkili değişimlere sebep olabilirler. Hiperpara- metreler, verilen bir öğrenme algoritmasına ait öğrenme oranı, kernel parametreleri, ağ mimarisi gibi pek çok sonucu yapılandırmak için kullanılır. Model oluşturulurken başarı oranı yüksek sonuçlar alabilmek için hiperpara- metrelerin optimize edilmiş bir şekilde verilmesi gerekmektedir. Veri madenciliği alanında uzman bir kullanıcı uygun parametre değerini kolay bir şekilde hesaplaya- bilirken, uzmanlık gerektirmeyecek bir şekilde başka bir kullanıcı geliştirilen yazılım sayesinde uygun değerlerini öğrenebilecek ve bu değerlere göre işlemini gerçekleştirecektir. Bu çalışmada optimizasyon iki farklı yaklaşımla ele alınmaktadır. Birinci yaklaşımda kullanıcı çalıştıracağı algoritmanın seçimine ek olarak bu algorit- maya ait parametrelerin sınır değerleri de belirleyebilecek seviyede olmalıdır. İkinci yaklaşımda ise kullanıcı sadece veri kümesi ve algoritma seçimini yaparak sonuçları alabilmektedir. Yazılım gerçekleştirilirken, denetimli ve denetimsiz öğrenme için iki yönteme ait temel algoritmalar seçilmiştir. İşlem yapılacak veri kümesinin çalışacağı algoritmaya uygun olması kullanıcı tarafından beklenen uzmanlık seviyesine dahildir. Her bir algoritmanın kabul ettiği hiperparametre farklılığı ve bu parametrelerin sonsuz farklı değer alabilmesi problemin karmaşıklığını artırmaktadır. Bu geniş aralıklara kısıtlamalar getirerek model optimizasyonu kolaylaştırılmıştır. Bu yüzden, parametre değerleri altkümesini tarayan ızgara arama veya belirli sayıda deneme yapan Monte Carlo rastlantısal yaklaşım kullanıcının tercihine sunulmuştur. Sistemin oluşturulmasında Apache Spark MLlib kütüphanesinden[1] yararlanılmıştır. Öneri sisteminin finans sektörü dahilinde bir bankaya ait olması sebebiyle güvenliğin sağlanması adına karartılmış bankacılık verileri ile test edilmiştir ve değerlendirme kriterlerine göre sonuçlar karşılaştırılmıştır. Bu bildirinin yazım organizasyonu şu şekildedir; Bölüm 2’de; hiperparametre op- timizasyonu konusunda yapılan benzer çalışmalar anlatılacaktır. Bölüm 3’te; belir- lenen denetimli ve denetimsiz öğrenme algoritmalarının tanımlaması yapılacak ve bu algoritmalar üzerine optimizasyon işleminin nasıl gerçekleştirildiği açıklanacaktır. Bölüm 4’te; uygulama ve testler incelenecektir. Bölüm 5’te; başarılı bir şekilde son- lanan uygulamanın sonuçları incelenecek ve gelecek araştırmalar için tavsiyeler ele alınacaktır. 262 2 İlgili Çalışmalar Ürün öneri sistemlerinin gereksinimlerine göre belirlenen birçok model bulunur ve her modelin birçok parametresi bulunmaktadır. Belirli bir modelin parametrelerini optimize etmek için günümüzde TUPAQ [2], Auto-Weka [3], HyperOpt [5] gibi çeşitli yazılımlar mevcuttur. Bahsedilen yazılımlar kullanmış oldukları kütüphanelerle ağırlıklı olarak sınıflandırma algoritmaları üzerine odaklanmışlardır. TUPAQ, MLbase sisteminin bir bileşenidir ve tahminsel uygulamalar için bulunan- larla karşılaştırılabilir nitelikte kapsamlı stratejileri kullanarak, standart yaklaşımlar- dan daha verimli bir şekilde modelleri bulan ve bu modelleri eğiten bir yazılımdır. Maliyet tabanlı kaynak tahsis etmeyi, geliştirilmiş hiperparametre optimizasyon tekniklerini içeren otomatik makine öğrenimi için bir mimari olarak önerilmiştir. HyperOpt, Python’da model seçimi için algoritmaları ve paralel altyapıyı içermektedir. Kullanıcılara bir konfigürasyon alanını ve bu alan içerisindeki noktalara gerçek değerler atayan bir değerlendirme fonksiyonunu ayıran optimizasyon ara yüzü sağlamaktadır. Kullanıcılardan olasılık dağılımıyla belirtilmesi istenen konfigürasyon alanı sayesinde uzmanların uygun değerlere karar vermesini kolaylaştırır. Auto-Weka, Bayesian optimizasyonundaki [4] son yeniliklerden yararlanarak özel- lik seçimi ve değerlendirme yöntemlerinde geniş bir aralığa sahip olmasıyla sınıflandırma yaklaşımlarında başarılı bir performans göstermektedir. Eş zamanlı olarak makine öğrenmesi algoritmasının seçimini ve hiperparametre ayarlamalarını ayrı ayrı ele alarak incelemektedir. 3 Metodoloji Geliştirilen yazılımda, model oluşturmak için veri kümesi üzerinde çalışacak algorit- malar denetimli ve denetimsiz öğrenme algoritmaları olarak iki başlık altında top- lanmıştır. Denetimli öğrenme algoritmaları için lojistik regresyon, lineer regresyon, rastgele orman(random forest); denetimsiz öğrenme algoritmaları için k-ortalamalar (k-means), hiyerarşik kümeleme, beklenti-maksimizasyon yöntemleri seçilmiştir. Seçilen algoritmalarla ilgili kısa açıklamalar Bölüm 3.1 ve Bölüm 3.2’ de yer almak- tadır. Sistemin genel mimarisi Şekil 1’ de yer almaktadır. 263 Girdi: Sınır Değerleri Dirsek Yöntemi Veri Hacmi Bayes Bilgi Kriteri Izgara Arama Rassal Arama Yöntemi Çıktı: En uygun Hiperparamente Optimizasyon Parametre Seti Kütüphanesi Lojistik Lineer K- Hiyerarşik Regresyon Regresyon Ortalama Kümeleme Sınıflandırma Kümeleme Algoritmaları Algoritmaları Şekil 1. Sistemin Genel Mimarisi 3.1. Çalışmada Kullanılan Kümeleme Algoritmaları K-ortalamalar kümeleme(K-Means) [6], en yaygın denetimsiz öğrenme yöntemlerin- den biridir ve her verinin sadece bir kümeye ait olmasına izin vermektedir. Amaç, gerçekleştirilen bölümleme işlemi sonunda elde edilen kümelerin, küme içi ben- zerliklerinin maksimum ve kümeler arası benzerliklerinin minimum olmasını sağla- maktır. Hiyerarşik kümeleme [7], veri kümesindeki özgün grupları belirlemek için kullanılır. Uygulama sonucunda gözlemler dendogram olarak adlandırılan bir ağaç yapısı içerisinde sergilenir ve kümeleme kriteri olarak ikili bir uzaklık matrisi kullanılmaktadır. Beklenti-maksimizasyon [8], tam olmayan veri problemlerini çözmek için maksi- mum olasılık tahminlerini yapan tekrarlı bir algoritmadır ve her tekrarı iki adımda gerçekleşir. Bu adımlar, bekleneni bulma ve maksimizasyon olarak adlandırılır. 3.2. Çalışmada Kullanılan Sınıflandırma Algoritmaları Lojistik regresyon [9], verilerin bir lojistik fonksiyona uymasıyla bir olayın oluşma ihtimalini öngören bir regresyondur. Birçok regresyon analizi biçimi gibi, sayısal veya kategorik olabilen birkaç öngörme değişkeninden faydalanır. Lineer regresyon [10], aralarında sebep-sonuç ilişkisi bulunan iki veya daha fazla değişken arasındaki ilişkiyi belirlemek ve bu ilişkiyi kullanarak o konu ile ilgili tah- minler ya da kestirimler yapabilmek amacıyla yapılır. Sıklıkla tercih edilen yöntem- lerden biridir. Rastgele Orman(Random Forest) [11] , bir sınıflandırıcı yerine birden çok sınıflandırıcı üreten ve sonrasında onların tahminlerinden alınan oylar ile yeni veriyi sınıflandıran öğrenme algoritmasıdır ve kaybolan verilerin tahmin edilmesinde etkili bir metottur. Çalışmamızda, kullanıcı birinci yaklaşımı tercih ederse seçtiği algoritmanın ihtiyaç duyduğu parametreler için sınır değerlerini girmesi beklenmektedir; ikinci yaklaşım tercih edilirse sınıflandırma algoritmaları için parametreler bir parametre haritasına yerleştirilir, ızgara [12] veya Monte Carlo rassal aramadan [13] biri seçilerek optimi- 264 zasyon işlemi yürütülmektedir. İkinci yaklaşımda kümeleme algoritmaları için dirsek yöntemi, veri hacmi yöntemi ve beklenti-maksimizasyon algoritmasına özel olarak bayes bilgi kriteri yöntemi ile optimizasyon işlemi yürütülmektedir. Bu yöntemlerin çalışmamızda nasıl kullanıldığı Bölüm 3.3 ve Bölüm 3.4’ te detaylı olarak anlatılmak- tadır. 3.3. Sınıflandırma Algoritmaları İçin Hiperparametre Optimizasyonu Literatürde denetimli öğrenme algoritmaları olarak geçen sınıflandırma algoritmaları için gerçekleştirdiğimiz optimizasyon dört adımdan oluşmaktadır:  Veri kümesi eğitim ve test verisi olmak üzere iki parçaya bölünür.  Model eğitimi için ayrılan veriye seçili sınıflandırma algoritması oluşturulmuş parametre haritalarındaki parametrelerle iteratif şekil- de uygulanır. Bu şekilde modeller üretilir.  Üretilen modeller seçili sınıflandırma algoritmasına uygun değer- lendirici fonksiyonu ile değerlendirilir.  Veri kümesi için en iyi performans göstermiş parametre kom- binasyonuna sahip model seçilir. Bu çalışmada yararlanılan Apache Spark MLlib kütüphanesi hiperparametre opti- mizasyonu için Cross-Validation ve Train Validation Split olmak üzere 2 adet araç sunmaktadır. Cross validation, model oluştururken tüm veriyi kullanmayı sağlayan bir metottur. Veriyi k (genellikle 10) adet sayıda parçaya böler. Bir parçasını test kalanını model eğitimi için kullanır. Eğitim için ayırdığı veriden model üretip test verisi üzerinde deneyerek en uygun modeli seçme odaklıdır. Bu işlemi test için ayrılan veri seti her seferinde farklı olacak şekilde k defa model seçilir. Seçilenler arasından en iyisi alınır. K adet iterasyon olduğu için maliyeti yüksektir buna karşı hata oranı düşüktür. Train Validation metodunun Cross Validation’dan farkı veriyi bir kere bölme- sidir. Verilen orana göre veriyi eğitim ve test veri kümelerine böler. Bu işlemi bir kere gerçekleştirdiğinden dolayı Cross Validation’a göre maliyeti azdır fakat veri setinin yeterince büyük olmadığı durumlarda daha az güvenilirdir. Cross-Validation ve Train Validation metotları aşağıdaki ögeleri girdi olarak almaktadır. – Tahminleyici: Spark MLlib bünyesinde sınıflandırıcı ve regresyon algo- ritmalarını kendi araçlarına hizmet edebilir halde tasarlamış olup Tah- minleyici adı altında toplamıştır. Bu öğe kullanıcının veri setine uygula- mak istediği algoritmadır. 265 – Parametre Haritası: Tahminleyici olarak kullanılacak algoritmaya ait op- timizasyonu istenen parametreleri ve değerlerini barındıran veri yapısıdır. – Değerlendirici: Üretilen modellerin test verisine uygunluğunu ölçen metriktir. MLlib sınıflandırma ve regresyon işlemleri için iki çeşit değer- lendirici sunmaktadır. 3.4. Kümeleme Algoritmaları İçin Hiperparametre Optimizasyonu Literatürde denetimsiz öğrenme algoritmaları olarak geçen kümeleme yöntemleri veriye ait bir sınıf etiketi tanımlamamalarından dolayı bir önceki aşamadaki gibi Spark MLlib’in sunmuş olduğu optimizasyon araçlarına dahil edilememektedir. Bu nedenle kümeleme yöntemlerine hiperparametre optimizasyonu yapmak için 2 farklı sezgisel yöntem kullanmaktayız. Bunlar otomatikleştirilmiş dirsek yöntemi ve veri sesi yöntemi olarak ifade edilmektedir. Ayrıca beklenti maksimizasyonu algoritması üzerinde bu algoritmanın sonucunda elde edilen “loglikelihood” değerini kullanarak hesaplama yapan Bayes Bilgi Kriteri yöntemi uygulanmıştır. Dirsek yönteminde (Bknz. Şekil 2) [13] k adet küme merkezi ile yürütülmesi tamamlanmış algoritma sonucunda, veriye ait karesel hata oranı değerleri bir grafik eğrisi oluşturularak değerlendirilmektedir. Amaç eğride dirsek şekline benzeyen, keskin bir düşüşün yaşandığı ve devamında stabil şekilde azalan noktayı tespit etmek- tir. Bu nokta veri kümesi için optimum küme merkezi sayısı olarak seçilmektedir. Algoritma 1: Dirsek Yöntemi 1. k=1 2. Başla 3. k=k+1 4. En uygun çözümün “hataların karesi toplamı”nı hesapla 5. Önemli ölçüde düşüş gösteren k değeri optimum nokta 6. Bitir Şekil 2. Dirsek yöntemine ait sözde kod Veri hacmi yönteminde [14], verideki n adet boyuta ait “hacim” adında bir değer tanımlanmıştır. İki boyutlu bir yapıda “hacim” bir kümenin elemanlarını içine alabilen en küçük dikdörtgen alan olarak tanımlanabilir. Yöntem işleyiş olarak kümenin “hacim ” değerini hesaplama ve optimum küme merkezini bulma olarak iki parçalı şekilde sürdürülmektedir (Bknz. Şekil 3 ve Şekil 4). Algoritma 2: Hacim Değerini Hesapla 1. Başla 2. Her bir küme için Adım 2-4 tekrar et 3. Veri kümesi içindeki en büyük değeri bul 4. Veri kümesi içindeki en küçük değeri bul 5. O küme için en büyük değerden en küçük değeri çıkar ve “aralık” değerine eşitle 6. “Hacim” değerini o küme için tüm aralıkların toplamına eşitle 7. Bitir Şekil 3. Veri hacmi yöntemine ait sözde kod 266 Algoritma 3: Optimum Küme Merkezini Bulma 1. Başla 2. Bir küme ile başla (k=1) 3. Bu küme için hacim değerlerini hesapla ve hacim dizisinde sakla 4. k=k+1 5. Yeni k değeri için K-Ortalamalar Kümeleme çalıştır 6. Oluşan tüm kümeler için hacim değerlerini hesapla ve hacim dizisinde sakla 7. Yeni hacim değerini bir önceki hacim değerine böl ve “oran” değerine eşitle 8. If oran < “sabit değer” then 9. Adım 3 tekrar et 10. Else 11. Kümelemeyi sonlandır ve bir sonraki adıma geç 12. Optimum nokta = k-1 13. Bitir Şekil 4. Veri hacmi yöntemine ait sözde kod Kullanıcı kümeleme işlemini kendi istediği bir parametre aralığında gerçekleştirmek isterse, birinci yaklaşım otomatikleştirilmiş dirsek yöntemini kulla- narak tanımlı aralıktaki optimum parametre değerlerini ve kümeleme sonucunu kullanıcıya sunmaktadır. Eğer kullanıcı aralık vermek istemeyip veri kümesinin hangi parametre değerleriyle optimum sonucu vermek istediğini görmek isterse, ikinci yak- laşım, “hacim” bazlı kümeleme yöntemiyle kullanıcıya uygun bulunan parametre kombinasyonu ve sonuç kullanıcıya sunulmaktadır. Bayes Bilgi Kriteri[15], beklenti-maksimizasyon algoritmasındaki “loglikelihood” değerini Formül 1’deki formüle yerleştirerek Bayes Bilgi Kriteri adında doğruluk değeri elde eder. En küçük çıkan değer için küme sayısı optimum seçilir. Algoritma 4. Bayes Bilgi Kriterini Kullanarak Değerlendirme 1. Başla 2. Loglikelihood=0 3. Başlangıç değerleri için Beklenti-Maksimizasyon algoritması çalıştır 4. Elde edilen loglikelihod değerini Formül 3.1’e yerleştir 5. Formül sonucundaki BIC değerini dizide sakla 6. Belirlenen maksimum iterasyon sayısına kadar Adım 2-5 tekrar et 7. BIC dizisindeki en düşük değeri veren parametreler optimum değerler 8. Bitir Şekil 5. Bayes Bilgi Kriteri yöntemine ait sözde kod 𝑛 𝛭 1 𝐵𝐼𝐶(⋋) = ∑ log { ∑ 𝜋𝑚 ф(𝑥𝑖 ; µ𝑚 , ∑𝑚 )} − 𝛭𝐷𝑓 log 𝑛 2 𝑖=1 𝑚=1 Formül 1. Bayes Bilgi Kriteri Formülü 267 4 Uygulama ve Test Çalışmanın uygulaması Java programlama dili ile her iki yaklaşıma uygun olarak tasarlanmıştır. Uygulamada Java 1.8 ve Apache Spark 2.1.0 kullanılmıştır. Uygula- manın çalıştırılması için en az 2GB RAM ve 400MB Disk alanına ihtiyaç duyulmak- tadır. Kullanıcı arayüzü Şekil 6 ve Şekil 7’de gösterilmiştir. Şekil 6. Birinci Yaklaşıma göre Kullanıcı Arayüzü 268 Şekil 7. İkinci Yaklaşıma göre Kullanıcı Arayüzü Uygulama arayüzü dört bölümden oluşmaktadır. İlk bölümde kümeleme ve sınıflandırma algoritmalarından birinin seçimi yapılır. İkinci bölümde birinci yak- laşım tercih edilecekse algoritmanın çalışması için gerekli parametrelerin sınır değerlerinin kullanıcı tarafından girilmesi beklenmektedir. Eğer ikinci yaklaşım tercih edilecekse kümeleme ve sınıflandırma algoritması üzerinde uygulanacak yöntemin kullanıcı tarafından seçilmesi beklenmektedir. Üçüncü bölümde seçilen algoritmaya uygun veri kümesinin seçimi yapılır ve uygulama çalıştırılır. Dördüncü ve son bölümde sonuçlar kullanıcıya sunulmaktadır. Testler bu uygulama üzerinden Spark lokal modda çalıştırılarak Intel Core i7 model 2.20GHz işlemciye sahip, 4 çekirdekli bilgisayarda gerçekleştirilmiştir. Gerçekleştirilen test ortamı Şekil 8’de gösterilmiştir. Testi yapılan Optimizasyon K- Algoritmaları 100 iterasyon Ortalama - Dirsek Yöntemi - Veri Hacmi Yöntemi Hiyerarşik - Bayes Bilgi Kriteri Yöntemi Kümeleme - Izgara Arama - Rassal Arama Kullanıcı Hiper parametre Lojistik optimizasyon Regresyon kütüphanesi Lineer Regresyon Şekil 8. Test Ortamı Tasarımı 269 Testler uygulamadaki tüm algoritmalar için gerçekleştrilmiştir. Sınıflandırma algo- ritmaları aynı veri kümesi(dosya boyutu 103KB) kullanılarak ızgara ve rassal arama için 100 defa çalıştırılmış ve sonuçların gösterilmesine kadar geçen süre ortalama ve standart sapma olarak Tablo 1’de sunulmuştur. Kümeleme algoritmaları aynı veri kümesi(dosya boyutu 5KB) kullanılarak dirsek, veri hacmi, bayes bilgi krite- ri(beklenti-maksimizasyon algoritması için geçerli)(BBK) yöntemlerine göre 100 defa çalıştırılmış ve sonuçların gösterilmesine kadar geçen süre ortalama ve standart sapma olarak Tablo 2’de sunulmuştur. Çalışma süreleri hesaplanırken Java’da Timestamp sınıfı kullanılmış ve nanosaniye olarak elde edilmiştir. Uygulamanın çalışma süresi açısından maliyeti test edilmek için kullanılan veri kümesinin boyutuna göre değişmektedir. Tablo 1. Kümeleme Algoritmaları Çalışma Süresi Dirsek Yöntemi Veri Hacmi Yöntemi BBK Yöntemi Algoritmalar Ort. Std. Ort. Std. Ort. Std. (sn) (sn) (sn) (sn) (sn) (sn) K-Ortalama(K-Means) 4,14 0,55 3,36 0,67 --- --- Hiyerarşik Kümeleme 15,87 1,81 12,22 3,10 --- --- Beklenti-Maksimizasyon --- --- 2,89 1,17 7,11 1,05 Tablo 2. Sınıflandırma Algoritmaları Çalışma Süresi Izgara Arama Rassal Arama Algoritmalar Ort. Std. Ort. Std. (sn) (sn) (sn) (sn) Lojistik Regresyon 16,55 1,67 9,72 1,52 Lineer Regresyon 8,25 1,9 5,46 1,81 Rastgele Orman(Random Forest) 7,23 2,21 5,14 1,92 Çalışma süreleri karşılaştırıldığında seçilen yöntemlere göre belirgin farklar göz- lemlenmiştir. Kümeleme algoritmaları için, her bir iterasyondaki kümelenen verilere göre kümeleme işlemine devam kararını vermesinden dolayı veri hacmi yöntemi dir- sek yönteminden kısa sürede optimum parametre değerini vermiştir. Sınıflandırma algoritmaları için belirlenen aralıktaki tüm değerleri sırayla deneye- rek en uygun parametre değerini bulan ızgara arama yönteminin, bu aralıktaki değer- leri sırayla denemek yerine aralarından seçim yaparak en uygun parametre değerini hesaplayan rassal arama yöntemine göre daha fazla zaman aldığı gözlemlenmiştir ve rassal aramada bütçe kriteri uygun parametreyi hesaplarken toplam iterasyon sayısı olarak belirlenmiştir. Bütçe dahilinde rassal arama veriye göre, parametre uzayına göre ve en önemli olarak zamana göre yeniden ölçeklendirilebilir. 270 5 Sonuçlar ve Gelecekteki Çalışmalar Bu çalışma kapsamında, veri madenciliği alanında deneyimsiz kişilerin kullanmak istedikleri algoritmalarda girdi olarak verecekleri hiper parametre değerlerininin op- timizasyonu sağlanarak uygun değerlere göre sonuç almaları için çözüm geliştirilmiştir. Belirlenen kümeleme ve sınıflandırma algoritmaları üzerinde süre açısından maliyeti az olan yöntemleri kararlaştırmak adına uygun parameter değerle- rini hesaplamayı sağlayan farklı yöntemler uygulanmıştır. Bölüm 3’te detaylı olarak açıklanmış yöntemlerden kümeleme algoritmaları için veri hacmi yöntemi tecrübenin az olup sınırların geniş olması durumlarında daha efektif çıkmıştır. Veri hacmi yönteminin diğer yöntemlerden öne geçtiği bir diğer sebep de kolaylıkla ölçeklenebilir olmasıdır. Sistemden beklenen azami başarı oranına sadece “eşik değeri(threshold)” üzerinden oynama yapılarak ulaşılabilir. Spesifik amaçlı veya veriye dair yeterli tecrübenin bulunduğu durumlarda da dirsek ve bayes bilgi kriteri ile değerlendirme metodları daha uygun bulunmuştur. Sınıflandırma algoritmaları için ızgara araması, bir parametre alanını sistematik olarak araştırır ancak yalnızca sabit noktalara bakar. Bu bağlamda optimal noktaların, ızgara aramasında bakılan sabit noktalardizisinde bulunmaması tamamen mümkün- dür. Burada hangi algoritmanın daha uygun olduğu kullanım amacına göre değişmektedir. Eğer belirli yaygın parametre aralıklarında sonuç alınmak isteniyorsa ızgara araması verdiği sonuçların lineerliğinden dolayı daha uygun görülebilir. Aksine parametre uzayının geniş ve aranılan aralıkların belirli olmadığı durumlarda rassal arama tercih edilmelidir. Uygulamanın doğru sonuçları vermesi için kullanılacak olan veri kümesinin ön işlemden geçirilmiş olması ve çalıştırılmak istenen algoritmaya göre uygun olması gerekmektedir. Önerilen çözüm gelecekte seçilen veri kümesinin özelliklerine göre doğru sonuca daha az sürede ulaştıracak yöntemin kararlaştırılması ile iyileştirilebilir böylelikle kullanıcının optimum hiper parametre değerlerini elde etmesi için yapacağı işlemler azaltılabilir. Teşekkür Projemizi Ar-Ge ortamını kullanarak geliştirmemize sebep olan ve her türlü desteği biz lere sağlayan Cybersoft’a teşekkürlerimizi sunarız. Kaynaklar 1. Spark MLlib Main Guide, https://spark.apache.org/docs/2.1.0/mllib-guide.html, son erişim 2017/03/25. 2. Michael J. Franklin, Evan R. Sparks, Tim Kraska: TuPAQ: An Efficient Planner for Large- scale Predictive Analytic Queries, Berkeley University, 2015. 271 3. James Bergstra, Dan Yamins, David D. Cox: Hyperopt: A Python Library for Optimizing the Hyperparameters of Machine Learning Algorithms, SCIPY, 2013. 4. Thomas Huijskens: Bayesian optimization with scikit-learn, 29 Dec 2016. 5. Chris Thornton, Frank Hutter, Holger H. Hoos, Kevin Leyton-Brown: Auto-Weka: Com- bined Selection and Hyperparameter Optimization of Classification Algorithms, University of British Columbia, 2012. 6. Güncel Sarıman: Veri Madenciliğinde Kümeleme Teknikleri Üzerine Bir Çalışma: K- Means ve K-Medoids Kümeleme Algoritmalarının Karşılaştırılması, süleyman Demirel Üniversitesi, 2011. 7. Hiyerarşik Kümeleme Analizi ve R İle Görselleştrilmesi, https://tr.linkedin.com/pulse/hiyerar%C5%9Fik-k%C3%BCmeleme-analizi-hc-ve-r-ile- datalab-tr, son erişim 2017/04/12. 8. Evren Sezgin, Yüksel Çelik: Veri Madenciliğinde Kayıp Veriler İçin Kullanılan Yöntem- lerin Karşılaştırılması, Akdeniz Üniversitesi, 2013. 9. Lesson 6: Logistic Regression, https://onlinecourses.science.psu.edu/stat504/node/149, son erişim 2017/04/08. 10. Barış Şentuna: Regresyon Analizi, Balıkesir Üniversitesi, 2013. 11. Predrag Radenković: Random Forest, University Of Belgrade, 2015. 12. Tuning the hyper-parameters of an estimator, http://scikit- learn.org/stable/modules/grid_search.html , son erişim 2017/04/15. 13. Zelda B. Zabinsky: Random Search Algorithms, Washington University, 2009. 14. Purnima Bholowalia, Arvind Kumar: EBK-Means: A Clustering Technique based on El- bow Method and K-Means in WSN, Lovely Professional University, 2014. 15. Tao Huang, Heng Peng, Kun Zhang: Model Selection for Gaussian Mixture Mod- els,Academia Sinica, 2013. 16. Abhijit Kane: Determining The Number of Clusters For A K-Means Clustering Algorithm, Birla Institute of Technology and Science, 2012. 272