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
Download

Paralel Veri Madenciliği Algoritmaları - TR-Grid