İşletmeler için Veri Madenciliği

Slides:



Advertisements
Benzer bir sunumlar
8. SINIF 3. ÜNİTE BİLGİ YARIŞMASI
Advertisements

Prof.Dr.Şaban EREN Yasar Üniversitesi Fen-Edebiyat Fakültesi
NOKTA, DOĞRU, DOĞRU PARÇASI, IŞIN, DÜZLEMDEKİ DOĞRULAR
Saydığımızda 15 tane sayı olduğunu görürüz.
SINIFLANDIRMA VE REGRESYON AĞAÇLARI (CART)
TİCARİ İŞLEMLER VE VARLIK KAYNAK YAPISINA ETKİLERİ
Yrd. Doç. Dr. Mustafa Akkol
Veri ve Veri Yapıları Genel olarak bilgisayarlar.
KÜMELER.
TOKKDER Operasyonel Kiralama Sektör Raporu 2012 Yıl Sonu
Diferansiyel Denklemler
YRD.DOÇ.DR Turgay tugan bİlgİn
ÖRNEKLEME DAĞILIŞLARI VE TAHMİNLEYİCİLERİN ÖZELLİKLERİ
Pazarlama Karma Elemanları: DAĞITIM
8. SAYISAL TÜREV ve İNTEGRAL
ALIŞVERİŞ ALIŞKANLIKLARI ARAŞTIRMASI ÖZET SONUÇLARI Haziran 2001.
Pozitif ve Negatif Ürün İlişkilerini İncelemek için Bir Çerçeve: Yeniden Madencilik (Re-mining) Ayhan Demiriz G. Ertek, T. Atan ve U. Kula 30 Haziran 2010,
KÜTÜPHANELERDE HALKLA İLİŞKİLER ve PAZARLAMA ANKARA ÜNİVERSİTESİ KÜTÜPHANESİ ÖRNEĞİ Tuna CAN & E.Erdal AYDIN
Nicel / Nitel Verilerde Konum ve Değişim Ölçüleri
MATEMATİKSEL PROGRAMLAMA
Verimli Ders Çalışma Teknikleri.
BPR151 ALGORİTMA VE PROGRAMLAMA - I
İkili Arama Ağaçları (Binary Search Trees) BST
HAZIRLAYAN:SAVAŞ TURAN AKKOYUNLU İLKÖĞRETİM OKULU 2/D SINIFI
BPR152 ALGORİTMA VE PROGRAMLAMA - II
VERİ TABANI ve YÖNETİMİ
ARALARINDA ASAL SAYILAR
AB SIĞIR VE DANA ETİ PAZAR DURUMU 18 Temmuz 2013.
Müşteri-Sektör-Rekabet
Lojistikte & Tedarik Zinciri Yönetiminde Üst Düzey Yönetim Programı (TMPLSM)
Algoritmalar DERS 4 Çabuk sıralama Böl ve fethet Bölüntüler
Problem Çözme Ve Problem Çözme Stratejileri Ödevi Cihan GÖÇ
TÜRKİYE İSTATİSTİK KURUMU İzmir Bölge Müdürlüğü 1/25.
MIT503 Veri Yapıları ve algoritmalar Veri ağaçları
DENKLEM.
Tam sayılarda bölme ve çarpma işlemi
Veri madenciliği, günümüzde karar verme sürecine ihtiyaç duyulan bir çok alanda uygulanmaktadır
EXCEL DE VERİ TABANI (DATABASE) İŞLEMLERİ
Kümeleme ve Yöntemleri Arş.Grv İlyas AKKUŞ İnönü Üniversitesi B.Ö.T.E
1. 2 Cari İşlemler Satıcı, Alıcı,Personel, Lokasyon ve Banka carilerinin ayrı ekranlardan tanımlanabilmesi. Satıcı, Alıcı,Personel, Lokasyon ve Banka.
Endüstride Veri Madenciliği Uygulamaları Yrd. Doç. Dr. Ayhan Demiriz 28/2/2006.
HABTEKUS' HABTEKUS'08 3.
yunus.hacettepe.edu.tr/~tonta/courses/spring2008/bby208/
Chapter 6: Using Arrays.
MURAT ŞEN AKDENİZ ÜNİVERSİTESİ Üçgenler.
İKİNCİ DERECEDEN FONKSİYONLAR ve GRAFİKLER
EŞİTSİZLİK GRAFİKLERİ
VERİLERİN DERLENMESİ VE SUNUMU
Diferansiyel Denklemler
DENEY TASARIMI VE ANALİZİ (DESIGN AND ANALYSIS OF EXPERIMENTS)
VERİ İŞLEME VERİ İŞLEME-4.
SÜLEYMAN DEMİREL ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
Çocuklar,sayılar arasındaki İlişkiyi fark ettiniz mi?
İSMİN HALLERİ.
1 Kısa Vadeli Kredi Maliyetlerinin Tahmini Yıllık Yüzdesel Maliyet  Farklı vadelerdeki kredileri karşılaştırabilmek için kredi maliyetlerinin belirlenmesinde.
Toplama Yapalım Hikmet Sırma 1-A sınıfı.
RASYONEL SAYILARLA TOPLAMA ve ÇIKARMA İŞLEMLERİ
1/22 GEOMETRİ (Dikdörtgen) Aşağıdaki şekillerden hangisi dikdörtgendir? AB C D.
CEBİRSEL İFADELERİ ÇARPANLARINA AYIRMA
BTP102 VERİTABANI YÖNETİM SİSTEMLERİ 1
Diferansiyel Denklemler
Örnekleme Yöntemleri Şener BÜYÜKÖZTÜRK, Ebru KILIÇ ÇAKMAK,
Veri Madenciliği Rümeysa İhvan
Tedarikçi Firma Sunumu
Veri Madenciliği Giriş.
Veri Madenciligi . Sınıflandırma ve Regresyon Ağaçları ( CART )
Veri Madenciliği Birliktelik Analizi: Temel Kavramlar ve Algoritmalar
BİRLİKTELİK KURALLARI ( ASSOCIATION RULE MINING)
VERİ MADENCİLİĞİ ISE 302 Dr. Tuğrul TAŞCI.
Bölüm 4 : VERİ MADENCİLİĞİ
Sunum transkripti:

