VERİ MADENCİLİĞİ. İlişkilendirme Kuralları Bulma. Yaygın Nitelikler. İlişkilendirme Kuralları. nitelikler kümesi (Itemset) Destek s (Support)

Benzer belgeler
VERİ MADENCİLİĞİ. İlişkilendirme Kuralları Bulma. İlişkilendirme Kuralları. Yaygın Öğeler. İlişkilendirme Kuralları Madenciliği

İlişkilendirme kurallarının kullanım alanları

Veri Madenciliği. Bölüm 4. Birliktelik Kuralları. Doç. Dr. Suat Özdemir.

Dr. Hidayet Takçı. Veri Madenciliği Eğitimi GYTE Dr. Hidayet Takçı 10/05/2008 #

Web Madenciliği (Web Mining)

PARALEL VERİ MADENCİLİĞİ ALGORİTMALARI. BAŞARIM 09, Nisan 2009, ODTÜ, Ankara

Büyük Veri Analitiği (Big Data Analytics)

inde Sepet Analizi Uygulamaları Market Basket Analysis for Data Mining

VERİ MADENCİLİĞİ (Birliktelik Kuralları) Yrd.Doç.Dr. Kadriye ERGÜN

Pazar Sepeti Analizi için Örneklem Oluşturulması ve Birliktelik Kurallarının

SOCIAL MENTALITY AND RESEARCHER THINKERS JOURNAL

BİRLİKTELİK KURALI YÖNTEMİ İÇİN BİR VERİ MADENCİLİĞİ YAZILIMI TASARIMI VE UYGULAMASI

Web Madenciliği (Web Mining)

Konular. VERİ MADENCİLİĞİ Giriş. Problem Tanımı. Veri Madenciliği: Tarihçe. Veri Madenciliği Nedir? Bilgi Keşfi

APRIORI ALGORİTMASI İLE ÖĞRENCİ BAŞARISI ANALİZİ

Apriori Algoritması. Konu İçeriği. Giriş. Tarihçesi. Apriori Nedir? Örnekler. Algoritma. Açıklama. Weka İle Kullanımı. Kaynakça.

Veri madenciliği yöntemleri

VERİ MADENCİLİĞİ Metin Madenciliği

APRİORİ ALGORİTMASI İLE TEKNİK SEÇMELİ DERS SEÇİM ANALİZİ SELECTION BEHAVIOR ANALYSIS OF TECHNICAL ELECTIVE COURSES USING APRIORI ALGORITHM

Apriori Algoritması ile Teknik Seçmeli Ders Seçim Analizi

Web Madenciliği (Web Mining)

BMB204. Veri Yapıları Ders 9. B+ Ağacı, Hash, Heap. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

BLM-431 YAPAY ZEKA. Ders-4 Bilgisiz Arama Yöntemleri. Yrd. Doç. Dr. Ümit ATİLA

Bölüm 1. Giriş. Öğretim üyesi: Doç. Dr. Suat Özdemir E-posta: Websayfası:

Birliktelik Kuralları Analizi. Yard. Doç. Dr. Derya BİRANT Prof. Dr. Alp KUT

VERİ MADENCİLİĞİ (Kümeleme) Yrd.Doç.Dr. Kadriye ERGÜN

Tanım Bir A kümesinin her elemanı, bir B kümesinin de elamanı ise, A kümesine B kümesinin alt kümesi denir.

VERİ MADENCİLİĞİ (Karar Ağaçları ile Sınıflandırma) Yrd.Doç.Dr. Kadriye ERGÜN

Eğitim seti (training set) sınıflandırma modelinin elde edileceği kayıtları içerir

HARUN GÖKÇE YÜKSEK LİSANS TEZİ

YZM 2116 Veri Yapıları

İş Zekası Çözümleri için Çok Boyutlu Birliktelik Kuralları Analizi

Week 9: Trees 1. TREE KAVRAMI 3. İKİLİ AĞAÇ DİZİLİMİ 4. İKİLİ ARAMA AĞACI 2. İKİLİ AĞAÇ VE SUNUMU > =

Veri Madenciliği. Bölüm 1. Giriş. Doç. Dr. Suat Özdemir. w3.gazi.edu.tr/~suatozdemir

Büyük Veri Analitiği (Big Data Analytics)

