2. Bu sunumda Pattern growth yaklaşımınn çeşitli
yönleri incelenip, bu algoritma için
verimli stratejilere değinilecektir.
FIM algoritmaları iki kategoride sınıflandırılabilir:
Candidate generate-and-test approach
Pattern growth approach
İlk yaklaşımın eksiklikleri;
Veritabanını çok kez tarama gerekliliği
Çok fazla candidate itemset üretilmesi ihtiyacı
İtemsetler çok büyük olduğunda subset kontrolünün
maliyet gerektirmesi
3. D: verilmiş bir transactional database,
I:itemların kümesi olsun.
I daki itemların herhangi bir kombinasyonu
D de frequent olabilir ve FIM probleminin
arama uzayındandır.
Arama uzayı sözlüksel sıralamada olabileceği
gibi bir ağaç tarafından gösteriliyor olabilir.
Bir itemset in candidate extensionları p ile
tanımlansın.
4. M
Mesela;
I={a,b,c,d,e} için Figure 1 de ki arama
uzayı ağacında "ac" nin candidate extensionları "d" ve "e" dir, "b"
olamaz çünkü "b", "c" den önce gelmiştir.
5. Patterng growth yaklaşımı böl-yönet yöntemini
benimser. Örneğin Figure 1 deki arama uzayı 5
ayrık arama uzayına bölünebilir.
a yı içeren itemsetler
b yi içeren a yı içermeyen itemsetler
c yi içeren a ve b yi içermeyen itemsetler
d yi içeren a, b ve c yi içermeyen itemsetler
yalnız e yi içeren itemsetler
Böylelikle database 5 kısıma bölünür ve her kısım
“conditional database” olarak adlandırılır.
6. i iteminin conditional databaseine Dİ dersek, i yi içeren
tüm itemsetler başka bir bilgiye ihityaç olmaksızın Dİ
tarafından mining edilebilir. Her conditional database
aynı prosedürü takip ederek recursive olarak bölünür.
Pattern growth algoritmasının iki temel işlemi vardır.
Frequent itemları saymak
Yeni conditional databaseler oluşturmak
Yeni conditional databaselerin toplam sayısı ve her bir
conditional database in mining maliyeti bir Pattern growth
algoritmasının performansını etkileyen anahtar
faktörlerdir.
7. Arama uzayını böldüğümüzde, tüm itemlar aynı
sıralama ile sıralanırlar. Bu sıralamaya Item search sırası
denilmektedir. Bir item ın yarı arama uzayı ondan
sonraki item ları içerir, sonrakileriyse içeremez.
Literatürde iki item search sırası önemlidir.
Statik sözdizimsel sıralama
Dinamik artan frequency sıralama
İhtiyacımız olan daha küçük bir conditional database
olduğundan, artan frequency sıralama yaparken en
yüksek frequency li olanı öne yerleştiririz. Böylelikle
frequent extension çok büyük olmamış olur.
8.
9. Conditional databaselerin saklanması için farklı
veri yapıları önerilebilir. FP-tree ve AFOPT-tree gibi
algoritmalar ağaç tabanlı yapıları, Hyperstructure gibi
algoritmalar ise dizi tabanlı yapıları kullanır.
Ağaç tabanlı yapılar maliyeti azaltabilirler, çünkü kopyalanmış
işlemler bir araya getirilebilir ve farklı işlemler öne eklenerek
paylaşabilir. Ancak dataset büyükse, maliyet yükselir.
Dizi tabanlı yapılar az maliyet gerektirir. Ancak bu yapılarda farklı
işlemler paylaşamazlar.
Genel olarak, ağaç tabanlı yapıların dense(yoğun)
databaselerde, dizi tabanlı yapılarınsa sparse(seyrek)
databaselerde kullanımı uygundur.
10. Database çok küçük olmadığı müddetçe conditional
database oluşturma oldukça maliyetlidir.
Buna bir alternatif olarak sahte construction gösterilir
yani, yüksek frequently li construction databaselerde
işlemleri gösteren pointerlar kullanmak.
Buna rağmen sahte construction fiziksel construction
kadar etkili değildir. Artan frequent sıralı itemsetler
hızlıca alt construction databaseler yapabilir, bu sıra
ile birlikte kullanılığı zaman bu stratejinin kullanışlı
olduğu görülmüştür.
11. Ağacın dolaşma maliyeti yukarıdan-aşağıya dolaşma stratejisi ile
minimuma çekilebilir.
FP-Tree de azalan frequent sıraya göre yapılır. Dolayısıyla FP-Tree
aşağıdan yukarı dolaşma stratejisini kullanır. Ve FP-Tree her node
da parent bağlantı ve node bağlantılarına sahiptir.
AFOPT algoritma ise artan frequency kullanır, bu yüzden
yukarıdan aşağıya dolaşma stratejisini benimsemiştir. Ve
pointerlar eklemeye gerek yoktur.
FP-Treenin burada avantajı azalan frequency sıra kullanarak öne
ekleme paylaşım ihtimalini artırması yönüyle AFOPT dan daha
kompakt oluşudur. AFOPT tarafından benimsenen artan frequency
sıra, ağaçtaki tek dallanmaları etkilemektedir. Bu problem AFOPT da
tek dallanmaları saklamak için dizi kullanımı ile hafifletilmiştir.
12.
13. Conditional database için 3 farklı yapı
kullanılır; array, AFOPT-tree ve buckets
Dinamik artan frequenti benimser.
Conditional databaseler her levelda fiziksel
olarak yapılanır.
14. Buckets tekniği uygun ve farklı frequenty itemların sayısı 10
civarındayken etkilidir. Ağaç yapısı dense database de, dizi yapısı
ise sparse database de verimli olur. Hangi yapıyı seçmemiz
gerektiğini aşağıdaki parametreler, kullanarak belirleyebiliriz;
Sadece top-bucket_size frequent itemları içeren itemsetler
kullanılan bucketları sayar.
Eğer minimum eşikdeğeri >tree_min_sup
veya
bütün frequent itemların ortalaması > tree_avg_sup ise
geriye kalan tüm conditional databaseler AFOPT-Tree kullanarak
gösterilir.
Aksi halde sonraki tree_alphabet_size ın frequenti yüksek
itemlarının conditional databaseleri AFOPT-Tree kullanarak
gösterilir ve geriye kalan conditional databaselerse dizi kullanarak
gösterilir.
15.
16. Transactional database D nin ve minimum eşikdeğerinin
verildiği durumda, AFOPT algoritması tüm frequent
itemsetleri mining etmek için, orijinal database i iki kere
tarar.
İlk taramada, D deki tüm frequent itemlar, artan frequent sıralama
içinde gruplandırılır ve F={i1,i2,…,im} şeklinde gösterilir.
Diğer taramayı ise Dİj için her bir ij de conditional database
yapılandırmak için yaparız. İkinci tarama esnasında, her bir t
işlemindeki frequent i düşük olan itemlar kaldırılır ve geriye kalan
itemlar Fdeki sıraya göre gruplandırılır. t işlemi, gruplandırmanın
ardından t nin ilk item ı ij ise, Dİj nin içine alınır. Geriye kalan mining
işlemleri sadece conditional databaselere uygulanır. Böylelikle
orijinal database e ulaşmaya gerek kalmaz.
17. Dİj içinde bir t işlemi varsayalım, t nin içinde i1
den sonraki item ij olsun, bu durumda t Dİj nin
içine yerleştirilir. Bu adıma “push-right” denir.
Itemları artan frequent sıralamaya göre
gruplandırmak her defasında küçük bir
conditional database in push-right edilmesini
sağlar.