Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

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

Benzer bir sunumlar


... konulu sunumlar: "İşletmeler için Veri Madenciliği Ders Notları - 2."— Sunum transkripti:

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

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

3 3 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.

4 4 Birliktelik Kuralları Veri içinde bir arada görülen özelliklerin kural orarak ortaya çıkarılması Veri içinde bir arada görülen özelliklerin kural orarak ortaya çıkarılması Genel haliyle Genel haliyle A 1  A 2..  A k  B 1  B 2..  B l

5 5 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.

6 6 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.

7 7 Birliktelik Kuralları 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): 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ı Çocuk bezi alan müşteriler Her ikisini alan müşteriler Mandal alan müşteriler

8 8 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.

9 9 Ö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;

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

11 11 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

12 12 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 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

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

14 14 Bütün öğelerden oluşan küme I={i 1, i 2,..., i d } I={Ekmek, Süt, Bira, Kola, Yumurta, Bez} Hareket T j  I, T j ={I j1, I j2,..., I jk } T j  I, T j ={I j1, I j2,..., I jk } T 1 ={Ekmek, Süt} T 1 ={Ekmek, Süt} Hareketlerden oluşan veri kümesi D={T 1, T 2,..., T n }

15 15 Birliktelik Kuralları Problem Tanımı: I ={i 1,i 2,..,i m } 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 bi ç iminde bir bağımlılık ifadesidir. Problem Tanımı: I ={i 1,i 2,..,i m } 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 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. 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. 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.

16 16 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 Birliktelik Kurallarına Örnek {Bez}  {Bira}, {Süt, Ekmek}  {Bez, Kola}, {Bira, Ekmek}  {Süt}, Yoğun Nesne Kümeleri Bez, Bira Bira, Ekmek, Bez Süt, Ekmek, Bez, Kola

17 17 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ı Yoğun Nesne Kümesi

18 18 Veri Kümesi D={T 1, T 2,..., T n } Birliktelik Kuralı (Association Rule) Birliktelik Kuralı (Association Rule) X  Y şeklinde kuralların bulunması X  Y şeklinde kuralların bulunması Örnek: {Süt, Bez}  {Bira} Örnek: {Süt, Bez}  {Bira} Kuralları değerlendirme ölçütleri Kuralları değerlendirme ölçütleri Destek (Support) (s) Destek (Support) (s) X  Y nesneler kümesinin bulunduğu hareket sayısının toplam hareket sayısına oranı X  Y nesneler kümesinin bulunduğu hareket sayısının toplam hareket sayısına oranı Güven (Confidence) (c) 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ı X  Y nesneler kümesinin bulunduğu hareket sayısının, X nesneler kümesi bulunan hareket sayısına oranı

19 19  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 değerlerine sahip kuralları sil  Hesaplama maliyeti yüksek Birliktelik Kurallarını Oluşturma

20 20 Ö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

21 21 Birliktelik Kurallarını Oluşturma Yoğun nesne kümelerini bulma Yoğun nesne kümelerini bulma Destek değeri (support), minsup tan büyük veya eşit nesnelerin kümelerini bulma Destek değeri (support), minsup tan büyük veya eşit nesnelerin kümelerini bulma Kuralları oluşturma 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

22 22 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) 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. Bul : Minimum destek ve güvenli tüm kuralları bul. Eğer min. destek 50% ve min. güven 50% ise Eğer min. destek 50% ve min. güven 50% ise A  C [50%, 66.6%], C  A [50%, 100%] A  C [50%, 66.6%], C  A [50%, 100%] İşlem IDAlınan ürünler 100A,B,C 200A,C 400A,D 500B,E,F Sık alınan ürünkümeleriDestek {A}3 veya 75% {B} ve {C}2 veya 50% {D}, {E} ve {F}1 veya 25% {A,C}2 veya 50% Diğer ürün çiftleriMaks. 25%

23 23 Yoğun Nesne Kümelerinin Oluşturulması

24 24 Yoğun Nesne Kümelerinin Oluşturulması Brute-force yaklaşımı: 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=2 d İş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

25 25 Adayların sayısını azaltma (M) Adayların sayısını azaltma (M) Tam arama: M=2 d Tam arama: M=2 d Budama tekniklerini kullanarak M azaltma Budama tekniklerini kullanarak M azaltma Örnek: Apriori algoritması İşlem sayısını azaltma (N) İşlem sayısını azaltma (N) Nesneler artarken N’nin değerini azaltma 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) Karşılaştırma sayısını azaltma (NM) İşlem ve adayları saklarken etkili bir veri yapısı kullanmak İşlem ve adayları saklarken etkili bir veri yapısı kullanmak Yoğun Nesne Kümesi Oluşturma Yöntemleri

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

27 27 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.

28 28 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]<...

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

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

31 31 Apriori ACBD {} minsup= adaylar 1B, C 2B, C 3A, C, D 4A, B, C, D 5B, D

32 32 Apriori ACBD {} minsup=2 1B, C 2B, C 3A, C, D 4A, B, C, D 5B, D Adaylar

33 33 Apriori ACBD {} minsup=2 1B, C 2B, C 3A, C, D 4A, B, C, D 5B, D Adaylar

34 34 Apriori ACBD {} minsup=2 1B, C 2B, C 3A, C, D 4A, B, C, D 5B, D Adaylar

35 35 Apriori ACBD {} minsup=2 1B, C 2B, C 3A, C, D 4A, B, C, D 5B, D Adaylar