Yönetim Bilişim Sistemleri Alanında Metin Madenciliği ile Bilgi Haritalama

Apriori Algoritması ve Türkiye'deki Örnek Uygulamaları

VERİ MADENCİLİĞİ MODELLERİ VE UYGULAMA ALANLARI

YZM 2116 Veri Yapıları

127 - Twoing Algoritması ile Sınıflandırma Kalp Hastalığı Uygulaması MEHMET AKİF ERSOY ÜNİVERSİTESİ İLHAN UYSAL MEHMET BİLEN SAMİ ULUKUŞ

Sıralı Örüntü Madenciliği ile e-bankacılıkta Kullanıcı Davranışlarının Modellenmesi

Konular. VERİ MADENCİLİĞİ Giriş. Problem Tanımı. Veri Madenciliği: Tarihçe. Veri Madenciliği Nedir? Bilgi Keşfi

VERİ MADENCİLİĞİ (Sınıflandırma Yöntemleri) Yrd.Doç.Dr. Kadriye ERGÜN

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

Max - Min Heap Tree (Max ve Min Yığıt Ağaçları) Veri Yapıları ve Algoritmalar 2 - Mustafa EGE Ders Notları

ÇEŞİTLİ TİP VERİTABANLARINDA HASSAS BİLGİ GİZLEME

Yrd. Doç. Dr. Semra Erpolat

Konular. VERİ MADENCİLİĞİ Veri Önişleme. Değer Kümeleri. Veri Nedir? Nitelik Türleri. Konular. Veri Veri Önişleme Benzerlik ve farklılık

YZM YAPAY ZEKA DERS#4: BİLGİSİZ ARAMA YÖNTEMLERİ

Nesnelerin İnternetinde Veri Analizi

VERİ MADENCİLİĞİ (Veri Ön İşleme-2) Yrd.Doç.Dr. Kadriye ERGÜN

EÜFBED - Fen Bilimleri Enstitüsü Dergisi Cilt-Sayı: 5-2 Yıl:

Veri Tabanı, Veri Ambarı, Veri Madenciliği. Veri Madenciliği Uygulama Alanları

ÖZEL EGE LİSESİ 10. OKULLARARASI MATEMATİK YARIŞMASI 10. SINIFLAR SORULARI

Zamansal Veri Madenciliği ve Anomali Tespiti için Bir Uygulama

Algoritmalar. Heap Sort. Bahar 2017 Doç. Dr. Suat Özdemir 1

Yrd. Doç. Dr. Caner ÖZCAN

Web Madenciliği (Web Mining)

p sayısının pozitif bölenlerinin sayısı 14 olacak şekilde kaç p asal sayısı bulunur?

Sigortacılık Sektöründe Müşteri İlişkileri Yönetimi İçin Birliktelik Kuralı Kullanılması

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#1: ALGORİTMA KAVRAMI

DERS NOTLARI. Yard. Doç. Dr. Namık AKÇAY İstanbul Üniversitesi Fen Fakültesi

SQL Komutları (2) Uzm. Murat YAZICI

YZM 3217 YAPAY ZEKA DERS#10: KÜMELEME

Büyük Veri İçin İstatistiksel Öğrenme (Statistical Learning for Big Data)

VERİ YAPILARI VE PROGRAMLAMA

Alıştırma 1: Yineleme

Mesleki Terminoloji II Veri Madenciliği

Yrd. Doç. Dr. Ümit ATİLA

YZM 2116 Veri Yapıları

Veri Yapıları. Öğr.Gör.Günay TEMÜR Düzce Üniversitesi Teknolojis Fakültesi

VERİ MADENCİLİĞİ (Karar Ağaçları ile Sınıflandırma) Yrd.Doç.Dr. Kadriye ERGÜN

bitık MOBİL TİCARET UYGULAMASI ABDULLAH ÇİÇEKCİ

Web Madenciliği (Web Mining)

Veri Madenciliği. Bölüm 5. Sınıflandırma 1. Doç. Dr. Suat Özdemir.

Algoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri. Mustafa Kemal Üniversitesi

Yrd. Doç. Dr. A. Burak İNNER Bilgisayar Mühendisliği

Algoritma Analizi ve Büyük O Notasyonu. Şadi Evren ŞEKER YouTube: Bilgisayar Kavramları