İşletmeler için Veri Madenciliği Ders Notları - 2

BİRLİKTELİK (İLİŞKİLENDİRME) ANALİZİ

Veri kümesi içerisinde yer alan geçmiş tarihli hareketlerin (transactions) örüntülerini analiz etmek ve bu bilgilerden yararlanarak gelecek ile ilgili tahminlerde bulunmak ve veri seti içerisinde yer alan her objenin birbirleri ile olan birlikteliklerini çıkarmak önemli bir çalışmadır. 90’lı yıllardan önce, kurumlarda satış yapıldıktan bir süre sonra, satış hareketleri ile ilişkili bilgiler çıkarılmaktaydı. Ancak günümüzde otomatik tanıma ve veri toplama uygulamalarındaki gelişmeler ile verilerin toplanması ve elektronik ortama aktarılması satış anında gerçekleştirilmektedir. Market Sepeti verisi olarak adlandırdığımız bu tip verilerin değerlendirilmesi, ilgili firmaların Pazar stratejisini belirlemesinde yardımcı olmaktadır. Market Sepeti verisi üzerinden birliktelik kurallarının çıkarılması ilk olarak 1993 yılında (Agrawal ve arkadaş.) tarafından ele alınmıştır.

Birliktelik Kuralları Veri içinde bir arada görülen özelliklerin kural orarak ortaya çıkarılması Genel haliyle A1A2.. Ak  B1B2.. Bl

Destek ve Güven Ölçütleri Satın alma eğilimlerinin tanımlanmasını sağlayan birliktelik kuralları, pazarlama amaçlı olarak pazar sepet analizi (Market Basket Analysis) adı altında veri madenciliğinde yaygın olarak kullanılmaktadır. Pazar sepet çözümlemesinde satılan ürünler arasındaki ilişkileri ortaya koymak için; destek güven ölçütlerinden yararlanılır.

Bu ölçütlerin hesaplanmasında destek sayısı adı verilen bir değer kullanılır. A ürün grubunu alanların B ürün grubunu da alma durumu, yani birliktelik kuralı A ->B biçiminde gösterilir. Kural destek ölçütü bir ilişkinin tüm alışverişler içinde hangi oranda tekrarlandığını belirler. Kural güven ölçütü, A ürün grubunu alan müşterilerin B ürün grubunu da alma olasılığını ortaya koyar.

Birliktelik Kuralları Her ikisini alan müşteriler Çocuk bezi alan müşteriler Destek (Support): P(X ve Y) = X ve Y mallarını satın almış müşteri sayısı / Toplam müşteri sayısı  Güven (Confidence): P(X|Y)=P(X ve Y)/P(Y) = X ve Y mallarını satın almış müşteri sayısı / Y malını satın almış müşteri sayısı Mandal alan müşteriler

