PARALEL VERİ MADENCİLİĞİ ALGORİTMALARI BAŞARIM’09, 15-18 Nisan 2009, ODTÜ, Ankara Veri Madenciliğine Genel Bir Bakış Veri Madenciliğinin Görevleri Sınıflama Seri Sınıflama Algoritmaları Paralel Sınıflama Algoritmaları Öbekleme Seri Öbekleme Algoritmaları Paralel Öbekleme Algoritmaları Birliktelik Seri Birliktelik Algoritmaları Paralel Birliktelik Algoritmaları FP-Growth Seri Yaklaşım Paralel Yaklaşım – 1 Paralel Yaklaşım – 2 TOBB ETÜ Öbeği Yapılanlar - Yapılacaklar Büyük veri ambarlarından yararlı bilgi elde edilmesi süreci. Girdi Veri Veri Ön işleme Veri Madenciliği Özellik Seçimi Boyut İndirme Normalizasyon Veri Altkümeleme Veri Son işleme Filtreleme Örüntüleri Görselleştirme Örüntü yorumlama Veritabanlarında Bilgi Edinme Süreci Kaynak: Introduction To Data Mining, Tan, P., Steinbach, M., Kumar, V., Pearson, 2006 Bilgi Veri madenciliği birçok disiplinin birleşmesinden oluşur. İstatistik Yapay Zeka, MakineÖğrenm e, Örüntü Tanıma Veri Madencili ği Veritabanı Teknolojisi, Paralel Hesaplama, Dağıtık Hesaplama Sınıflama(Classification) Öbekleme(Clustering) Birliktelik(Association) Çıktı Girdi Özellik Kümesi (x) Sınıflam a Modeli Sınıf Etiketi (y) •Karar ağaçları(DecisionTrees) •Bayes ağları(Bayesian Networks) •Yapay sinir ağları(Neural Networks) •Doğrusal(Linear) •Olgu Tabanlı(Instance Based) Support Vector Machine, SVM ID3 ve C4.5 Bayes ağları kullanır K-nearest neighbour Yapay sinir ağları kullanır K2 ve Naive Bayes Karar ağaçları kullanır Back-propagation Doğrusal model kullanır Olgu tabanlı model kullanır Adaboost Bagging SPRINT[Shafer., J.C., Agrawal, R., Mehta, M., 1996] Karar ağaçları tabanlı Çok sayıda işlemci paralel olarak bir karar ağacı üretir Paralel ve dağıtık boosting Etkin ve hızlı Seri yaklaşımdaki yineleme sayısı paralel yapılmaktadır Öbek, benzer nesnelerin oluşturduğu bir gruptur. Öbekleme, verileri aynı öbek içindekiler benzer, ayrı öbektekiler farklı olacak şekilde gruplama sürecidir. Bir Gazetedeki Makalelerin Değerlendirilmesi Makale Kelimeler 1 dolar:1, endüstri:4, ülke:2, borç:3, anlaşma:2, hükümet: 2 2 hasta:4, semptom:2, ilaç:3, sağlık:2, klinik:2, doktor:2 3 farmasötik:2, şirket:3, ilaç:2, aşı:1, grip:3 4 mekanizma:2, iş gücü:3, market:4, endüstri:2, iş:3, ülke:1 5 ölüm:2, kanser:4, ilaç:3, kamu:4, sağlık:3, müdür:2 6 iş:5, enflasyon:3, zam:2, işsizlik:2, market:3, ülke:2, index:3 7 yerel:3, tahmin:2, kar:1, market:2, satış:3, fiyat: 2 8 tıbbi:2, maliyet:3, kar:2, hasta:2, sağlık:3, bakım:1 Ekonomi .1 .4 .6 .7 Sağlık Hizmetleri .2 .5 .8 .3 Kaynak: Introduction To Data Mining, Tan, P., Steinbach, M., Kumar, V., Pearson, 2006 Kullanılan yaklaşımlar; Density-Based Gaussian Mixtures Subspace Kullanılan temel algoritmalar; K-means Agglomerative/divisive hierarchical SOM DBSCAN EM ile mixture modelleme CURE Paralel k-means Verinin artan boyutu, kayıt sayısı ve öbek sayısına bağlı değişiklikler analiz edilir Paralel DBSCAN R* - Tree Ön işlemden geçirilen veri mesajlaşma yoluyla diğer istemcilere dağıtılır Birliktelik algoritması, bir birliktelikte bir niteliğin aldığı değerler arasındaki bağımlılıkları, diğer niteliklere göre gruplama yapılmış verileri kullanarak bulur. Bulunan ilişkiler (örüntüler) sıklıkla birlikte geçen nitelik değerleri arasındaki ilişkiyi gösterir. Uygulama Alanları • Pazarlama, • Biyoenformatik, • Tıbbi tanı, • Ağ madenciliği, • Bilimsel veri analizi. Market Alışveriş Örneği İşlem Öğeler Numarası 1 Ekmek, Süt 2 Ekmek, Peynir, Gazete, Yumurta 3 Süt, Peynir, Gazete, Kola 4 Ekmek, Süt, Peynir, Gazete 5 Ekmek, Süt, Peynir, Kola {Peynir} {Gazete} Bu örneğe göre peynir ve gazete arasında güçlü bir ilişki vardır. Çünkü peynir alan birçok kişi gazete de almıştır. AIS[Agrawal, R., Imielinski, T., Swami, A., 1993] Apriori[Agrawal, R., Srikant, R., 1994] AprioriTid AprioriHybrid DHP[Zaki, M.J., Ogihara, M., 1998] Partition[Chen, M.S., Han, J., Yu, P.S., 1996] FP-Growth[Han, J., Pei, J., Yin, Y., 2000] Apriori Veri paralel yaklaşım Veri tüm istemcilere dağıtılır Herkes kendi yerel verisinde 1-öge kümesini ve destek değerlerini hesaplar Bunu diğerlerine gönderir Gönderilen 1-öge kümeleri birleştirilerek global 1-öge kümesi oluşturulur Sık olmayanlar elenir Süreç tüm öge kümeleri için tekrar eder Görev paralel yaklaşım FP-Growth o o Sık örüntüleri bulmak için kullanılan bir veri madenciliği algoritmasıdır. Apriori benzeri algoritmalara göre daha verimli bir algoritmadır. Neden? Tüm veritabanı bir veri yapısı (FP-Tree) içine sıkıştırılmıştır. Tüm algoritma süresince veritabanı sadece iki kez taranır. FP-Growth algoritması iki adımda gerçekleşir: 1. FP-Tree veri yapısının oluşturulması. 2. Bu veri yapısı kullanılarak sık örüntülerin bulunması. Hareket No Alınan Ögeler Sıralı Sık Ögeler 100 a, b, c, d, e c, e, a, b 200 b, c, e, f c, e, b 300 a, e e, a 400 b, c, e c, e, b 500 a, c, d c, a Örnek Veritabanı Öge Destek Değeri a 3 b 3 c 4 d 2 e 4 f 1 Minimum Destek Değeri:3 Başlık Tablosu öge c e a b root düğüm başı e:1 c:4 e:3 a:1 a:1 b:2 b:1 a:1 Başlık Tablosu öge root düğüm başı c:3 c e e:3 Başlık Tablosu öge c root düğüm başı c:3 b için oluşturulan şartlı sık örüntü ağaçları Düğüm1 Har . No Sıralı Sık Öğeler Düğüm2 100 f, c, a, m, p Har Sıralı Sık . No Öğeler 200 f, c, a, b, m 300 f, b Har Sıralı Sık . No Öğeler 100 f, c, a, m, p 400 c, b, p 400 c, b, p 200 f, c, a, b, m 500 f, c, a, m, p 500 f, c, a, m, p 300 f, b Kaynak: Pramudiono, I., Kitsuregawa, M., 2003 Tüm veritabanı tek bir işlemci tarafından okunur FP-Tree oluşturulur Oluşturulan ağaç diğer işlemcilere gönderilir Her işlemci aldığı seriyi deserialize ederek ağacı kendi tarafında oluşturur Algoritma özyineli olarak kendini çağırır Bu kısım boş olan bir işlemciye görev olarak verilir Düğüm 0 FPGrowth düğüm0 Boş düğüm iste düğüm1 düğüm1 düğüm2 Görev gönder Düğüm 1 ist e üm ğ ü şd o B m2 ü ğ dü FPGrowth Görev gönder Düğüm 2 FPGrowth Donanım 9 adet Sun Fire X2200 M2 Server AMD Opteron 1800Mhz X64 İşlemci 2GB DDRR2 667Mhz Bellek Çift girişli Gigabit Ethernet Yazılım Solaris 10 x86 işletim sistemi Sun HPC ClusterTools 7 (Open MPI) Sun Studio 12 (C, C++, Fortran derleyicileri ve grafiksel geliştirme ortamı) Sun N1 Grid Engine 6.1 Seri FP-Growth algoritmasının C dilinde gerçekleştirimi Paralel FP-Growth gerçekleştirimi. Adımlar: 1. FP-Tree nin dizi şeklinde diğer işlemcilere gönderimi(serialize) 2. Gönderilen dizinin alınan tarafta tekrar ağaca dönüştürülmesi(deserialize) 3. Algoritmanın özyineli olarak kendini çağırdığı durumlarda bunun boş olan işlemciler tarafından paralel olarak gerçekleştirimi(Görev paralel yaklaşım, iş havuzu) Algoritmanın büyük veri tabanlarında testi Seri Fp-Growth ve gerçekleştirilen diğer paralel Fp-Growth yaklaşımıyla karşılaştırılması Katılımınız için teşekkürler