BIP116-H14-1 BTP104-H014-1

VERİ YAPILARI LİSTELER. Yrd. Doç. Dr. Murat GÖK Bilgisayar Mühendisliği Bölümü YALOVA ÜNİVERSİTESİ

DOSYA ORGANİZASYONU. Ağaç Yapıları ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

Veritabanı Yönetim Sistemleri, 2. basım Zehra ALAKOÇ BURMA, 2009, Seçkin Yayıncılık

SQL'e Giriş. SELECT Deyimi. SQL Komutları. Yardımcı Deyimler

F(A, N, K) // A dizi; N, K integer if N<0 then return K; if A[N]>K then K = A[N]; return F(A, N-1, K);

XII. Ulusal Matematik Olimpiyatı Birinci Aşama Sınavı

Genel Graf Üzerinde Mutlak 1-merkez

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

Kümeleme Algoritmaları. Tahir Emre KALAYCI

AB yönlü doğru parçası belirtilmiş olur. Doğrultusu, uzunluğu ve yönünden söz edilebilir.

Yrd. Doç. Dr. Caner ÖZCAN

Final Sınavı Soruları Bahar 2018

SERİMYA II. MATEMATİK YARIŞMASI I. AŞAMA SORULARI

DERS NOTLARI. Yard. Doç. Dr. Namık AKÇAY İstanbul Üniversitesi Fen Fakültesi

Eğitimde Veri Madenciliği Uygulamaları Data Mining Applications in Education

Akademik Rapor Hazırlama ve Yazışma Teknikleri

MİGROS TÜRK A.Ş.DE BİRLİKTELİK KURALLARININ YERLEŞİM DÜZENİ PLANLAMADA KULLANILMASI

SAYILAR MATEMATİK KAF03 BASAMAK KAVRAMI TEMEL KAVRAM 01. İki basamaklı en küçük sayı : İki basamaklı en büyük negatif sayı :.

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301)

Büyük Veri Analitiği (Big Data Analytics)

DBSCAN, OPTICS ve K-Means Kümeleme Algoritmalarının Uygulamalı Karşılaştırılması

Transkript:

İlişkilendirme Kuralları Madenciliği VERİ MADENCİLİĞİ İlişkilendirme Kuralları Yrd. Doç. Dr. Şule Gündüz Öğüdücü İlişkilendirme kuralı madenciliği Veri kümesi içindeki yaygın örüntülerin, nesneleri oluşturan nitelikler arasındaki ilişkilerin bulunması İlişkilendirme kurallarını kullanma: veri içindeki kuralları belirleme Hangi ürünler çoğunlukla birlikte satılıyor? Kişisel bilgisayar satın alan bir kişinin bir sonraki satın alacağı ürün ne olabilir? Yeni bir ilaca duyarlı olan DNA tipleri hangileridir? Web dökümaları otomatik olarak sınıflandırılabilir mi? İlişkilendirme Kuralları Bulma Bir niteliğin (veya nitelikler kümesinin) varlığını harekette bulunan başka niteliklerin varlıklarına dayanarak öngörme {a,b,c,...} {x,y,..} {,, } Kural şekli: Gövde Baş [destek, güven] satın alma(x, ekmek ) satın alma (x, süt ) [%0.6, %65] öğrenci(x, BLG ), kayıt(x, VTYS ) not(x, A ) [%, %75] hareketlerde sıkça birlikte yer alan nitelikleri bulur İlişkilendirme Kuralları Bulma Bütün niteliklerden oluşan küme I={i, i,...,i d } I={ekmek, süt, bira, kola, yumurta, bez} Hareket T j I, Tj={i j, i j,...,i jk } T={ekmek, süt} Hareketlerden oluşan veri kümesi D={T,T,...,T N } Market Alışveriş verisi Hareket T T T T4 T5 Öğeler Ekmek, Süt Ekmek, Bez, Bira, Yumurta Süt, Bez, Bira, Kola Ekmek, Süt, Bez, Bira Ekmek, Süt, Bez, Kola Yaygın nitelikler: Bez, bira Süt, ekmek, yumurta, kola Bira, ekmek, süt Bulunan İlişkilendirme Kuralları {Bez} {Bira}, {Süt, Ekmek} {Yumurta, Kola}, {Bira, Ekmek} {Süt} 4 Yaygın Nitelikler İlişkilendirme Kuralları nitelikler kümesi (Itemset) Bir veya daha çok nitelikten oluşan küme k-nitelikler kümesi (k-itemset): k nitelikten oluşan küme -nitelikler kümesi: {Bez, Bira, Ekmek} Destek sayısı σ (Support count) Bir nitelikler kümesinin veri kümesinde görülme sıklığı σ({süt, Ekmek, Bez}) = Destek s (Support) Bir nitelikler kümesinin içinde bulunduğu hareketlerin toplam hareketlere oranı Veri kümesi D={T,T,...,T N } en az, en küçük destek ve güven değerine sahip X Y şeklinde kuralların bulunması X I, Y I, X Y= Kuralları değerlendirme ölçütleri destek (support) s: X Y nitelikler kümesinin bulunduğu hareket sayısının toplam hareket sayısına oranı # X Y support(x Y) = N güven (confidence) c: X Y nitelikler kümesinin bulunduğu hareket sayısının X nitelikler kümesi bulunan hareket sayısına oranı #( X Y ) confidence( X Y ) = # X 5 s({süt, Ekmek, Bez}) = /5 TID T T T T4 T5 Öğeler Ekmek, Süt Ekmek, Bez, Bira, Yumurta Süt, Bez, Bira, Kola Ekmek, Süt, Bez, Bira Ekmek, Süt, Bez, Kola Örnek: {Süt, Bez} {Bira} σ ( sut, bira, bez) support = = = 0,4 T 5 σ ( sut, bira, bez) confidence = = = 0,67 σ ( sut, bez) 6