Birliktelik kuralları uygulanırken yukarıda söz edilen destek ve güven ölçütleri yani sıra, bu değerleri karşılaştırmak için eşik değere gereksinim duyar. Hesaplanan destek veya güven ölçütlerinin destek(eşik) ve güven(eşik) değerlerinden büyük olması beklenir. Hesaplanan destek veya güven ölçütleri ne kadar büyükse birliktelik kurallarının da o derece güçlü olduğuna karar verilir.

Örnek Bir mağazada 10 müşterinin bir defada yaptığı alışveriş bilgilerinden yararlanarak birliktelik kuralının şu şekilde elde edildiğini varsayalım: Bu kurala göre;

Birliktelik Kuralları Veri tabanından yaş(X,”20..29”)gelir(X,”1 milyar...2 milyar”)al(X,”CD çalar”) (destek = %5, güven = %60) X müşteriyi temsil eden bir değişkendir. Bütün müşterilerin %5 i 20 ile 29 yaş grubunda geliri 1 ile 2 milyar arasında ve CD çalar almıştır. %60 ihtimalle bu yaş ve gelir grupundaki müşteriler CD çalar almıştır.

Birliktelik kuralları kullanılarak Hangi ürünler çoğunlukla birlikte satılıyor ? Sorusunun cevabını bulabiliriz. Kullanım alanlarının bazıları : Katalog tasarımlarında Mağaza raflarına ürün yerleştirmede Müşteri profili çıkarmada Promosyon düzenlemede

Süt, yumurta, şeker, ekmek Süt,yumurta, tahıl, ekmek Market Sepeti Analizi Market sepetlerindeki aldığı farklı ürünler arasında birliktelik ve korelasyona bakarak müşterilerin satın alma alışkanlıklarını analiz etme Müşteri 1 Süt, yumurta, şeker, ekmek Müşteri 2 Süt,yumurta, tahıl, ekmek Müşteri 3 Yumurta, şeker

Sepet Analizi Sadece satın alma işlemlerine - transactions - dayanarak müşteri davranışları hakkında bilgi edinmeyi sağlar. Bu bilgiler müşteri özelliklerini içermez. Yöneticiler Muhtemelen hangi ürün veya ürün gruplarının birlikte satıldığı ile ilgilenirler.

Bütün öğelerden oluşan küme I={i1, i2,..., id} I={Ekmek, Süt, Bira, Kola, Yumurta, Bez} Hareket TjI, Tj={Ij1, Ij2,..., Ijk} T1={Ekmek, Süt} Hareketlerden oluşan veri kümesi D={T1, T2,..., Tn}

Birliktelik Kuralları Problem Tanımı: I ={i1,i2,..,im} verilen bağlamda yer alan ürün kodlarını, D bağlamda yer alan hareketleri, T bir harekette yer alan ürün kodlarını (T  I ) temsil etsin. Bir eşleştirme kuralı X ve Y, I ürün kümesinin bir alt kümesi ve XY= olmak üzere <X  Y,c,s> biçiminde bir bağımlılık ifadesidir. C güven eşiği metriğidir, X ürünlerini içeren hareketlerin en az %c oranında Y içeren hareketler kümesinde yer aldığını gösterir. S destek eşiği metriğidir, X ve Y ürünlerini içeren hareket tutanaklarının toplam hareket tutanakları içinde en az %s oranında var olduğunu gösterir.

Verilen işlem / transaction kümesi ile, bir nesnenin (veya nesneler topluluğunun) varlığından hareketle bir sonraki işlemde bu öğelerin meydana gelme sıklığı tahmin edilir. Market Alışveriş Verisi Yoğun Nesne Kümeleri Bez, Bira Bira, Ekmek, Bez Süt, Ekmek, Bez, Kola Birliktelik Kurallarına Örnek {Bez}  {Bira}, {Süt, Ekmek}  {Bez, Kola}, {Bira, Ekmek}  {Süt},

Yoğun Nesne Kümesi Nesneler Kümesi (Itemset) Bir veya daha fazla nesneden oluşan küme Örnek: {Süt, Ekmek, Bez} K-nesneler kümesi (k-itemset) K nesneden oluşan küme Destek Sayısı () (Support Count) Bir nesneler kümesinin veri kümesinde görülme sıklığı Örnek: ({Süt, Ekmek, Bez}) = 2 Destek (s) (Support) Bir nesneler kümesinin içinde bulunduğu hareketlerin toplam hareketlere oranı Örnek : s({Süt, Ekmek, Bez}) = 2/5 Yoğun Nesne Kümesi (Frequent Itemset) Minsup-minimum destek miktarı

