SlideShare une entreprise Scribd logo
1  sur  18
ESRANUR ÖĞRETMEN
         080401040
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
  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.
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.
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.
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.
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.
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.
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.
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.
   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.
   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.
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.
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.
An efficient implementation of pattern growth approach

Contenu connexe

En vedette

En vedette (14)

Linker Wisdom
Linker WisdomLinker Wisdom
Linker Wisdom
 
About Mindqjobs.com
About Mindqjobs.comAbout Mindqjobs.com
About Mindqjobs.com
 
Herbs , Spices & Seeds List
Herbs , Spices & Seeds ListHerbs , Spices & Seeds List
Herbs , Spices & Seeds List
 
Windows 8
Windows 8Windows 8
Windows 8
 
Creating value by getting rid of it
Creating value by getting rid of itCreating value by getting rid of it
Creating value by getting rid of it
 
Who is tariq
Who is tariqWho is tariq
Who is tariq
 
140722 exetastea uli_gel_g
140722 exetastea uli_gel_g140722 exetastea uli_gel_g
140722 exetastea uli_gel_g
 
Määramatus 4
Määramatus 4Määramatus 4
Määramatus 4
 
Sky Ferreira 17 Analysis
Sky Ferreira 17 AnalysisSky Ferreira 17 Analysis
Sky Ferreira 17 Analysis
 
Kaposi Varicelliform Eruption
Kaposi Varicelliform EruptionKaposi Varicelliform Eruption
Kaposi Varicelliform Eruption
 
Music Video Information Pack
Music Video Information PackMusic Video Information Pack
Music Video Information Pack
 
Go to campus 2014-Ikatan Keluarga Besar Alumni Ponpes Modern Al-Hidayah
Go to campus 2014-Ikatan Keluarga Besar Alumni Ponpes Modern Al-HidayahGo to campus 2014-Ikatan Keluarga Besar Alumni Ponpes Modern Al-Hidayah
Go to campus 2014-Ikatan Keluarga Besar Alumni Ponpes Modern Al-Hidayah
 
интересные задачи
интересные задачиинтересные задачи
интересные задачи
 
CSP as a Domain-Specific Language Embedded in Python and Jython
CSP as a Domain-Specific Language Embedded in Python and JythonCSP as a Domain-Specific Language Embedded in Python and Jython
CSP as a Domain-Specific Language Embedded in Python and Jython
 

Plus de Esranur Öğretmen

Medical data mining applications
Medical data mining applicationsMedical data mining applications
Medical data mining applicationsEsranur Öğretmen
 
Som algorithms in artificial neural networks
Som algorithms in artificial neural networksSom algorithms in artificial neural networks
Som algorithms in artificial neural networksEsranur Öğretmen
 
Medical data mining applications
Medical data mining applicationsMedical data mining applications
Medical data mining applicationsEsranur Öğretmen
 
An improved genetic algorithm and its blending
An improved genetic algorithm and its blendingAn improved genetic algorithm and its blending
An improved genetic algorithm and its blendingEsranur Öğretmen
 

Plus de Esranur Öğretmen (7)

Dolby sound encoders
Dolby sound encodersDolby sound encoders
Dolby sound encoders
 
Medical data mining applications
Medical data mining applicationsMedical data mining applications
Medical data mining applications
 
Som algorithms in artificial neural networks
Som algorithms in artificial neural networksSom algorithms in artificial neural networks
Som algorithms in artificial neural networks
 
Raid technologies
Raid technologiesRaid technologies
Raid technologies
 
Medical data mining applications
Medical data mining applicationsMedical data mining applications
Medical data mining applications
 
An improved genetic algorithm and its blending
An improved genetic algorithm and its blendingAn improved genetic algorithm and its blending
An improved genetic algorithm and its blending
 
Health Chase Systems
Health Chase SystemsHealth Chase Systems
Health Chase Systems
 

An efficient implementation of pattern growth approach

  • 1. ESRANUR ÖĞRETMEN 080401040
  • 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.