İlişkilendirme Kuralları Oluşturma İlişkilendirme kuralları madenciliğinde temel amaç: D hareket kümesinden kurallar oluşturmak kuralların destek değeri, belirlenen en küçük destek (minsup) değerinden büyük ya da eşit olmalı kuralların güven değeri, belirlenen en küçük güven (minconf) değerinden büyük ya da eşit olmalı Brute-force yaklaşım Olası bütün kuralları listele Her kural için destek ve güven değeri hesapla minsup ve minconf eşik değerlerinden küçük destek ve güven değerlerine sahip kuralları sil hesaplama maliyeti yüksek R = d + + d 7 TID İlişkilendirme Kuralları Özellikleri Öğeler Ekmek, Süt Ekmek, Bez, Bira, Yumurta Süt, Bez, Bira, Kola 4 Ekmek, Süt, Bez, Bira 5 Ekmek, Süt, Bez, Kola Aynı nitelikler kümesinin ikili bölünmesine (binary partition) ait kurallar {Süt, Bez, Bira} Aynı nitelikler kümesinden oluşan kuralların destek değerleri aynı, güven değerleri farklı Kurallar için destek ve güven şartları ayrı değerlendirilebilir Örnek Kurallar: {Süt, Bez} {Bira} (s=0.4, c=0.67) {Süt, Bira} {Bez} (s=0.4, c=.0) {Bez, Bira} {Süt} (s=0.4, c=0.67) {Bira} {Süt, Bez} (s=0.4, c=0.67) {Bez} {Süt, Bira} (s=0.4, c=0.5) {Süt} {Bez, Bira} (s=0.4, c=0.5) 8 İlişkilendirme Kuralları Oluşturma İki adımda gerçeklenir. Yaygın nitelikleri belirleme: destek değeri minsup değerinden büyük ya da eşit olan nitelikler kümelerini bulma. Kural Oluşturma: Destek değeri minconf değerinden büyük ya da eşit olan ve yaygın niteliklerin ikili bölünmeleri olan kurallar oluşturma Güçlü kurallar Yaygın nitelik Adayları Oluşturma null A B C D E AD AE BE CD AB AC BC BD CE DE ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE Yaygın nitelikleri belirleme abc İlişkilendirme Kuralları Oluşturma ab c, b ac ABCD ABCE ABDE ACDE BCDE ABCDE Yaygın nitelikleri bulmak maliyetli d nitelik için d - yaygın nitelik oluşabilir d - yaygın nitelikadayı 9 0 Yaygın Nitelik Oluşturma Yaygın nitelik Oluşturma Yöntemleri Brute-Force Yaklaşım N Her yaygın nitelik adayı için veri kümesini taranarak hareketlerde yaygın nitelik adayı bulunup bulunmadığı kontrol edilir TID Öğeler Ekmek, Süt Ekmek, Bez, Bira, Yumurta Süt, Bez, Bira, Kola 4 Ekmek, Süt, Bez, Bira 5 Ekmek, Süt, Bez, Kola Yaygın nitelik adayları M Yaygın nitelik aday sayısını (M) azaltma Örnek: Apriori algoritması Hareket sayısını (N) azaltma Veri kümesi tarama sayısını (MN) azaltma w yaygın nitelik adayları için destek değeri bulunur Destek değeri minsup değerine eşit yada büyük olanlar yaygın nitelikler karmaşıklığı: O(NMw), M= d - hesaplaması maliyetli