Veri Kümesi D={T1, T2, ..., Tn} Birliktelik Kuralı (Association Rule) X  Y şeklinde kuralların bulunması Örnek: {Süt, Bez}  {Bira} Kuralları değerlendirme ölçütleri Destek (Support) (s) XY nesneler kümesinin bulunduğu hareket sayısının toplam hareket sayısına oranı Güven (Confidence) (c) XY nesneler kümesinin bulunduğu hareket sayısının, X nesneler kümesi bulunan hareket sayısına oranı

Birliktelik Kurallarını Oluşturma Birliktelik kuralları madenciliğinde temel amaç D hareket kümesinden kurallar oluşturmaktır. kuralların destek değeri, belirlenen en küçük destek (minsup) değerinden büyük ya da eşit olmalı support ≥ minsup threshold kuralların güven değeri, belirlenen en küçük güven (minconf) değerinden büyük ya da eşit olmalı confidence ≥ minconf threshold Brute-force yaklaşımı Olası bütün kuralları listele Her kural için destek ve güven değerini hesapla minsup ve minconf eşik değerlerinden küçük destek ve güven değerlerine sahip kuralları sil Hesaplama maliyeti yüksek Birliktelik Kurallarını Oluşturma

Aynı nesneler kümesinin ikili bölünmesine (binary partition) ait Örnek Kurallar: {Süt, Bez} → {Bira} (s=0.4, c=0.67) {Süt, Bira} → {Bez} (s=0.4, c=1.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) Aynı nesneler kümesinin ikili bölünmesine (binary partition) ait kurallar: {Süt, Bez, Bira} Aynı nesneler 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

Birliktelik Kurallarını Oluşturma Yoğun nesne kümelerini bulma Destek değeri (support), minsup tan büyük veya eşit nesnelerin kümelerini bulma Kuralları oluşturma Destek değeri minconf değerinden büyük ya da eşit olan ve yaygın kullanılan nesnelerin ikili bölünmeleri olan kuralları oluşturma

Sepet Analizi: Temel Verilen: (1) İşlemlerin veritabanı, (2) Her işlem satın alınan ürünlerin bir listesi (Bir müşteri tarafından bir gelişte alınan) Bul: Minimum destek ve güvenli tüm kuralları bul. Eğer min. destek 50% ve min. güven 50% ise A  C [50%, 66.6%], C  A [50%, 100%] Sık alınan ürünkümeleri Destek {A} 3 veya 75% {B} ve {C} 2 veya 50% {D}, {E} ve {F} 1 veya 25% {A,C} Diğer ürün çiftleri Maks. 25% İşlem ID Alınan ürünler 100 A,B,C 200 A,C 400 A,D 500 B,E,F

Yoğun Nesne Kümelerinin Oluşturulması d adet nesne için, 2d adet yaygın kullanıma aday öğe oluşabilir null AB AC AD AE BC BD BE CD CE DE A B C D E ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE ABCD ABCE ABDE ACDE BCDE ABCDE

Yoğun Nesne Kümelerinin Oluşturulması Brute-force yaklaşımı: Ağ içerisindeki her nesne, yoğun nesne adayı olup, veri tabanı taranarak her nesnenin yoğun nesne olup olmadığı kontrol edilir Destek değeri minsup değerine eşit ya da büyük olanlar yoğun nesnelerdir İşlem karmaşıklığı: O(NMw), M=2d İşlem Aday listesi M w N Hareket Nesne 1 Ekmek, Süt 2 Ekmek, Bez, Bira, Yumurta 3 Süt, Bez, Bira, Kola 4 Ekmek, Süt, Bez, Bira 5 Ekmek, Süt, Bez, Kola

Yoğun Nesne Kümesi Oluşturma Yöntemleri Adayların sayısını azaltma (M) Tam arama: M=2d Budama tekniklerini kullanarak M azaltma Örnek: Apriori algoritması İşlem sayısını azaltma (N) Nesneler artarken N’nin değerini azaltma Örnek : DHP (Direct Hashing and Pruning) ve vertical-based mining algoritması Karşılaştırma sayısını azaltma (NM) İşlem ve adayları saklarken etkili bir veri yapısı kullanmak

Aday sayısının azaltılması az yoğun nesnenin bulunması Aday sayısının azaltılması alt kümenin budanması

