paralel verİ madencİlİĞİ algorİtmalari · 2018-06-28 · işleme veri madenciliği veri son...
TRANSCRIPT
BAŞARIM’09, 15-18 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
BilgiGirdi Veri
Özellik SeçimiBoyut İndirmeNormalizasyon
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Öğrenm
e,Örüntü Tanıma
VeriMadencili
ğ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.
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
Bir Gazetedeki Makalelerin Değerlendirilmesi
Ekonomi Sağlık Hizmetleri
.1 .6 .4 .7
.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.
İşlem Numarası
Öğeler
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
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 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ı
Minimum Destek Değeri:3
Öge Destek Değeri
a 3
b 3
c 4
d 2
e 4
f 1
root
b:2
a:1 a:1
b:1
a:1
e:3
c:4 e:1
Başlık Tablosu
öge düğüm başı
ceab
Başlık Tablosu
öge düğüm başı
ce
Başlık Tablosu
öge düğü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
100 f, c, a, m, p
200 f, c, a, b, m
300 f, b
400 c, b, p
500 f, c, a, m, p
Düğüm1 Düğüm2
Har. No
Sıralı Sık Öğeler
100 f, c, a, m, p
200 f, c, a, b, m
300 f, b
Har. No
Sıralı Sık Öğeler
400 c, b, p
500 f, 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
FP-Growth 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