Apriori Algoritması Apriori yöntemi Rakesh Agrawal, Ramakrishnan Srikant, Fast Algorithms for Mining Association Rules, Proc. 0th Int. Conf. Very Large Data Bases, VLDB 94 Heikki Mannila, Hannu Toivonen, Inkeri Verkamo, Efficient Algorithms for Discovering Association Rules. AAAI Workshop on Knowledge Discovery in Databases (KDD-94). Temel yaklaşım: X, Y : ( X Y ) s( X ) s( Y ) Bir nitelikler kümesinin destek değeri altkümesinin destek değerinden büyük olamaz anti-monotone özellik Apriori Algoritması Bir yaygın nitelikler kümesinin herhangi bir altkümesi de yaygın nitelikler kümesidir {Süt, Bez, Bira} kümesi yaygın nitelikler kümesi ise {Süt, Bez} kümesi de yaygın nitelikler kümesidir {Süt, Bez, Bira} nitelikler kümesi olan her harekette {Süt, Bez} kümesi de vardır Yaygın nitelik aday sayısını azaltma yöntemi: Yaygın nitelikler kümesi olmayan bir kümenin üst kümeleri yaygın nitelik adayı olarak oluşturulmaz (destek değeri hesaplanmaz) Yöntem: k-yaygın nitelikler kümesinden (k+) yaygın nitelik adayları oluştur yaygın nitelik adayları için destek değeri hesapla 4 Apriori Yaygın nitelik Azaltma Yöntemi Apriori Algoritması: Örnek yaygın nitelik olmadığı belirlendi oluşturulmayan üstkümeler Öğe Sayı Ekmek 4 Kola Süt 4 Bira Bez 4 Yumurta minsup = -nitelikler kümesi Öğeler kümesi Sayı {Ekmek,Süt} {Ekmek,Bira} {Ekmek,Bez} {Süt,Bira} {Süt,Bez} {Bira,Bez} Her nitelikler kümesi için destek hesaplansaydı, C + C + C = 6 + 5 + 0 = 4 Yaygın nitelik sayısı azaltılınca, 6 + 6 + = -nitelikler kümesi (kola ya da yumurta olan nitelikler kümesini yaygın nitelik adayı olarak oluşturmaya gerek yok) -nitelikler kümesi Öğeler Kümesi Sayı {Ekmek, Süt, Bez} 5 6 Apriori Algoritması Pseudo-code: C k : Candidate itemset of size k L k : frequent itemset of size k L = {frequent items}; for (k = ; L k!= ; k++) do begin C k+ = candidates generated from L k ; for each transaction t in database do increment the count of all candidates in C k+ that are contained in t L k+ end return k L k ; = candidates in C k+ with min_support Yaygın Nitelikler Adayı Oluşturma L k- kümesinde nitelikler alfabetik sıralanmış olsun. adım: L k- kendisiyle birleştirme insert into C k select p.item, p.item,, p.item k-, q.item k- from L k- p, L k- q where p.item =q.item,, p.item k- =q.item k-, p.item k- < q.item k-. adım: Eleme forall itemsets c in C k do forall (k-)-subsets s of c do if (s is not in L k- ) then delete c from C k 7 8