Apriori Algoritması Yoğun nesne kümelerini bulabilmek için veri tabanı birçok kez taranır. İlk taramada bir elemanlı minsup sağlayan yoğun olan nesne kümeleri bulunur. Bir önceki taramada bulunan yoğun nesne kümeleri, aday kümeler adı verilen yeni potansiyel yaygın nesne kümelerini üretmek için kullanılır. Aday kümelerin destek değerleri tarama sırasında hesaplanır ve aday kümelerinden minsup değerini sağlayan kümeler yoğun nesne kümeleri olarak ayrılırlar. Yoğun nesne kümeleri bir sonraki geçiş sırasında aday küme üretir. Bu süreç yeni yoğun nesne kümesi bulunmayana kadar devam eder.

Algoritmaya İlişkin Varsayımlar Kullanılan market sepeti verisinde her harekette yer alan ürün kodları sayısaldır ve ürün kodları küçükten büyüğe doğru sıralıdır. Nesne kümeleri eleman sayıları ile birlikte anılır ve k adet ürüne sahip bir nesne k-nesne kümesi ile gösterilir. Her nesne kümesinde minsup değerini tutmak üzere bir değişken bulunmaktadır. Bu değişken nesne kümesi ilk kez oluşturulduğunda sıfırdır. Aday nesne kümeleri C ile gösterilir ve k-nesne kümesine ilişkin aday kümesi c[1], c[2], c[3],...,c[k] ürünlerini içerir ve bu ürünler de c[1] < c[2] < c[3]< ...<c[k] olacak şekilde sıralıdır.    

Örnek : Apriori Algoritması Nesne Adet Ekmek 4 Kola 2 Süt Bira 3 Bez Yumurta 1 Nesne (1-nesneler) Nesne Adet Ekmek 4 Kola 2 Süt Bira 3 Bez Yumurta 1 Çiftler (2-nesneler) (Kola ve Yumurta çiflerinin oluşturulmasına gerek yok) Nesne Kümesi Adet { Ekmek, Süt} 3 Ekmek, Bira} 2 Ekmek, Bez} Süt, Bira} Süt, Bez} Bira, Bez} Minimum destek (minsup) = 3 Üçlüler (3-nesneler) Nesne Kümesi Adet {Ekmek, Süt, Bez} 3 ....... Eğer her küme olsaydı, 6C1 + 6C2 + 6C3 = 41 desteğe (support) dayalı budamadan(prune) sonra, 6 + 6 + 1 = 13

Yoğun Nesne-küme Madenciliği 2 yöntem: Breadth-first: Apriori Depth-first : Eclat Veri tabanının budanması

Apriori B, C A, C, D A, B, C, D B, D minsup=2 adaylar A B C D {}

Apriori B, C A, C, D A, B, C, D B, D minsup=2 Adaylar A B 1 C 1 D {}

Apriori B, C A, C, D A, B, C, D B, D minsup=2 Adaylar A B 2 C 2 D {}

Apriori A B C D {} minsup=2 Adaylar 1 2 3 1 B, C A, C, D A, B, C, D B, D minsup=2 Adaylar A 1 B 2 C 3 D 1 {}

Apriori A B C D {} minsup=2 Adaylar 2 3 4 2 B, C A, C, D A, B, C, D B, D minsup=2 Adaylar A 2 B 3 C 4 D 2 {}

Apriori A B C D {} minsup=2 Adaylar 2 4 4 3 B, C A, C, D A, B, C, D B, D minsup=2 Adaylar A 2 B 4 C 4 D 3 {}

Apriori AB AC AD BC BD CD A B C D {} minsup=2 Adaylar 2 4 4 3 B, C A, C, D A, B, C, D B, D minsup=2 Adaylar AB AC AD BC BD CD A 2 B 4 C 4 D 3 {}

Apriori AB AC AD BC BD CD A B C D {} minsup=2 1 2 2 3 2 2 2 4 4 3 B, C A, C, D A, B, C, D B, D minsup=2 AB 1 AC 2 AD 2 BC 3 BD 2 CD 2 A 2 B 4 C 4 D 3 {}

Apriori ACD BCD AB AC AD BC BD CD A B C D {} Adaylar minsup=2 1 2 2 3 4 C 4 D 3 {}

Apriori ACD BCD AB AC AD BC BD CD A B C D {} minsup=2 2 1 1 2 2 3 2 2 4 C 4 D 3 {}