36 36 Apriori ACBD {} minsup=2 1B, C 2B, C 3A, C, D 4A, B, C, D 5B, D Adaylar

37 37 Apriori ABBCACADCDBD ACBD {} Adaylar minsup=2 1B, C 2B, C 3A, C, D 4A, B, C, D 5B, D

38 38 Apriori ABBCACADCDBD ACBD {} minsup=2 1B, C 2B, C 3A, C, D 4A, B, C, D 5B, D

39 39 Apriori ACDBCD ABBCACADCDBD ACBD {} Adaylar minsup=2 1B, C 2B, C 3A, C, D 4A, B, C, D 5B, D

40 40 Apriori ACDBCD ABBCACADCDBD ACBD {} minsup=2 1B, C 2B, C 3A, C, D 4A, B, C, D 5B, D

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

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

43 43 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.

44 44  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.

45 45Örnek:TidNesne 10 A, C, D 20 B, C, E 30 A, B, C, E 40 B, E nesnekümesup{A}2 {B}3 {C}3 {D}1 {E}3nesnekümesup{A}2 {B}3 {C}3 {E}3 nesneküme {A, B} {A, C} {A, E} {B, C} {B, E} {C, E} nesnekümesup {A, B} 1 {A, C} 2 {A, E} 1 {B, C} 2 {B, E} 3 {C, E} 2 nesnekümesup {A, C} 2 {B, C} 2 {B, E} 3 {C, E} 2 nesneküme {B, C, E} nesnekümesup 2 C3C3 L2L2 Veri Tabanı 1 st scan C1C1 L1L1 C2C2 L3L3 minsup = 2 2 nd scan 3 rd scan C2C2

46 46 nesnekümesup {A, C} 2 {B, C} 2 {B, E} 3 {C, E} 2 nesneküme {B, 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}

47 47 Apriori Örnek (1/6) Veritabanı V Scan V C1C1C1C1 L1L1L1L1

48 48 Apriori Örnek (2/6) C2C2C2C2 C2C2C2C2 L2L2L2L2 Scan V

49 49 Apriori Örnek (3/6) Scan V C3C3C3C3 L3L3L3L3

50 50 Apriori Örnek (4/6) V Veritabanı Arama Uzayı

51 51 Apriori Örnek (5/6) Seviye 1’ de Apriori

52 52 Apriori Örnek (6/6) Seviye 2’ de Apriori

53 53 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..

54 54 a. Destek(eşik) = %60 Destek(güven) = %75 Eşik destek sayısı = 0,60*5 = 3 ÜrünSayı Şeker3 Çay2 Ekmek4 Makarna4 Peynir4 Deterjan1 Bira1 Zeytin1 b. b. Tablo-2. Destek değerlerin hesaplanması c. Tablo-3. Eşik destek değerine eşit ya da daha büyük desteğe sahip ürünlerÜrünSayıŞeker3 Ekmek4 Makarna4 Peynir4

55 55 Tablo-4. ikili ürün gruplarının destek değerleri ÜrünSayı Şeker, Ekmek 2 Şeker, Makarna 2 Şeker, Peynir 2 Ekmek, Makarna 3 Ekmek, Peynir 3 Makarna, Peynir 4 d. e.e.ÜrünSayı Ekmek, Makarna 3 Ekmek, Peynir 3 Makarna, Peynir 4 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ı

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

57 57 h.Bu s o n 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 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. 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:

58 58 Sonuç 2: Sonuç 3: Sonuç 4: 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.

59 59 Tablo-8. Birliktelik kuralları Birliktelik kuralı Anlamı Güve n 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ığı %75 Makarna  Ekmek&Peynir Makarnanın yer aldığı bir ürün kümesinde ekmek ve peynirin olma olasılığı %75

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

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

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

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

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

65 65 Çok-seviyeli Birliktelik: Aynı Destek - Azaltmalı Destek Aynı Destek: Tüm seviyeler için aynı minimum 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. + 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 – Düşük seviye nesneer sık olarak ortaya çıkmaz. Eğer destek eşiği çok yüksek  düşük seviye birliktelik kaybı çok yüksek  düşük seviye birliktelik kaybı çok düşük  çok fazla yüksek seviye birliktelik üretimi çok düşük  çok fazla yüksek seviye birliktelik üretimi Azaltmalı Destek: Daha düşük seviyelerde minimum desteği azaltır Azaltmalı Destek: Daha düşük seviyelerde minimum desteği azaltır 4 arama stratejisi vardır: 4 arama stratejisi vardır: Level-by-level independent Level-by-level independent Level-cross filtering by k-itemset Level-cross filtering by k-itemset Level-cross filtering by single item Level-cross filtering by single item Controlled level-cross filtering by single item Controlled level-cross filtering by single item

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

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

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

69 69 İlerleyen Derinleştirme Yukarıdan_aşağı, ilerleyen derinleştirme yaklaşımı: Yukarıdan_aşağı, ilerleyen derinleştirme yaklaşımı: Önce yüksek-seviye güçlü kuralları bul: Önce yüksek-seviye güçlü kuralları bul: milk (15%), bread (10%) milk (15%), bread (10%) Sonra düşük-seviye “daha zayıf” kuralları bul: 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 Ç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 Düşük seviyelerde azaltmalı min_destek adaptesi ise atalarının desteği yoğun olan / ihmal edilemeyen çocukları test et.

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

71 71 Teşekkürler !!!


"İşletmeler için Veri Madenciliği Ders Notları - 2." indir ppt

Benzer bir sunumlar


Google Reklamları