Örnek: Yaygın nitelikler Adayı Oluşturma Yaygın nitelik adayları oluşturma: L k kendisiyle birleştirilir (self join) eleme Örnek: L ={abc, abd, acd, ace, bcd} Kendisiyle birleştirme: L *L abc ve abd nitelikler kümesinden abcd acd ve ace nitelikler kümesinden acde Eleme ade L kümesinin bir elemanı olmadığından acde yaygın niteliklere dahil edilmez C 4 ={abcd} Yaygın niteliklerden İlişkilendirme Kuralları Oluşturma Sadece güçlü ilişkilendirme kuralları oluşuyor Yaygın nitelikler minsup değerini sağlıyor Güçlü ilişkilendirme kuralları minconf değerini sağlıyor. Güven (A B)=Prob(B A)=Destek(A B) Destek(A) Yöntem: Her yaygın nitelikler kümesi f in altkümelerini oluştur Her altküme s için, s (f-s) ilişkilendirme kuralı oluştur eğer: destek(f) / destek(s) minconf ise 9 0 Apriori Algoritmasını Geliştirme Eniyilime: Hash Ağacı Veritabanı tarama sayısını azaltma k-yaygın nitelikler kümesi için veritabanı k kez taranıyor Hash yöntemi ile veritabanı tarama sayısını azaltma Veritabanındaki hareket sayısını ve hareketlerdeki nitelik sayısını azaltma yaygın olmayan niteliklerin veritabanında yer almasına gerek yok Arama uzayını parçalama Her yaygın nitelik adayının destek değerinin belirlenmesi için veri kümesi taranır Yaygın nitelik adayı sayısı çok büyük olabilir Karşılaştırma sayısını azaltmak için yaygın nitelik adayları hash ağacında saklanır Her hareket bütün yaygın niteliklerle karşılaştırılmak yerine hash ağacının ilgili bölümündeki yaygın nitelikler adayları ile karşılaştırır Hash Ağacı Oluşturma Bir Harekette Bulunabilecek Yaygın nitelikleri Belirleme 5 adet -nitelikler kümesi { 4 5}, { 4}, {4 5 7}, { 5}, {4 5 8}, { 5 9}, { 6}, { 4}, {5 6 7}, { 4 5}, { 5 6}, { 5 7}, {6 8 9}, { 6 7}, { 6 8} Hash fonksiyonu kullanılarak bir hash ağacında saklanıyor h(p) = p mod max yaprak boyutu: bir yaprakta bulunabilecek nitelik kümesi sayısı t hareketinin - Hareket t nitelikler kümesi 5 6 Seviye Seviye 5 6 5 6 5 6 Hash fonksiyonu,6,9,4,7,5,8 4 5 4 4 5 7 5 4 5 8 4 5 6 7 4 5 5 6 6 5 7 6 8 9 5 9 6 7 6 8 5 6 5 6 5 6 5 6 5 6 5 6 Seviye 5 6 5 6 -nitelikler kümesi 5 6 5 6 5 6 5 6 4 4

