BAŞARIM’09, Nisan 2009, ODTÜ, Ankara PARALEL VER İ MADENC İ L İĞİ ALGOR İ TMALARI
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. Veri Ön işleme Veri Madenciliği Veri Son işleme Bilgi Girdi Veri Özellik Seçimi Boyut İndirme Normalizasyon Veri Altkümeleme 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
Veri madenciliği birçok disiplinin birleşmesinden oluşur. Veritabanı Teknolojisi, Paralel Hesaplama, Dağıtık Hesaplama İstatistik Yapay Zeka, MakineÖğrenme, Örüntü Tanıma Veri Madenciliği
Sınıflama( Classification ) Öbekleme( Clustering ) Birliktelik( Association )
Sınıflama Modeli Özellik Kümesi (x) Sınıf Etiketi (y) Girdi Çıktı 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 Doğrusal model kullanır ID3 ve C4.5 Karar ağaçları kullanır Back-propagation Yapay sinir ağları kullanır K2 ve Naive Bayes Bayes ağları kullanır K-nearest neighbour 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.
MakaleKelimeler 1dolar:1, endüstri:4, ülke:2, borç:3, anlaşma:2, hükümet: 2 2hasta:4, semptom:2, ilaç:3, sağlık:2, klinik:2, doktor:2 3farmasötik:2, şirket:3, ilaç:2, aşı:1, grip:3 4mekanizma: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 6iş:5, enflasyon:3, zam:2, işsizlik:2, market:3, ülke:2, index:3 7yerel:3, tahmin:2, kar:1, market:2, satış:3, fiyat: 2 8tıbbi:2, maliyet:3, kar:2, hasta:2, sağlık:3, bakım:1 Bir Gazetedeki Makalelerin Değerlendirilmesi EkonomiSağlık Hizmetleri 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.
İşlem Numarası Öğeler 1Ekmek, Süt 2Ekmek, Peynir, Gazete, Yumurta 3Süt, Peynir, Gazete, Kola 4Ekmek, Süt, Peynir, Gazete 5Ekmek, Süt, Peynir, Kola Market Alışveriş Örneği {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
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? o Tüm veritabanı bir veri yapısı (FP-Tree) içine sıkıştırılmıştır. o 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 NoAlınan ÖgelerSıralı Sık Ögeler 100a, b, c, d, ec, e, a, b 200b, c, e, fc, e, b 300a, ee, a 400b, c, ec, e, b 500a, c, dc, a Örnek Veritabanı Minimum Destek Değeri:3 ÖgeDestek Değeri a3 b3 c4 d2 e4 f1
root b:2 a:1 b:1 a:1 e:3 c:4 e:1 Başlık Tablosu ögedüğüm başı ceabceab
Başlık Tablosu ögedüğüm başı cece Başlık Tablosu ögedüğüm başı c root c:3 root c:3 e:3 b için oluşturulan şartlı sık örüntü ağaçları
Har. No Sıralı Sık Öğeler 100f, c, a, m, p 200f, c, a, b, m 300f, b 400c, b, p 500f, c, a, m, p Düğüm1Düğüm2 Har. No Sıralı Sık Öğeler 100f, c, a, m, p 200f, c, a, b, m 300f, b Har. No Sıralı Sık Öğeler 400c, b, p 500f, c, a, m, p 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üğüm1 düğüm2 düğüm0 Düğüm2 Düğüm1 Düğüm0 FP-Growth Boş düğüm iste düğüm1 Görev gönder Boş düğüm iste düğüm2 Görev gönder
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