Apriori Algoritması L1 ={yoğun 1-öğeküme kümeleri} SAYARAK YINELE ( k:=2, Lk-1  , k:=k+1 ) [ /* k adet öğeye sahip aday kümelerin bulunması*/ Ck = apriori-gen(Lk-1); TUM t  D hareketler için [ /* t hareketinde yer alan aday kümelerin bulunması*/ Ct = subset(Ck , t); TUM c  Ct aday kümeler için c.sayac := c.sayac+1; ] Lk ={c  Ck | c.sayac  min-destek k Lk DONDUR

Aday Küme Üretimi INSERT INTO Ck SELECT p.öğe1, p.öğe2,… p.ögek-1, q.ögek-1 FROM Lk-1 p, Lk-2 q WHERE p.öğe1 = q.öğe1 and… p.ögek-2= q.ögek-2 and p.ögek-1 < q.ögek-1;   TUM c  Ck aday kümeler için TUM c kümesinin (k-1) öğeye sahip tüm alt kümeleri için EĞER ( s  Lk-1 ) ISE DELETE c FROM Ck;

Apriori Algoritması Apriori Algoritması, birliktelik kuralı çıkarım algoritmaları içerisinde en fazla bilinen algoritmadır. Bu algoritma aşağıda belirtilen aşamalara sahiptir: Birliktelik analizinin yapılabilmesi için öncelikle destek ve güven ölçütlerini karşılaştırmak üzere eşik değerleri belirlenir. Uygulamada elde edilen sonuçların bu eşik değerlere eşit olması ya da bunlardan büyük olması beklenir. Veritabanı taranarak çözümlemeye dahil edilecek her bir ürün için tekrar sayıları, yani destek sayıları hesaplanır. Bu destek sayıları eşik destek sayısı ile karşılaştırılır. Eşik destek sayısından küçük değerlere sahip satırlar çözümlemeden çıkarılır ve koşula uygun kayıtlar göz önüne alınır.

Yukarıdaki adımda seçilen ürünler bu kez ikişerli gruplandırılarak, bu grupların tekrar sayıları, yani destek sayıları elde edilir. Bu sayılar eşik destek sayıları ile karşılaştırılır. Eşik değerden küçük değerlere sahip satırlar çözümlemeden çıkarılır. Bu kez üçerli, dörderli vb. gruplandırmalar yapılarak bu grupların destek sayıları elde edilir ve eşik değerle karşılaştırılır. Eşik değere uygun olduğu sürece işlemlere devam edilir. Ürün grubu belirlendikten sonra kural destek ölçütüne bakılarak birliktelik kuralları üretilir ve bu kuralların her birisiyle ilgili olarak güven ölçütleri hesaplanır.

Örnek: Veri Tabanı minsup = 2 L1 C1 1st scan C2 C2 L2 2nd scan C3 L3 nesneküme sup {A} 2 {B} 3 {C} {D} 1 {E} nesneküme sup {A} 2 {B} 3 {C} {E} Tid Nesne 10 A, C, D 20 B, C, E 30 A, B, C, E 40 B, E L1 C1 1st scan C2 nesneküme sup {A, B} 1 {A, C} 2 {A, E} {B, C} {B, E} 3 {C, E} C2 L2 nesneküme {A, B} {A, C} {A, E} {B, C} {B, E} {C, E} nesneküme sup {A, C} 2 {B, C} {B, E} 3 {C, E} 2nd scan C3 L3 nesneküme {B, C, E} 3rd scan nesneküme sup {B, C, E} 2

nesneküme sup {A, C} 2 {B, C} {B, E} 3 {C, E} {A,B,C}  {A,B} {A,C} {B,C} {A,C,E}  {A,C} {A,E} {C,E} {B,C,E}  {B,C} {B,E} {C,E} nesneküme {B, C, E}

Apriori Örnek (1/6) Veritabanı V C1 L1 Scan V

Apriori Örnek (2/6) C2 C2 L2 Scan V

Apriori Örnek (3/6) C3 L3 Scan V

Apriori Örnek (4/6) V Veritabanı 12345 Arama Uzayı 1234 1235 1245 1345 2345 123 124 125 134 135 145 234 235 245 345 12 13 14 15 23 24 25 34 35 45 1 2 3 4 5

Apriori Örnek (5/6) Seviye 1’ de Apriori 12345 1234 1235 1245 1345 2345 123 124 125 134 135 145 234 235 245 345 12 13 14 15 23 24 25 34 35 45 1 2 3 4 5

Apriori Örnek (6/6) Seviye 2’ de Apriori 12345 1234 1235 1245 1345 2345 123 124 125 134 135 145 234 235 245 345 12 13 14 15 23 24 25 34 35 45 1 2 3 4 5

Uygulama Müşteri Aldığı ürünler 1 Şeker, Çay, Ekmek 2 Ekmek, Peynir, Zeytin, Makarna 3 Şeker, Peynir, Deterjan, Ekmek, Makarna 4 Ekmek, Peynir, Çay, Makarna 5 Peynir, Makarna, Şeker, Bira Bu tablodaki verileri kullanarak müşterilerin davranış kalıbını ortaya koymak istiyoruz. Yani hangi ürünleri hangi ürünlerle birlikte satın alma eğilimindedir? Bu durumun birliktelik analizini yaparak, birliktelik kurallarını ortaya koymak için apriori algoritmasını kullanacağız..

a. Destek(eşik) = %60 Destek(güven) = %75 Eşik destek sayısı = 0,60 b. Tablo-2. Destek değerlerin hesaplanması Ürün Sayı Şeker 3 Çay 2 Ekmek 4 Makarna Peynir Deterjan 1 Bira Zeytin c. Tablo-3. Eşik destek değerine eşit ya da daha büyük desteğe sahip ürünler Ürün Sayı Şeker 3 Ekmek 4 Makarna Peynir

Tablo-4. ikili ürün gruplarının destek değerleri Sayı Şeker, Ekmek 2 Şeker, Makarna Şeker, Peynir Ekmek, Makarna 3 Ekmek, Peynir Makarna, Peynir 4 e. Tablo-5. Eşik destek sayısı olan 3 değerine eşit ya da 3’ten büyük desteğe sahip ikili ürün grupları Ürün Sayı Ekmek, Makarna 3 Ekmek, Peynir Makarna, Peynir 4

Tablo-6. Üçlü ürün gruplarının destek değerleri f. Tablo-6. Üçlü ürün gruplarının destek değerleri Ürün Sayı Ekmek, Makarna, Peynir 3 g. Tablo-7. Eşik destek sayısına eşit yada daha büyük destek sayısına sahip üçlü ürün grupları Ürün Sayı Ekmek, Makarna, Peynir 3

sayı(A,B)=sayı(ekmek,makarna,peynir)=3 h.Bu son işlemlerden sonra artık birliktelik kurallarını elde edebiliriz. Kurallarla birlikte kural destek ölçütlerini ve kural güven ölçütlerini hesaplamamız gerekiyor. Bu durumda {ekmek, makarna, peynir} kümesi için kural destek sayısı, son tabloda görüldüğü gibi, sayı(A,B)=sayı(ekmek,makarna,peynir)=3 biçiminde kural destek ölçütü elde edilir. Bu destek ölçütü koşul olarak verdiğimiz eşik değerden küçük değildir. O halde bu nesne kümesini kullanabileceğimiz anlaşılır. Kural destek sayılarına bağlı olarak birliktelik kuralları türeterek bu kurallar için güven ölçütlerini elde edeceğiz. Sonuç 1:

Sonuç 2: Sonuç 3: Sonuç 4: Görüldüğü gibi elde edilen tüm güven ölçütleri başlangıçta ilan edilmiş olan güven eşik değerinden büyüktür. Sonuç olarak aşağıdaki birliktelik kuralları elde edilmiştir.

Tablo-8. Birliktelik kuralları Anlamı Güven Ekmek&MakarnaPeynir Ekmek ve Makarnanın bulunduğu ürün kümesinde Peynirin olma olasılığı %100 EkmekPeynir&Makarna Ekmeğin yer aldığı bir ürün kümesinde peynir ve makarnanın olma olasılığı %75 PeynirEkmek&Makarna Peynirin yer aldığı bir ürün kümesinde ekmek ve makarnanın olma olasılığı MakarnaEkmek&Peynir Makarnanın yer aldığı bir ürün kümesinde ekmek ve peynirin olma olasılığı

Adayların destek sayacı Problem? Toplam aday sayısı çok fazla olabilir. Bir işlem bir çok aday içerebilir. Metod: Aday nesne kümeleri bir hash-ağacı’ nda depolanır Yaprak düğüm nesne kümelerinin ve sayaçların bir listesini içerir. Dahili düğümler bir hash tablosu içerir Subset fonksiyonu: Bir işlemde içerilen tüm adayları bulur.

Aday Üretme Örneği L3={abc, abd, acd, ace, bcd} Self-joining: L3*L3 abcd : abc ve abd’ den acde : acd ve ace’ den Budama: acde kaldırılır çünkü ade L3’ te değildir. C4={abcd}

Apriori yeterince hızlı mı? Apriori algoritmasının özü: yoğun (k – 1)-nesne kümelerini aday yoğun k-öğekümeleri üretmek için kullan Veritabanı okumasını ve pattern matching’ i aday nesne kümeleri için sayı toplamada kullan Apriori’ nin engeli: aday üretimi Çok büyük aday kümeleri: 104 yoğun 1-nesne küme, 107 aday 2-nesne küme üretecektir 100 boyutunda yoğun nesne keşfi için , mesela, {a1, a2, …, a100}, 2100  1030 adayın üretilmesi gerekir. Veritabanının çoklu taranması: (n +1 ) taramaya ihtiyaç duyar, n en uzun patternin uzunluğudur.

Çok-Seviyeli Birliktelik Kuralları Ürünler çoğu zaman hiyerarşi oluşturur Daha alt seviyedeki ürünlerin daha düşük desteğe sahip olması beklenir. Uygun seviyelerdeki ürünlere bağlı kurallar oldukça kullanışlı olabilir. İşlem veritabanı boyut ve seviye tabanlı kodlanmış olabilir. Paylaşımlı çok-seviyeli madenciliği araştırabiliriz. Yiyecek ekmek süt kaymaksız Sunset Fraser 2%2 somun açık

Çok-Seviyeli Birliktelik Madenciliği Yukarıdan_aşağı, ilerleyen derinleştirme yaklaşımı: Önce yüksek-seviye güçlü kuralları bul: süt ® ekmek [20%, 60%]. Sonra düşük-seviye “daha zayıf” kuralları bul: 2% süt ® somun ekmek [6%, 50%]. Çok-seviyeli birliktelik kurallarında varyasyonlar. Seviye-çaprazlı (Level-crossed) birliktelik kuralları: 2% süt ® Wonder somun ekmek Çoklu, alternatif hiyerarşili birliktelik kuralları: 2% süt ® Wonder ekmek

Çok-seviyeli Birliktelik: Aynı Destek - Azaltmalı Destek Aynı Destek: Tüm seviyeler için aynı minimum destek + Tek minimum destek eşiği. Atası minimum desteğe sahip olmayan herhangi bir nesneyi içeren nesne kümesini teste gerek yok. – Düşük seviye nesneer sık olarak ortaya çıkmaz. Eğer destek eşiği çok yüksek  düşük seviye birliktelik kaybı çok düşük  çok fazla yüksek seviye birliktelik üretimi Azaltmalı Destek: Daha düşük seviyelerde minimum desteği azaltır 4 arama stratejisi vardır: Level-by-level independent Level-cross filtering by k-itemset Level-cross filtering by single item Controlled level-cross filtering by single item

Aynı Destek Aynı destekle çok-seviyeli madencilik Seviye 1 min_des = 5% Süt [destek = 10%] 2% Süt [destek = 6%] Kaymaksız Süt [destek = 4%] Seviye 2 min_des = 5%

Azaltmalı Destek Azaltmalı destekle çok-seviyeli madencilik Seviye 1 min_des = 5% Süt [destek = 10%] 2% Süt [destek = 6%] Kaymaksız Süt [destek = 4%] Seviye 2 min_des = 3%

Çok-seviyeli Birliktelik: Fazlalık Süzme Bazı kurallar ürünler arasında “ata” ilişkilerinden dolayı fazlalık olabilir. Örnek: süt  somun ekmek [destek = 8%, güven = 70%] 2% süt  somun ekmek [destek = 2%, güven = 72%] İlk kuralın, ikinci kuralın atası olduğunu söyleriz. Bir kural; eğer desteği, kuralın atasına dayalı “beklenen” değere yakınsa fazlalıktır.

İlerleyen Derinleştirme Yukarıdan_aşağı, ilerleyen derinleştirme yaklaşımı: Önce yüksek-seviye güçlü kuralları bul: milk (15%), bread (10%) Sonra düşük-seviye “daha zayıf” kuralları bul: 2% milk (5%), wheat bread (4%) Farklı min_destek eşiği - farklı algoritmalar : Çoklu-seviyeler boyunca aynı min_destek adaptesi ise t nin herhangi bir atası yoğun değil ise t yi at. Düşük seviyelerde azaltmalı min_destek adaptesi ise atalarının desteği yoğun olan / ihmal edilemeyen çocukları test et.

Birliktelik Kurallarının Uygulama Alanları Market-Sepeti Analizi Çapraz Satış Kısmi Sınıflama Ticari Hizmetler

balatas@firat.edu.tr Teşekkürler !!!