Bir Harekette Bulunabilecek Yaygın nitelikleri Hash Ağacı ile Belirleme Bir Harekette Bulunabilecek Yaygın nitelikleri Hash Ağacı ile Belirleme 5 6 hareket Hash Fonksiyonu 5 6 hareket Hash Fonksiyonu + 5 6 + 5 6 5 + 6 + 5 6 4 5 6 7 + 5 6 + 5 6,4,7,5,8,6,9 + 5 6 + 5 6 5 + 6 + 5 6 4 5 6 7 + 5 6 + 5 6,4,7,5,8,6,9 4 5 6 4 4 5 7 5 4 5 8 5 9 4 5 5 6 6 7 5 7 6 8 6 8 9 4 5 6 4 4 5 7 5 4 5 8 5 9 4 5 5 6 6 7 5 7 6 8 6 8 9 5 yaygın nitelik adayının i ile karşılaştırıldı 5 6 Karmaşıklığı Etkileyen Etmenler Yaygın Nitelikleri Belirlemede Sorunlar Veri kümesindeki boyut sayısı (nitelik sayısı) her niteliğin destek değerini saklamak için daha fazla saklama alanına ihtiyaç var Veri kümesinin büyüklüğü Veri kümesi tarandığı için veri kümesindeki hareket sayısının fazla olması algoritmanın çalışma süresini uzatır Hareketlerin ortalama büyüklüğü (niteliksayısı) Yoğun veri kümelerinde hareketlerdeki nitelik sayısı fazla olur Yaygın nitelik kümelerindeki nitelik sayısı daha fazladır En küçük destek değerini belirleme En küçük destek değerini küçültme daha fazla sayıda yaygın nitelik oluşmasına neden olur Yaygın nitelik adayı sayısının ve yaygın nitelik kümesindeki niteliklerin sayısının artmasına neden olur Sorunlar Veri kümesinin birçok kez taranması Yaygın nitelikler aday sayısının fazlalığı Yaygın nitelikleri bulmak için i i i 00 veri kümesini tarama sayısı: 00 Aday sayısı: ( 00 ) + ( 00 ) + + ( 0 0 0 0 ) = 00 - =.7*0 0! Yaygın nitelikler adayları için destek değerinin hesaplanması Çözümler Veri kümesi tarama sayısını azaltma (S. Brin R. Motwani, J. Ullman, and S. Tsur. Dynamic itemset counting and implication rules for market basket data. In SIGMOD 97) Yaygın nitelik aday sayısını azaltma (J. Park, M. Chen, and P. Yu. An effective hash-based algorithm for mining association rules. In SIGMOD 95) Destek değerinin hesaplanmasını kolaylaştırma (M. Zaki et al. New algorithms for fast discovery of association rules. In KDD 97) Yaygın nitelikler adayı oluşturmadan yaygın nitelikler bulunabilir. (J. Han, J. Pei, and Y. Yin, Mining Frequent Patterns without Candidate Generation. In SIGMOD'00.) 7 8 Aday Oluşturmadan Yaygın Nitelikleri Belirleme FP-Tree Algoritması Kısa yaygın niteliklere yeni nitelikler eklenerek daha uzun yaygın nitelikler elde etme Örnek: abc bir yaygın nitelik Veri kümesinde içinde abc nitelikleri bulunan hareketler (DB abc) DB abc içinde d yaygın nitelik olarak bulunursa: abcd yaygın nitelik olarak belirlenir 9 TID nitelikler nitelikler (sıralı) yaygın 00 {f, a, c, d, g, i, m, p} {f, c, a, m, p} 00 {a, b, c, f, l, m, o} {f, c, a, b, m} minsup = 00 {b, f, h, j, o, w} {f, b} 400 {b, c, k, s, p} {c, b, p} 500 {a, f, c, e, l, p, m, n} {f, c, a, m, p} Başlık Tablosu. DB bir kez taranarak - yaygın nitelik nitelik sayı ilk nitelik f:4 c: bulunuyor f 4 c 4 c: b: b:. Yaygın nitelikler destek a sayısına göre büyükten b a: p: küçüğe sıralanıor, f-list m. DB bir kez daha p m: b: taranarak FP-ağacı oluşturuluyor. F-list=f-c-a-b-m-p p: m: 0 5

FP-Ağacının Özelliği Bütünlük Yaygın nitelikleri bulmak için gerekli tüm bilgiyi barındırır Sıkıştırılmış Yaygın olmayan nitelikler FP-ağacında bulunmaz Destek sayısı daha büyük olan nitelikler köke daha yakın Asıl veri kümesinden daha büyük değil Örüntüleri ve Veri Kümesini Bölme Yaygın nitelikler f-listesine göre altkümelere bölünür F-list=f-c-a-b-m-p p niteliksi bulunan örüntüler m niteliği bulunan ancak p niteliği bulunmayan örüntüler... c niteliği bulunan ancak a, b, m, p niteliği bulunmayan örüntüler f niteliksi bulunan örüntüler Nitelik Koşullu Örüntü Oluşturma Nitelik Koşullu Örüntülerden Koşullu FP- Ağaçları Oluşturma Başlık tablosundan her niteliğin bulunduğu ilk düğüm bulunur. Bu düğümden başlayarak ağaçta niteliğin bulunduğu tüm düğümlere ulaşılır Kökten niteliğe kadar olan yollar bulunur (transformed prefix paths) Her koşullu örüntü için niteliklerin destek sayısı bulunur Yaygın nitelikler için koşullu FP-ağacı oluşturulur Başlık Tablosu nitelik Sayı İlk nitelik f 4 c 4 a b m p m: c: a: f:4 c: b: b: b: p: p: m: nitelik Koşullu Örüntü nitelik koşullu örüntü c f: a fc: b fca:, f:, c: m fca:, fcab: p fcam:, cb: Başlık Tablosu nitelik sayı ilk nitelik f:4 c: f 4 c 4 c: b: b: a b a: p: m p m: b: p: m: m-koşullu örüntüler fca:, fcab: f: c: a: m-koşullu FP-ağacı m niteliği bulunan tüm yaygın nitelikler m, fm, cm, am, fcm, fam, cam, fcam 4 Koşullu FP-Ağaçları FP-Ağaçları ile Yaygın nitelikleri Bulma f: c: a: m-koşullu FP-ağacı am niteliklerinin koşullu örüntüleri: (fc:) f: c: am-koşullu FP-ağacı cm niteliklerinin koşullu örüntüleri:(f:) f: cm-koşullu FP-ağacı fm niteliklerinin koşullu örüntüleri: cam niteliklerinin koşullu örüntüleri: (f:) f: cam-koşullu FP-ağacı fam niteliklerinin koşullu örüntüleri: Yaygın niteliklere yinelemeli olarak yeni nitelikler ekleme Yöntem: Her yaygın niteliğin koşullu örüntülerini ve koşullu FPağacını oluştur İşlemi, yeni oluşturulan her koşullu FP-ağacı için tekrarla Oluşturulan FP-ağaçlarında hiç nitelik bulunmayana kadar veya ağaçta tek bir dal kalana kadar işleme devam et Ağaçta tek bir dal kaldığında yaygın nitelikler dalı oluşturan niteliklerin kombinasyonu m:, am:, cm:, fm:, cam:, fam:, fcam:, fcm: 5 6 6

İlişkilendirme Kuralları Oluşturma İlişkilendirme Kuralları Oluşturma L yaygın niteliklerden f L altkümelerinin bulunması f L-f kurallarının en küçük güven değeri koşulunu sağlaması gerekir Eğer {A,B,C,D} yaygın nitelikler ise olası ilişkilendirme kuralları ABC D, ABD C, ACD B, BCD A, A BCD, B ACD, C ABD, D ABC AB CD, AC BD, AD BC, BC AD, BD AC, CD AB L = k için k ilişkilendirme kuralı adayı vardır L ve L kuralları geçerli kurallar değildir İlişkilendirme kurallarının güven değerlerinin antimonotone özelliği yok c(abc D) değeri c(ab D) değerinden küçük ya da büyük olabilir Aynı yaygın nitelikler kümesinden L = {A,B,C,D} oluşan ilişkilendirme kurallarının güven değerleri için anti-monotone özelliği var c(abc D) c(ab CD) c(a BCD) İlişkilendirme kuralının solunda bulunan nitelik sayısı büyük olan kuralların güven değerleri de büyüktür. 7 8 Apriori Algoritması için Kural Oluşturma Apriori Algoritması için Kural Oluşturma Düşük güven değerli kural Sağ taraflarındaki niteliklerin önekleri aynı olan iki kural birleştirilir (CD=>AB,BD=>AC) kuralları birleştirilerek D => ABC kural adayı oluşturulur. AD=>BC kuralının güven değeri büyük değilse D => ABC kuralı elenir CD=>AB D=>ABC BD=>AC Elenen kurallar 9 40 Destek Değerinin Etkisi Bulunan Kuralların Önemi minsup değeri büyük belirlenirse veri kümesinden bazı örüntüler elde edilmeyebilir: veri kümesinde daha az bulunan önemli bilgi taşıyan minsup değeri küçük belirlenirse yöntem karmaşıklaşır çok fazla sayıda yaygın nitelikler kümesi elde edilir Tek bir destek değeri her zaman yeterli olmayabilir. Tarafsız Ölçüt: Örüntüler veri kümesinden elde edilen istatistiklere göre sıralanır güven, destek, Jaccard, Gini,... Taraflı Ölçüt Örüntüler kullanıcının değerlendirmesine göre sıralanır Bulunan örüntü kullanıcının beklentisi dışındaysa ilginçtir (Silberschatz & Tuzhilin) 4 4 7

Bulunan Kuralların Önemi Taraflı değerlendirme için kullanıcının beklentisinin modellenmesi gerekir + Yaygın olduğu düşünülen örüntü - Yaygın olmadığı düşünülen örüntü Yaygın olduğu bulunan örüntü Yaygın olmadığı bulunan örüntü + - - Beklenen örüntüler + Beklenmeyen örüntüler 4 8