VERĐ MADENCĐLĐĞĐNDE MARKET SEPET ANALĐZĐ VE BĐRLĐKTELĐK KURALLARININ BELĐRLENMESĐ

Benzer belgeler
Veritabanı, Veri Madenciliği, Veri Ambarı, Veri Pazarı

28/5/2009 TARİHLİ VE 2108/30 SAYILI KURUL KARARI 11 HAZİRAN 2009 TARİHLİ VE SAYILI RESMİ GAZETEDE YAYIMLANMIŞTIR.

DERS III ÜRETİM HATLARI. akış tipi üretim hatları. hat dengeleme. hat dengeleme

Biyoistatistik (Ders 7: Bağımlı Gruplarda İkiden Çok Örneklem Testleri)

Ufuk Ekim Accepted: January ISSN : yunal@selcuk.edu.tr Konya-Turkey

inde Sepet Analizi Uygulamaları Market Basket Analysis for Data Mining

Tremalarla Oluşum: Kenar uzunluğu 1 olan bir eşkenar üçgenle başlayalım. Bu üçgene S 0

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

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

Öğr.Gör.İnan ÜNAL Tunceli Üniversitesi Bilgisayar Mühendisliği Bölümü

MOBİLYA ENDÜSTRİSİNDE AŞAMALAR ARASINDA FİRE BULUNAN ÇOK AŞAMALI TEDARİK ZİNCİRİ AĞININ OPTİMİZASYONU. Ercan ŞENYİĞİT 1, *

) ile algoritma başlatılır.

VERI TABANLARıNDA BILGI KEŞFI

VERİ MADENCİLİĞİ önemsiz olmayan, gizli, önceden bilinmeyen, potansiyel olarak kullanışlı

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

VERİ MADENCİLİĞİNE BAKIŞ

(b) ATILIM Üniversitesi, Elektrik ve Elektronik Mühendisliği Böl.

VERİ MADENCİLİĞİ F A T M A İ L H A N

Ders 2 : MATLAB ile Matris İşlemleri

KİNETİK MODELLERDE OPTİMUM PARAMETRE BELİRLEME İÇİN BİR YAZILIM: PARES

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veri Modelleri

VERİ TABANI YÖNETİM SİSTEMLERİ

Nesnelerin İnternetinde Veri Analizi

Veritabanı Yönetimi Bilgisayarların. Keşfi Hedefler. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi

autürk k a z a n c ı n ı z, k a z a n c ı m ı z

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

PI KONTROLÖR TASARIMI ÖDEVİ

1. Oracle Data Miner 11g Release 2 Kurulumu Aşamaları

Başlıca Ürün-Bilgi Sistemleri

Dinamik Programlama Tekniğindeki Gelişmeler

Bölüm 1: Veritabanı Yönetim Sistemlerine Giriş

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

İş Zekâsı Sistemi Projesi

HAM VERİNİN NİTELİKLİ BİLGİYE DÖNÜŞTÜRÜLME SÜRECİ

MIXED REGRESYON TAHMİN EDİCİLERİNİN KARŞILAŞTIRILMASI. The Comparisions of Mixed Regression Estimators *

Kİ KARE TESTLERİ. Biyoistatistik (Ders 2: Ki Kare Testleri) Kİ-KARE TESTLERİ. Sağlıktan Yakınma Sigara Var Yok Toplam. İçen. İçmeyen.

VERİ TABANI YÖNETİM SİSTEMLERİ

BÜTÜNLEŞİK ÜRETİM PLANLAMASININ HEDEF PROGRAMLAMAYLA OPTİMİZASYONU VE DENİZLİ İMALAT SANAYİİNDE UYGULANMASI

İNSANSIZ HAVA ARAÇLARI İÇİN RADAR KAPLAMA ALANLARINDAN KAÇINACAK EN KISA ROTANIN HESAPLANMASI

Microsoft SQL Server Sorgulama

ANKARA İLİ DELİCE İLÇESİ KÖPRÜSÜNÜN CPM METODU İLE MÜHENDİSLİK KRİTERLERİNİN BELİRLENMESİ

alphanumeric journal The Journal of Operations Research, Statistics, Econometrics and Management Information Systems

Açık işletme Dizaynı için Uç Boyutlu Dinamik Programlama Tekniği

Menemen Bölgesinde Rüzgar Türbinleri için Rayleigh ve Weibull Dağılımlarının Kullanılması

bilişim ltd İş Zekâsı Sistemi

Veri Madenciliği Projelerinin Yaşam Döngüsü - 1

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

Veri Ambarları. Erdem Alparslan

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

HAM VERİNİN NİTELİKLİ BİLGİYE DÖNÜŞTÜRÜLME SÜRECİ

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

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

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

MİLLİ SAVUNMA ÜNİVERSİTESİ KARA HARP OKULU DEKANLIĞI BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DERS TANITIM BİLGİLERİ

İş Analitiği'ne Netezza ile Yüksek Performans Katın

Apriori Algoritmasının Farklı Veri Kümelerine Uygulanması

ANKARA İLİ DELİCE İLÇESİ KÖPRÜSÜNÜN CPM METODU İLE MÜHENDİSLİK KRİTERLERİNİN BELİRLENMESİ

NoSql ve MongoDB. Saygın Topatan

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veritabanı Sistemleri

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

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

Malzeme Bağıyla Konstrüksiyon

UZAKTAN EĞİTİM MERKEZİ

Nebim Winner - İş Zekası Halojen Kurumsal Sürüm

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

Sistem Geliştirme Yaşam Döngüsü (The Systems Development Life Cycle) (SDLC)

Kollektif Risk Modellemesinde Panjér Yöntemi

Veri ve Metin Madenciliği

Veri ve Metin Madenciliği. Zehra

Bilgiyi Keşfedin! Özelleştirme, Eklenti ve Veri Entegrasyonu Kurumsal Seviyede Yönetim ve Performans

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

Bu deneyin amacı Ayrık Fourier Dönüşümü (DFT) ve Hızlu Fourier Dönüşümünün (FFT) tanıtılmasıdır.

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

GENETİK ALGORİTMALARDA TEK VE ÇOK NOKTALI ÇAPRAZLAMANIN SÖZDE RASSAL POPULASYONLARA ETKİSİ

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

BİLİŞİM SİSTEMLERİNİN PRENSİPLERİ

İLİŞKİSEL VERİTABANLARI

Mesleki Terminoloji II Veri Madenciliği

ile plakalarda biriken yük Q arasındaki ilişkiyi bulmak, bu ilişkiyi kullanarak boşluğun elektrik geçirgenlik sabiti ε

SANAL RASGELELĐK. Sanal sözcüğü ile ilgili olarak Güncel Türkçe Sözlük, ve Wikipedia Ansiklopedisi,

Eğitim ve Bilim. Cilt 40 (2015) Sayı Türkiye deki Vakıf Üniversitelerinin Etkinlik Çözümlemesi. Anahtar Kelimeler.

VERİ TABANI UYGULAMALARI

Power BI. Neler Öğreneceksiniz?

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

ELECO '2012 Elektrik - Elektronik ve Bilgisayar Mühendisliği Sempozyumu, 29 Kasım - 01 Aralık 2012, Bursa

RotamNet Ticari Programı Kısa Tanıtım Dökümanı

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

Basitleştirilmiş Kalman Filtresi ile Titreşimli Ortamda Sıvı Seviyesinin Ölçülmesi

VERİ MADENCİLİĞİ İLE DEPREM VERİLERİNİN ANALİZİ

doğru orantı doğru orantı örnek: örnek:

DENEY 3. HOOKE YASASI. Amaç:

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Kredi Limit Optimizasyonu:

Excel de Pivot Tablolar Tasarım ve Kullanımı

VERİ MADENCİLİĞİNİN GÖREVLERİ

Web Madenciliği (Web Mining)

FARKLI YAPIM SİSTEMLERİ VE KONUT MALİYETLERİ

SİSTEM ANALİZİ VE TASARIMI. Sistem Analizi -Bilgi Sistemleri-

Karar Destek Sistemleri

Transkript:

YILDIZ TEKNĐK ÜNĐVERSĐTESĐ FEN BĐLĐMLERĐ ENSTĐTÜSÜ VERĐ MADENCĐLĐĞĐNDE MARKET SEPET ANALĐZĐ VE BĐRLĐKTELĐK KURALLARININ BELĐRLENMESĐ Bilgisayar Müh. Ayhan DÖŞLÜ FBE Bilgisayar Mühendisliği Anabilim Dalı Programında Hazırlanan YÜKSEK LĐSANS TEZĐ Tez Danışmanı: Yrd. Doç. Dr. Songül ALBAYRAK ĐSTANBUL, 2008

ĐÇĐNDEKĐLER ii Sayfa SĐMGE LĐSTESĐ... v KISALTMA LĐSTESĐ... vi ŞEKĐL LĐSTESĐ... vii ÇĐZELGE LĐSTESĐ... ix ÖNSÖZ... x ÖZET... xi ABSTRACT... xii 1. GĐRĐŞ... 1 2. VERĐTABANI ve VERĐ AMBARI KAVRAMLARI... 4 2.1 Veri, Bilgi ve Metaveri... 4 2.2 Veritabanı Sistemleri... 4 2.3 Veri Ambarları... 6 2.3.1 Datamart... 7 2.3.2 Veri Ambarı Bileşenleri ve Fonsiyonları... 7 2.4 OLTP (Online Transaction Processing) Sistemleri... 8 2.5 OLAP (Online Analytical Processing) Sistemleri... 9 2.5.1 OLAP Kuralları... 11 2.5.2 OLAP Özellileri... 11 2.5.3 OLAP ın Yararları... 12 2.6 OLTP ve OLAP Sistemlerin Kıyaslanması... 14 3. VERĐ MADENCĐLĐĞĐ... 15 3.1 Veritabanlarında Bilgi Keşfi Süreci... 16 3.1.1 Problemin Tanımlanması... 17 3.1.2 Verilerin Hazırlanması... 17 3.1.2.1 Toplama (Collection)... 18 3.1.2.2 Değer biçme (Assessment)... 18 3.1.2.3 Birleştirme ve temizleme (Consolidation and Cleaning)... 18 3.1.2.4 Seçim (Selection)... 18 3.1.2.5 Dönüştürme (Transformation)... 19 3.1.3 Modelin Kurulması ve Değerlendirilmesi... 19 3.1.4 Modelin Kullanılması... 19 3.1.5 Modelin Đzlenmesi... 19 3.2 Veri Madenciliği Uygulamaları... 19 3.3 Veri Madenciliği Yöntemleri... 21 3.4 Veri Madenciliği Metodolojisi... 22 3.5 Veri Madenciliği Modelleri... 22

3.5.1 Sınıflama ve Regresyon Modelleri... 23 3.5.2 Kümeleme Modelleri... 24 3.5.3 Birliteli Kuralları ve Ardışı Zamanlı Örüntüler... 24 4. MARKET SEPET ANALĐZĐ ve BĐRLĐKTELĐK KURALLARI... 26 4.1 Maret Sepet Analizi... 26 4.2 Birliteli Kuralları... 26 4.2.1 Birliteli Kuralları Temel Kavramları... 28 4.2.2 Birliteli Kuralları Çeşitleri... 30 4.3 Birliteli Kurallarının Belirlenmesinde Kullanılan Temel Algoritmalar... 31 4.3.1 Sıralı Algoritmalar... 31 4.3.1.1 AIS Algoritması... 31 4.3.1.2 SETM Algoritması... 32 4.3.1.3 Apriori Algoritması... 34 4.3.1.4 Apriori-TID Algoritması... 36 4.3.1.5 Apriori-Hybrid Algoritması... 38 4.3.1.6 OCD (Off-line Candidate Determination) Algoritması... 38 4.3.1.7 Partitioning Algoritması... 40 4.3.1.8 Sampling Algoritması... 42 4.3.1.9 DIC (Dynamic Itemset Counting) Algoritması... 43 4.3.1.10 CARMA (Continuous Association Rule Mining Algorithm) Algoritması... 44 4.3.1.11 FP-Growth (Frequent Pattern Growth) Algoritması... 44 4.3.2 Paralel ve Dağıtılmış (Distributed) Algoritmalar... 48 4.3.2.1 CD (Count Distribution) Algoritması... 50 4.3.2.2 PDM (Parallel Data Mining) Algoritması... 51 4.3.2.3 DMA (Distributed Mining Algorithm) Algoritması... 52 4.3.2.4 CCPD (Common Candidate Partitioned Database) Algoritması... 52 4.3.2.5 DD (Data Distribution) Algoritması... 52 4.3.2.6 IDD (Intelligent Data Distribution) Algoritması... 53 4.3.2.7 HPA (Hash-based Parallel mining of Association rules) Algoritması... 54 4.3.2.8 PAR (Parallel Association Rules) Algoritması... 54 4.3.2.9 Candidate Distribution Algoritması... 55 4.3.2.10 SH (Sew Handling) Algoritması... 55 4.3.2.11 HD (Hybrid Distribution) Algoritması... 55 4.4 Birliteli Kuralı Algoritmalarının Karşılaştırılması... 56 5. UYGULAMA... 60 5.1 Örne Veri Setleri... 60 5.1.1 Migros Kadir Has Mağazası Veri Seti... 60 5.1.2 BMS-WebView-1 ve BMS-WebView-2 Veri Setleri... 62 5.2 ADDM Veritabanı... 64 5.2.1 Veritabanının Oluşturulması ve Örne Veri Setlerinin Veritabanına Alınması... 64 5.2.2 Migros Veri Setindei Ürünlerin Kategori Hale Getirilmesi ve Veritabanına Alınması... 70 5.2.3 ADDM Veritabanının Yapısı... 73 5.3 Algoritmaların Çalıştırılması... 84 5.4 Algoritmaların Karşılaştırılması... 85 5.4.1 Yöntem Farlılılarına Göre Karşılaştırma... 85 5.4.2 Performans Farlılılarına Göre Karşılaştırma... 85 5.4.2.1 Migros Verisi Sonuçları... 86 iii

5.4.2.2 BMS-WebView-1 Verisi Sonuçları... 87 5.4.2.3 BMS-WebView-2 Verisi Sonuçları... 88 5.4.3 Farlı Veri Setlerine Göre Karşılaştırma... 89 5.4.4 Yaygın Nesneümelerine Göre Karşılaştırma... 89 5.4.5 Eşi Deste Değerlerine Göre Karşılaştırma... 89 5.5 Üretilen Birliteli Kuralları... 90 5.5.1 Migros Verisine Ait Birliteli Kuralları... 90 5.5.2 BMS-WebView-1 Verisine Ait Birliteli Kuralları... 92 5.5.3 BMS-WebView-2 Verisine Ait Birliteli Kuralları... 94 5.6 Algoritmaların Sonuçlarının Değerlendirilmesi... 96 6. SONUÇLAR VE ÖNERĐLER... 97 KAYNAKLAR... 98 ÖZGEÇMĐŞ... 100 iv

SĐMGE LĐSTESĐ I I d m D s c T Nesneler ümesi (Set of items) Nesne (item) Nesne sayısı (number of items) Hareetsel veritabanı (transaction database) Deste (support) Güven (confidence) Hareet (transaction) X, Y Nesneümeler (itemsets) X Y L l Birliteli uralı (association rule) Yaygın nesneümeler ümesi (set of large itemsets) Yaygın nesneümesi (large itemset) L uzunlulu yaygın nesneümeler ümesi (set of large itemsets of size ) l uzunlulu yaygın nesneümesi (large itemset of size ) C uzunlulu aday ümeler (candidate sets of size ) L uzunlulu ve TID içeren yaygın nesneümeler ümesi (set of large itemsets of size and the TID containing them) C uzunlulu ve TID içeren aday nesneümeler ümesi (set of candidate itemsets of size and the TID containing them) i D D veritabanında i bölmesi (partition i for database D ) X i L i C p i i D bölmesindei nesneümesi (itemset for partition i D ) i D bölmesindei yaygın nesneümeler ümesi (set of large itemsets for partition i D ) i D bölmesindei aday nesneümeler ümesi (set of candidate itemsets for partition i D ) bölme sayısı (number of partitions) v

KISALTMA LĐSTESĐ BFS DBA DBMS DFS FIFO G/Ç IT KDD LIFO OLAP OLTP RDBMS SQL TID Breadth-First Search Database Administrator Database Management Systems Depth-First Search First In First Out Giriş/Çıış Information Technology Knowledge Discovery in Databases Last In First Out On-line Analytical Processing On-line Transaction Processing Relational Database Management Systems Structured Query Language Transaction ID vi

ŞEKĐL LĐSTESĐ Sayfa Şeil 1.1 Veri madenciliği sistemi mimarisi (Han ve Kamber, 2000)... 2 Şeil 2.1 Veritabanı tenolojisinin gelişimi (Han ve Kamber, 2000)... 5 Şeil 2.2 Veri ambarı mimarisi (Tantuğ, 2002)... 6 Şeil 2.3 Veri ambarı bileşenleri... 8 Şeil 2.4 yer, zaman, nesne boyutlarını (dimension) ve raamsal ölçümleri (measure) içeren 3-boyutlu OLAP veri übü (Han ve Kamber, 2000)... 10 Şeil 3.1 Veri madenciliğinin disiplinler arası ilişisi... 16 Şeil 3.2 Veritabanlarında bilgi eşfi süreci (Apınar, 2000)... 17 Şeil 3.3 Veri madenciliği metodolojisi (Alpaydın, 2000)... 22 Şeil 4.1 Apriori Algoritması (Han ve Kamber, 2000)... 36 Şeil 4.2 PARTITION algoritmasını ullanara yaygın nesneümelerinin bulunması... 41 Şeil 4.3 PARTITION algoritması (Dunham ve diğerleri, 2000)... 41 Şeil 4.4 Sampling algoritması (Dunham ve diğerleri, 2000)... 43 Şeil 4.5 FP-Growth örne veri seti... 45 Şeil 4.6 Yaygın nesneümelerinden, örne veri seti ullanılara FP-Tree nin oluşturulması... 45 Şeil 4.7 FP-Tree den elde edilen nesne oşullu örüntüler... 46 Şeil 4.8 m-oşullu FP-Tree ve m nesnesi bulunan yaygın nesneler... 46 Şeil 4.9 m-oşullu FP-Tree den yaygın nesnelerin bulunması [10]... 47 Şeil 4.10 Veri paralelleştirme modeli (Dunham ve diğerleri, 2000)... 49 Şeil 4.11 Görev paralelleştirme modeli (Dunham ve diğerleri, 2000)... 50 Şeil 4.12 CD algoritması (Dunham ve diğerleri, 2000)... 51 Şeil 4.13 DD algoritması (Dunham ve diğerleri, 2000)... 53 Şeil 4.14 Birliteli algoritmalarının sınıflandırılması (Dunham ve diğerleri, 2000)... 56 Şeil 5.1 Migros Kadir Has Mağazası ndai maret alışverişlerine ait örne veri seti - Sheet1 (1-60000 arası ayıtlar)... 60 Şeil 5.2 Migros Kadir Has Mağazası ndai maret alışverişlerine ait örne veri seti - Sheet2 (60001-82902 arası ayıtlar)... 61 Şeil 5.3 BMS-WebView-1 örne veri seti 149639 satır... 63 Şeil 5.4 BMS-WebView-2 örne veri seti 358278 satır... 63 Şeil 5.5 SQL Server Management Studio da oluşturulmuş olan ADDM veritabanı... 64 Şeil 5.6 ADDM veritabanındai t_migros_adir_has tablosunun yapısı... 65 Şeil 5.7 ADDM veritabanındai t_bms_webview_1 ve t_bms_webview_2 tablolarının vii

yapısı... 65 Şeil 5.8 ADDMSSIS projesinde yer alan Excel, Flat File ve SQL Server 2005 Veritabanı bağlantı nesnelerinin yapılandırması... 66 Şeil 5.9 pmigrossatis.dtsx pacage ı içinde yer alan Data Flow Tas ler ve bağlantıları... 67 Şeil 5.10 pmigrossatis.dtsx tei Data Flow Tas Sheet1 in içeriği... 67 Şeil 5.11 pmigrossatis.dtsx tei Data Flow Tas Sheet2 nin içeriği... 68 Şeil 5.12 pbms.dtsx pacage ı içinde yer alan Data Flow Tas ler ve bağlantıları... 68 Şeil 5.13 pbms.dtsx tei Data Flow Tas - BMS WebView 1 in içeriği... 69 Şeil 5.14 pbms.dtsx tei Data Flow Tas - BMS WebView 2 nin içeriği... 69 Şeil 5.15 8939 adet ürünün ategori hale getirilmesi... 70 Şeil 5.16 ADDM veritabanındai t_urun tablosunun yapısı... 70 Şeil 5.17 pmigrosurunkategori.dtsx pacage ı içinde yer alan Data Flow Tas ve bağlantıları... 71 Şeil 5.18 pmigrosurunkategori.dtsx tei Data Flow Tas ın içeriği... 72 Şeil 5.19 ADDM veritabanı tabloları (36 adet)... 74 Şeil 5.20 ADDM veritabanı stored procedure ve fonsiyonları... 75 Şeil 5.21 Excel ve metin dosyalarındai bilgilerin atarıldığı, ham verilerin bulunduğu tablolar... 76 Şeil 5.22 Ham verilerin bulunduğu tablolardan türetilmiş, algoritmalara veri sağlayan tablolar... 77 Şeil 5.23 Algoritmaların çalışması esnasında ullanılan, sonuçların ve birliteli urallarının bulunduğu tablolar... 78 Şeil 5.24 Algoritmaların çalışması esnasında ve birliteli uralları oluştururen ullanılan geçici tablolar... 79 Şeil 5.25 sp_apriori stored procedure ünden bir esit... 80 Şeil 5.26 sp_fpgrowth_executesql stored procedure ünden bir esit... 81 Şeil 5.27 fn_fpgrowth_bul_fpg_id_by_nesne_ust_fpg_id isimli fonsiyon... 82 Şeil 5.28 Algoritmaların Migros verisi üzerindei ilgili deste değerlerinde toplam çalışma sürelerini gösteren grafi... 86 Şeil 5.29 Algoritmaların BMS1 verisi üzerindei ilgili deste değerlerinde toplam çalışma sürelerini gösteren grafi... 87 Şeil 5.30 Algoritmaların BMS2 verisi üzerindei ilgili deste değerlerinde toplam çalışma sürelerini gösteren grafi... 88 viii

ÇĐZELGE LĐSTESĐ Sayfa Çizelge 2.1 OLTP ve OLAP sistemlerin ıyaslanması (Han ve Kamber, 2000)... 14 Çizelge 4.1 apriori_gen() fonsiyonunu ullanara aday ümeleri bulma... 35 Çizelge 4.2 Algoritmaların arşılaştırılması (Dunham ve diğerleri, 2000)... 59 Çizelge 5.1 Algoritmaların Migros verisi üzerindei arşılaştırmalı sonuçları... 86 Çizelge 5.2 Algoritmaların BMS-WebView-1 verisi üzerindei arşılaştırmalı sonuçları... 87 Çizelge 5.3 Algoritmaların BMS-WebView-2 verisi üzerindei arşılaştırmalı sonuçları... 88 Çizelge 5.4 Migros verisinin madenlenmesi ile oluşan birliteli uralları (güven sıralı)... 90 Çizelge 5.5 Migros verisinin madenlenmesi ile oluşan birliteli uralları (deste sıralı)... 91 Çizelge 5.6 BMS1 verisinin madenlenmesi ile oluşan birliteli uralları (güven sıralı)... 92 Çizelge 5.7 BMS1 verisinin madenlenmesi ile oluşan birliteli uralları (deste sıralı)... 93 Çizelge 5.8 BMS2 verisinin madenlenmesi ile oluşan birliteli uralları (güven sıralı)... 94 Çizelge 5.9 BMS2 verisinin madenlenmesi ile oluşan birliteli uralları (deste sıralı)... 95 ix

ÖNSÖZ Verilerin sayısal ortamda salanmaya başlanması ile birlite, veri mitarının her yirmi ayda bir ii atına çıtığı varsayılmatadır. Bu büyü mitardai ham veri selinden gelecele ilgili tahmin yapılmasını sağlayan anlamlı bilgilerin, bağıntı ve uralların eşfedilmesi gereir. Bu urallara dayanara belirlenen stratejiler ile şiret arı arttırılabilir. Örneğin, süpermaretlerde veri analizi yapara her ürün için bir sonrai ayın satış tahminleri çıarılıp birlite satın alınan ürünler için promosyon uygulaması ve reyon dizilişleri yapılabilir, müşteriler satın aldıları ürünlere göre gruplandırılabilir, yeni bir ürün için potansiyel müşteriler belirlenebilir. Binlerce ürünün ve müşterinin olacağı düşünülürse bu analizlerin gözle ve elle yapılamayacağı, bilgisayar programları aracılığıyla otomati olara yapılması geretiği ortaya çıar. Bu ihtiyaçlar veri madenciliğinin ve tenilerinin ortaya çımasına sebep olmuştur. Yaın geleceğin geçmişten ço fazla farlı olmayacağı varsayılırsa, geçmiş veriden çıarılmış olan urallar gelecete de geçerli olaca ve ilerisi için doğru tahmin yapılmasını sağlayacatır. Bu masatla veri madenciliği alanında birliteli uralı madenciliği son zamanlarda önem azanara birço araştırmanın onusu olmuştur. Bu tez çalışmasında veri madenciliği ve veritabanlarında bilgi eşfi süreci içinde yer alan temel avramlar, yöntem ve teniler ele alınmış olup, birliteli uralları ve bu uralların çıarılması için ullanılan algoritmalar araştırılmıştır ve örne veri setleri üzerinde uygulama yapılmıştır. Çalışmam boyunca değerli fiir ve önerileriyle beni yönlendiren, her onuda deste veren tez danışmanım Sayın Yrd. Doç. Dr. Songül Albayra a, gerçe verileri içeren bir maret alışveriş verisi almamda emeği geçen Migros Tür T.A.Ş. Genel Müdürlüğü personeline, anlayışları ve gösterdileri hoşgörüden dolayı tüm iş aradaşlarıma ve her zaman deste ve dualarını yanımda hissettiğim canım aileme saygı ve içtenlile teşeürlerimi sunarım. x

ÖZET VERĐ MADENCĐLĐĞĐNDE MARKET SEPET ANALĐZĐ VE BĐRLĐKTELĐK KURALLARININ BELĐRLENMESĐ Günümüzde tenoloji sayesinde ço büyü mitarda veri elde edilip salanabilmetedir. Anca bu büyü mitardai verilerden gözle görülemeyece, elle analiz edilmesi zor bilgilerin gelişen bilgisayar tenolojisi ve bilgisayar programları ile otomati olara analiz edilmesinin gereliliği ortaya çımatadır. Veriümelerinden örüntülerin, eğilimlerin ve anormallilerin bulunara basit modeller şelinde özetlenmesi, bilgi çağındai büyü uğraşıların başında gelir. Veri madenciliği, büyü mitardai mevcut veri içinden anlamlı, potansiyel olara ullanışlı, gelecele ilgili tahmin yapılmasını sağlayan bağıntı ve uralların bilgisayar programları ullanara bulunmasıdır. Birço setörde ullanımı gidere yaygınlaşan veri madenciliğinin uygulama alanlarından biri de süpermaretlerdei müşteri, ürün ve satış bilgilerinden yararlanara ilişi ve uralların elde edildiği maret sepet analizidir. Maret sepet analizinde ürünlerin birbiriyle olan satış ilişilerinin elde edilmesi ve veri madenciliği onularından biri olan birliteli urallarının çıarılması, şiretlerin ârını arttırıcı etenlerdir. Birliteli uralları, satış hareet verileri içinde birlite hareet eden nesnelerin ve nesneler arasındai bağıntıların eşfedilere geleceğe yöneli tahminlerin üretilmesini sağlar. Bu uralların elde edilebilmesi için 90 lı yılların başından itibaren birço algoritma geliştirilmiştir. Bu algoritmaların birbirine göre farlı oşullar altında üstünlüleri ve farlı çalışma yöntemleri mevcuttur. Veritabanının taranması, birleştirme, budama yöntemlerinin uygulanması ve minimum deste değeri yardımı ile nesneler arasındai birliteli ilişilerinin bulunması, algoritmaların genel mantığını teşil eder. Bu tez çalışmasında, veri madenciliği ile ilgili avramlar ve özellile maret sepet analizinde ullanma üzere birliteli uralları üreten temel algoritmalar detaylı bir şeilde ele alınmış ve birbiriyle arşılaştırılmıştır. Ayrıca, örne veri setlerinden ii farlı algoritma ile birliteli urallarını bulan bir uygulama geliştirilmiştir. Anahtar Kelimeler: Veri madenciliği, Maret sepet analizi, Birliteli uralları, Birliteli ural madenciliği algoritmaları, Apriori algoritması, FP-Growth algoritması. xi

ABSTRACT MARKET BASKET ANALYSIS IN DATA MINING AND FINDING ASSOCIATION RULES Today, large amounts of data can be collected and stored by using technology. However, there is a necessity of automatic analysis using computer technology and computer programmes which is developing day by day in order to analyze the data, that is difficult to be analyzed by manuel and can not be seen. Maing summaries in the simple way by finding patterns, tendencies, anormalities from the database is one the most common thing in the information age. Data mining is the process of finding the rules and the correlations among the large amounts of data by the computer programmes, which are understandable, potentially useful and provide predictions about the future. The utilization of data mining in a wide selection of fields is increasing. One of the areas is the maret-baset analysis that is to have the rules and associations from the data about customer, products and sales. In this analysis, gathering the association rules-one of the subjects in the data mining- and having the sales relationships between the products are two factors of increasing rate of profit in the companies. Association rules provide predictions about the future by discovering relations between the objects which act together in the transactional sales data and the objects. Lots of algorithms has been developed since the beginnings of 1990 s. These algorithms have different woring methods and different superiorities on each other in the different conditions. The common logic of these algorithms is that passing over the database, combining, pruning and finding the association rules between the items by using the minimum support threshold. In this thesis, concepts about the data mining and basic algorithms especially using in the maret-baset analysis to produce the association rules are examined in details and compared with each other. Also, an application is developed to find association rules from sample datasets by using two different algorithms. Keywords: Data mining, Maret-baset analysis, Association rules, Association rule mining algorithms, Apriori algorithm, FP-Growth algorithm. xii

1 1. GĐRĐŞ Her geçen gün hem ucuzlayan hem de işlemci hızları ve dis apasiteleri artan bilgisayar sistemlerinde büyü mitardai veriler salanıp işlenmetedir. Verilerin sayısal olara toplandığı ve salandığı bu tenolojilerde veri mitarının hızla artmasına rağmen bu artışa oranla bu verilerden elde edilen bilgi mitarının yeterli düzeyde olduğu söylenemez. Bilgi sistemlerinin ve tenolojilerinin son zamanlarda gelişmesine paralel olara büyü maretler, işletmeler ve diğer uruluşlar endi amaçlarına ve yapılarına göre veritabanlarında çeşitli türlerde veri toplamıştır. Alışveriş setöründe, banacılı işlemlerinde, amusal alandai işlemlerde ve buna benzer birço alanda depolanan geniş hacimdei ve dağını verilerden anlamlı ve verimli şablon ve uralların eşfedilmesine ihtiyaç duyulmatadır. Salı ve işlenmemiş bu verilerden yeni, geçerli, faydalı ve sonuç olara anlaşılabilir örüntülerin çıarılmasındai bu bilgi eşfi sürecine Veritabanlarında Bilgi Keşfi (Knowledge Discovery in Databases - KDD) denir. Veritabanlarında bilgi eşfi sürecinin bir aşaması olara abul gören Veri Madenciliği (Data Mining), eldei verilerden üstü apalı, ço net olmayan, önceden bilinmeyen anca potansiyel olara ullanışlı bilginin çıarılmasını sağlar. Bir başa ifadeyle büyü mitardai verinin analiz edilere anlamlı şablon ve uralların eşfedilmesine iman verir (Berry ve Linoff, 2004). Veritabanlarından birliteli urallarının bulunması veri madenciliğinin en önemli onularından biri olup, bir arada sı olara görülen ilişilerin ortaya çıarılmasını ve özetlenmesini sağlar. Örneğin, bir alışveriş sırasında müşterinin hangi ürün veya hizmetleri satın almaya eğilimli olduğunun belirlenmesi, müşteriye daha fazla ürünün satılmasını sağlayara şiret ârını arttırıcı rol oynar. Satın alma eğilimlerinin tanımlanmasını sağlayan birliteli uralları ve ardışı zamanlı örüntüler, pazarlama amaçlı olara maret sepet analizi adı altında veri madenciliğinde sıça ullanılmatadır. Maret sepet analizine e olara bu teniler tıp, finans gibi farlı olayların birbiriyle ilişisinin belirlenmesinin gereli olduğu alanlarda da tercih edilmetedir. Birliteli uralları, satış hareet verileri içinde birlite hareet eden nesnelerin ve nesneler arasındai bağıntıların eşfedilere geleceğe yöneli tahminlerin üretilmesini sağlar. Bu amaçla birliteli uralları madenciliğinde ullanma üzere bu uralların elde edilebilmesi için 90 lı yılların başından itibaren birço algoritma geliştirilmiş olup bu algoritmaların birbirine göre farlı oşullar altında üstünlüleri ve farlı çalışma yöntemleri mevcuttur. Anca birliteli urallarının çıarılmasında en ço bilinen ve uygulanan algoritma, Apriori

2 algoritması olmuştur. Veritabanının taranması, birleştirme, budama yöntemlerinin uygulanması ve minimum deste değeri yardımı ile nesneler arasındai birliteli ilişilerinin bulunması, algoritmaların genel mantığını teşil etmetedir. Şeil 1.1 Veri madenciliği sistemi mimarisi (Han ve Kamber, 2000) Birliteli uralları aşağıdai örnelerde de olduğu gibi eşzamanlı olara gerçeleşen birlitelilerin tanımlanmasında ullanılır: Kola satın alan müşteriler 40% olasılıla patates cipsi de alırlar. Yağsız yoğurt ve düşü yağlı peynir alan müşteriler 85% olasılıla diyet süt de satın alırlar. Ardışı zamanlı örüntüler ise aşağıdai örnelerde görüldüğü gibi birbirini izleyen dönemlerde gerçeleşen ilişilerin tanımlanmasında ullanılır: X ameliyatından sonra onbeş gün içinde 45% olasılıla Y enfesiyonu oluşacatır. Çeiç satın alan bir müşteri, il üç ay içerisinde 15%, bu dönemi izleyen üç ay içerisinde 10% olasılıla çivi satın alacatır.

3 Birliteli urallarının en önemli uygulama alanları arasında; Maret sepet analizi, Çapraz-pazarlama (cross-mareting), Promosyon analizleri, Katalog ve yerleşim düzeni tasarımları bulunmatadır. Bu doğrultuda tez çalışmasının amacı, veri madenciliği ve veritabanlarında bilgi eşfi süreci içinde yer alan temel avramların, yöntem ve tenilerin araştırılması, maret sepet analizinde birliteli urallarının eşfedilmesi sürecinin ve bu uralların çıarılması için ullanılan algoritmaların detaylıca incelenmesi ve ıyaslanmasıdır. Çalışmanın iinci bölümünde veri madenciliği avramı öncesinde bilinmesi gereen veritabanı ve veri ambarı ile ilgili temel avramlar haında bilgi verilmiştir. Üçüncü bölümde veri madenciliği haında inceleme yapılmış olup, veri madenciliği ve bilgi eşfi sürecine değinilmiştir. Dördüncü bölümde ise birliteli uralları madenciliği avramı ve bu amaçla ullanılan algoritmalar ele alınmıştır. Çalışmanın sonunda, en ço bilinen birliteli uralı algoritması olan Apriori algoritmasını baz alara yazılan program ve setörde atif olara ullanılan bir-ii veri madenciliği aracı tarafından örne veri seti üzerinde birliteli urallarının çıarılması ele alınacatır.

2. VERĐTABANI ve VERĐ AMBARI KAVRAMLARI 4 2.1 Veri, Bilgi ve Metaveri Günlü hayatta veri (data), bilgi (information) ile eş anlamlı olara ullanılır. Anca, düzenlenmemiş bir ölçüm olara nitelendirilebilece veri düzenlendiğinde bilgiye dönüşmetedir. Veri endi başına değersizdir, hiçbir anlam ifade etmez. Örneğin veritabanından alınan 345 verisi müşteri ID si mi, tutar mı yosa ürün numarası mı diye bilinmiyorsa, bu veri bilgi içermez. Đsteğimiz amacımız doğrultusunda bilgidir. Bilgi, bir amaca yöneli işlenmiş veridir. Bir soruya yanıt verme için veriden çıarılan olara tanımlanabilir (Alpaydın, 2000). Veri + Açılama ( + Analiz ) = Bilgi (2.1) Veriyi bilgiye çevirmeye veri analizi denir. Veriyi oluşturan sayılar, harfler ve onların anlamı metaveri (metadata, üstveri) olara bilinir. Metaveri, veri haındai veri olara tanımlanabilir. 2.2 Veritabanı Sistemleri Veritabanı analizinde bir bilgi birço veri ullanılara elde edilebilir. Đş dünyası ve şiretler, etin yönetimi sağlama ve azançlarını ve gelirlerini en üst düzeye çıarma için bilgiyi yönetmeye ihtiyaç duyarlar. Birço fatura ve ağıt parçası içinden yöneticinin sorduğu sorulara cevap verme zor olsa da, bilgisayarların sevdiği iş olara bu terarlanan görevleri yerine getirme ve sorulara doğru cevaplar bulma olaylaşmatadır. Veritabanı (database), sistemati erişim imanı olan, yönetilebilir, güncellenebilir, taşınabilir, birbirleri arasında tanımlı ilişiler bulunabilen düzenli bilgiler topluluğudur. Bir başa tanımı ise, bir bilgisayarda sistemati şeilde salanmış, programlarca istenebilece veri yığınlarına veritabanı denir. Bir veritabanını oluşturma, salama, çoğaltma, güncelleme ve yönetme için ullanılan programlara Veritabanı Yönetim Sistemleri (Database Management Systems - DBMS) adı verilir. DBMS özellilerinin ve yapısının nasıl olması geretiğini inceleyen alan Bilgi Bilimi (Information Science) dir. Veritabanında ayıt yığını ya da bilgi parçalarının tanımlanmasına şema adı verilir. Şema, veritabanında ullanılaca bilgi tanımlarının nasıl modelleneceğini gösterir. Buna veri modeli (data model) denir. En yaygın olanı, verilerin tablolarda salandığı ilişisel model (relational model) dir. Tablolarda bulunan satırlar (row) ayıtların endisini, sütunlar (column) ise bu ayıtları oluşturan bilgi parçalarının ne türden oldularını belirtir.

5 Şeil 2.1 Veritabanı tenolojisinin gelişimi (Han ve Kamber, 2000) Veritabanı yazılımı ise verileri sistemati bir biçimde depolayan yazılımdır. Birço yazılım bilgi depolayabilir ama aradai far, veritabanının bu bilgiyi verimli ve hızlı bir şeilde yönetip değiştirebilmesidir. Veritabanı, bilgi sisteminin albidir ve etili ullanmala değer azanır. Bilgiye gereli olduğu zaman ulaşabilme esastır. Đlişisel Veritabanı Yönetim Sistemleri (Relational Database Management Systems - RDBMS) büyü mitardai verilerin güvenli bir şeilde salanabildiği, bilgilere hızlı erişim imanının sağlanabildiği, bilgilerin bütünlü içerisinde tutulabildiği ve birden fazla ullanıcıya aynı anda bilgiye erişim imanının sağlanabildiği programlardır [8].

6 2.3 Veri Ambarları Veri ambarı (data warehouse) ilişili verilerin sorgulanabildiği ve analizlerinin yapılabildiği bütünleşmiş bir bilgi deposudur. Veri ve bilgiler, üretildilerinde heterojen aynalardan elde edilirler. Veri ambarları, başlangıçta farlı aynalardan gelen verinin üzerinde daha etili ve daha olay sorguların yapılmasını sağlamatadır. Şeil 2.2 Veri ambarı mimarisi (Tantuğ, 2002) Veri ambarları, sağlı setöründen coğrafi bilişim sistemlerine, işletmelerin pazarlama bölümünden üretime, geleceğe dönü tahminler yapma, sonuçlar çıarma ve işletmelerin yönetim stratejilerini belirleme için ullanılan bir sistemdir. Pahalı bir yatırım maliyeti olsa bile sonuç olara getirisi ve yararı bu maliyetleri at at aşmatadır. Đş organizasyonlarının bilgi aış mimarisinde veri ambarları ii amaçla oluşturulur: 1. Hareetsel ve organizasyonel görevler arasındai depo ve analiti strateji verilerin biriimini sağlar. Bu veriler daha sonra yeniden ullanılma üzere arşivlenir. Veri ambarları verilerin sorgulanabildiği ve analiz yapılabilindiği bir depodur. 2. Pazarda yeni fırsatlar bulma, reabete atı sağlama, yoğun proje çevirimine yardımcı olma, iş, envanter ve ürün maliyetlerini azaltma gibi imanların yanında farlı işlere ait verilerin ilişilendirilmesi, alınan bilgiye hızlı cevap verebilme ve arar deste gibi birço alanda veri ambarlarının atısı büyütür.

7 Veri ambarının en önemli bileşenlerinden biri metaveridir. Veri ambarında verilerin tanımlandığı ısımdır. Daha önce de belirtildiği gibi metaveri veri haında veri anlamındadır. Metaveri her veri elementinin anlamını, hangi elementlerin hangileriyle nasıl ilişili olduğunu ve ayna verisi ile erişilece veri gibi bilgileri içermetedir. Veri ambarındai veriler, veri ambarı yöneticisinin ullandığı teni veriler ve veri ambarı ullanıcılarının ullandığı iş verileri olara iiye ayrılır: 1. Teni veriler: Operasyonel veritabanı tanımlarını ve veri ambarı tanımlarını içerir. Bu ii tanım veya şema veri ambarını çalıştırılabilmesini sağlayan veri taşıma operasyonlarını içerir. Bu bilgiler veri ambarı yöneticisine veri ambarında birbiriyle ilişili verileri gösterere yardımcı olan bilgilerdir. 2. Đş verileri: Kullanıcılara yardım eder. Kullanıcıların veritabanı oluşturan veriler dışındai veri ambarında bulunan bilgilere ulaşmalarına yardımcı olur. Ayrıca veri ambarına verinin ne zaman ve nereden geldiği gibi bilgilerede ulaşılmasını sağlar [6]. 2.3.1 Datamart Datamart (veri pazarı) şiretlerde belirli bir bilgi ullanıcısı grubunun ihtiyacına yöneli olara hazırlanan üçü boyutlu veri ambarı olara tanımlanabilir. Datamartlar veri ambarının alt ümesi olan 1-10 GB lı bölümsel ambarlardır ve organizasyonların ve işletmelerin belirli ullanıcıları için ayrılmış ve onlara ait verileri içerirler [6]. Datamartların tercih edilme nedenleri şunlardır: Sı ihtiyaç duyulan veriye olayca erişim sağlama, Bir ullanıcı grubu için orta baış oluşturma, Son-ullanıcı yanıt süresini geliştirme, Kolaylıla tasarlanabilmesi, Tüm veri ambarı tasarımına göre daha az maliyetli olması, Muhtemel ullanıcıların tüm veri ambarına göre daha net tanımlanabilmesi. 2.3.2 Veri Ambarı Bileşenleri ve Fonsiyonları Veri ambarı bileşenleri ve fonsiyonları ise şu şeilde belirtilebilir: Değişi platformlar üzerindei işletimsel uygulamalara ait verilere erişim ve gereli verilerin bu platformlardan alınması,

8 Alınan verilerin temizlenmesi, tutarlı duruma getirilmesi, özetlenmesi, birleştirme ve birbirleriyle entegrasyonunun sağlanması, Dönüştürülen verilerin veri ambarı veya datamart ortamına dağıtımı, Gönderilen verilerin bir veritabanında toplanması, Depolanan bilgi ile metaveride bulunan ilgili bilgilerin veri ataloğunda salanması ve son ullanıcılara sunulması, Veri ambarı veya datamartlarda bulunan bilgileri uç ullanıcıların arar deste amaçlı ullanımının sağlanması. Şeil 2.3 Veri ambarı bileşenleri 2.4 OLTP (Online Transaction Processing) Sistemleri Birço veritabanı sistemi OLTP (Online Transaction Processing) sistemlerde tutulur. Eşzamanlı veritabanı bağlantısını yönetme için tasarlanmış bu sistemlerde az sayıdai ayıt için aydetme, güncelleme, sorgulama gibi işlemler yapılmatadır. OLTP sistemini içeren hareet (transaction) örnelerinden bazıları şöyledir: Satış veritabanına 325903 nolu müşteri için bir ayıt gir ve detaylarını gir, 583472 nolu müşterinin faturalanmamış siparişlerini göster, 1032 nolu tedariçi firmanın adresini değiştir. Bu gibi hareetlerin orta paylaştığı özelliler ise: Belirli bir zamanda ayrı satırlardai üçü sayıdai verileri işleme, Herbir işlemin, verinin o ani gerçe değerleriyle güncellenmesini geretirmesi, Kullanıcıların memnun olması için hemen hemen anlı yanıtlara ihtiyaç duyması.

9 Şu ana adar hangi ürün pazar payının en fazla azalmasına neden olmuştur? gibi analiti bir sorgulama bu sistemlere sorulduğunda, sınıflandırma ve milyonlarca ayıttan cevabı bulma sırasında sistem zorlanmata ve uzun süre almatadır. 2.5 OLAP (Online Analytical Processing) Sistemleri Đlişisel veri tabanlarının yaygınlığı ve sonrasında ortaya çıan veri ambarlarının gelişmesi ile beraber, verilere daha hızlı şeilde erişme ve ço boyutlu analiz ihtiyaçları, bilim adamlarını ve yazılım şiretlerini, daha farlı yapılar geliştirmeye itmiştir. Bu amaçla geliştirilen bir tenoloji olan OLAP (Online Analytical Processing), ilişisel veri tabanları gibi, bilimsel temeller üzerine değil, OLAP ürünleri üreten firmaların desteğinde çıan bir tenoloji olmuştur. OLAP, yöneticiler ve analistlerin, verilere ço hızlı şeilde, farlı açılardan baabilmelerini sağlayan bir yapıdır. Kim? ve Ne Zaman? sorularından başa, Neden? ve Eğer şu olursa... sorularının da yanıtını verir. Örneğin; Eğer şeer fiyatları 5% ve taşıma maliyetleri 10% düşerse, yıllı ve çeyreler bazında ârlılı ne olur? gibi soruların yanıtlarını bu sistemlerde aıllı raporlama araçları sayesinde alma olduça olaydır. Genel eğilimden farlılı gösteren, uç değerler teşil eden elemanları birço analiz aracı, sayısal detaylara girmeden, sadece renlerle bile görüntüleyebilmetedir. Han ve Kamber e göre veri ambarları ve OLAP tenolojisi ço boyutlu veri modelleri üzerine urulmuştur. Ço boyutlu veri modeli veriyi veri übü (data cube) formunda incelemetedir. Veri übü, verinin ço boyutta modellenmesini ve incelenmesini sağlar ve olgu tablosundan (fact table) beslenen boyutlar (dimension) ve ölçümlerden (measure) oluşur. Boyutlar, organizasyonun ayıtlarını tutma istediği perspetifler veya varlılar ile ilgili ien, ölçümler raamsal değerler, elde edilme istenen sonuçlardır. OLAP basit olara üç aşamadan oluşur; veri ambarından veri seçimi, veri übü urma ve veri übü üzerinde çevrim içi analizin yapılacağı uygulama. Ço boyutlu veri üpleri üzerinde birço OLAP işlemi uygulanmatadır; Roll-up (detaylandırma), Drill-down (detay azaltma), Slice and dice (dilimleme ve parçalama), Pivot (çevirim),... vb.

10 Şeil 2.4 yer, zaman, nesne boyutlarını (dimension) ve raamsal ölçümleri (measure) içeren 3-boyutlu OLAP veri übü (Han ve Kamber, 2000) Bir veri ambarının olması, OLAP a ihtiyaç olmadığı anlamına gelmez. Veri ambarları ve OLAP birbirlerini tamamlar. Veri ambarı verileri uygun şeilde tutmaya ve ontrol etmeye yarar. OLAP ise, veri ambarı verilerini strateji bilgilere dönüştürmeye yarar. Bir şiret yapısı içerisinde, departmanlar bazında incelenece olursa: Pazarlama departmanlarında OLAP ın en yaygın ullanım alanları, pazar araştırmalarında, satış tahminleri, promosyon ve ampanya analizleri, müşteri analizleri ve pazar/müşteri segmentasyonlarıdır. Veri madenciliği sonuçlarının değerlendirilmesi ve demografiler bazında incelenmesi seviyesinde de olmazsaolmaz araçlardan biri olara yer almatadır. Üretim ile ilgili uygulamaları ise en yoğun olara üretim planlama ve hata analizleridir. Özellile senaryo geliştirmete ve farlı ürün tipleri ile çalışılan yapılarda, ço boyutlu düşünme imanı sayesinde maliyetler ve fiyatlamalar olaylıla çıarılabilmetedir. Finans departmanları ise OLAP ı bütçeleme, activity-based costing, finansal performans analizleri ve finansal modelleme amaçları ile ullanabilir. Özellile birli onusunda oluşturulaca modeller, ço büyü olaylılar sağlamatadır. Strateji belirleme, satış analizleri ve gelece tahminleri ise, satış departmanlarındai OLAP

11 uygulamalarıdır. 2.5.1 OLAP Kuralları OLAP teriminin il olara ortaya çıışı 1993 yılında, Dr. E. F. Codd un ortaya oyduğu urallar çerçevesinde olmuştur. Buna göre, bir veri yapısının OLAP olara nitelendirilebilmesi için onii ural belirlenmiştir. Bu urallar sırası ile: 1. Ço boyutlu inceleme özelliğine sahip olması, 2. Şeffaflı, 3. Erişilebilirli, 4. Her seviyede sorgulama için aynı performansı gösterebilme özelliği, 5. Đstemci-Sunucu yapısında olması, 6. Sınırsız şeilde çarpraz raporlama olanağının olması, 7. En alt seviyedei verilerin otomati olara ayarlanması, 8. Her şarta uygun boyutlandırılabilirli, 9. Ço ullanıcı desteğinin olması, 10. Her seviyede verilerin değiştirilebilir olması, 11. Esne raporlama özelliği, 12. Boyut ve gruplamalarda sınır olmamasıdır. 2.5.2 OLAP Özellileri Zaman azancının dışında, OLAP üç ço önemli özelliği de beraberinde getirmetedir; Verilere ço boyutlu baabilme özelliği: Analizler sırasında ullanılan her türlü ırılıma boyut adı verilir. Örneğin demografi veriler (yaş, cinsiyet, eğitim durumu), sayısal veriler, adetler, işlem mitarları, gerçeleşen ve bütçelenen değerler, ürün tüpleri, ürün özellileri ve zaman. Yöneticiler ve analistler çalışmaları sırasında tüm bu tanımlanan verileri yatay veya düşey esenlerde çaıştırara görme isteyebilirler. Đlişisel veri tabanları, bu şeilde raporlara izin vermezler, faat raporlama araçlarının yeteneleri ile, belirli bir notaya adar tolere edilebilir. Faat daha armaşı analizler işin içine girdiğinde, bir OLAP yapısı urmadan bu raporları alma imansız hale gelmetedir.

12 Đlişisel veri tabanları üzerinde armaşı SQL odları yazma ya da raporlama aracının sahip olduğu programlama dili üzerinde uğraşma gereebilir. Bu da analizi yapan işilerin işin özünden çıara, analiz geretirebilece verilere değil teni olanalara, daha olay şeilde alabileceleri verilere analize olmaları sonucunu doğurur. Bu nedenle iş zeası programlarının prati olmasının yanında fazla teni bilgi ullanmadan raporların alınabilir olması, farlı aynaları bir arada ullanabilece, onsolide edebilece yapıda olmaları gereir. Boyutların başa bir özelliği de hiyerarşiler tanımlanabilmesidir. Hiyerarşiler sayesinde hem toplamlara ulaşma olaylaşmata, hem de farlı gruplar için farlı senaryolar hazırlayabilme şansı doğmatadır. Karmaşı hesaplamalar: Bir OLAP sisteminin gerçe performansı armaşı hesaplamaları yapma gücü ile ölçülebilir. OLAP sistemleri sadece toplama işleminden başa işlemler de yapabilece güçte olmalıdırlar. Gerçe hayat her zaman daha armaşıtır. Analiz yapanlar için asıl raamlardan ço, yüzdesel dağılımlar ço daha önemlidir. Biraç yıllı satış içerisinde binlerce ürün türü için günlü bazda satışları yüzdesel olara analiz edip sıraya dizebilme bir RDBMS ile saatler sürece bir raporun çalışmasını geretirebilir. Oysa uygun bir OLAP sistemi ile bir günlü satışlar ve biraç yıllı satış raamı arasında bir far olmamalıdır. Satış tahminlerinde genellile moving average ve yüzde artış gibi trend analizleri ullanılır. Finansal analizlerde, envanter hesaplarında ve portföy performans hesaplarında, zamana göre ürünlerin toplanma sırası sonucu tamamen değiştirebilir. (yuarıdan aşağıya ya da aşağıdan yuarıya, LIFO-FIFO) Kullanılaca OLAP yapısında bu şeilde hesaplamalara da izin verir bir yapının olması gereir. Zaman avramları: Zaman boyutu neredeyse her analizin temel bileşenidir. Zaman, diğer boyutlardan farlı olara endine has bir sıralama içersinde gider. Alfabeti (Oca her zaman Şubat tan önce gelmelidir) veya nümeri sıralamalardan (12/31, 01/01 den önce gelmelidir) her zaman farlıdır. Gerçe OLAP sistemleri, zamanın bu şeilde sıralanmasını sağlar. 2.5.3 OLAP ın Yararları OLAP ın yararları şu şeilde özetlenebilir: Analiz yapan işiler endine daha yeterli, IT den bağımsız hale gelebilmetedirler. Düşü apasiteli sistemlerde yaşanan zaman sııntısı problemleri ortadan

13 almatadır. Üretim sistemini rapor için hızlandıraca büyü yatırımlar yerine ço daha düşü maliyetli bir rapor sistemi urma bir çözüm olabilir. Yeni dönemde çıan tümleşi OLAP yapılarında ilişisel veri tabanı ve OLAP iç içe bir yapıda oldularından üretim sistemeleri ya da veri ambarları üzerinde toplamlar geretiğinde ilgili sorgulama OLAP üplerine yönlendirilere ço yüse ölçüde performans getirisi sağlanabilmetedir. Ayrıca bu yapılar sayesinde OLAP sistemi için hem yazılım hem de güncelleme anlamında iinci ez masraf yapma zorluğu da ortadan almatadır. Bu şeilde bir yatırımla var olan IT sistemi de rahatlamata, üretim sistemi üzerinde yer alan raporlar ortadan almatadır. Farlı aynalardan alınan aynalar onsolide edilmete ve veri güvenliği sağlanmatadır. Veriler toplamları alınmış şeilde bulundularından toplam verilerin bulunması için gereli raw-data analistin mainesine atarılması geremediğinden networ üzerinde büyü ölçüde bir trafi azancı sağlanmatadır. Zaman azancı aynı zamanda aynaların etin ullanımı ve para azancı anlamına da gelmetedir [7].

14 2.6 OLTP ve OLAP Sistemlerin Kıyaslanması OLTP ve OLAP sistemleri arasında ullanıcı ve sistem yönelimi, veri içeriği, veritabanı tasarımı, görünüm ve erişim şablonları gibi onularda benzerliler ve farlılılar mevcuttur. Aşağıdai çizelgede bu ii sistemin ıyaslanması özet olara verilmiştir. Çizelge 2.1 OLTP ve OLAP sistemlerin ıyaslanması (Han ve Kamber, 2000) Özelli OLTP OLAP Niteli hareetsel işleme bilgisel işleme Yönelim hareet analiz Kullanıcı Fonsiyon tezgahtâr, DBA, veritabanı profesyoneli bilgi çalışanı, yönetici, analist günlü hareetler uzun terimli bilgi geresinimleri, arar deste Veritabanı Tasarımı E-R tabanlı, uygulamaya dayalı yıldız/ar tanesi, özneye dayalı Veri güncel, güncelli garantisi tarihsel, esinli zamanla sağlanır Özetleme ilel, ço detaylı özetlenmiş, birleştirilmiş Görünüm detaylı, düz ilişi özetlenmiş, ço boyutlu Çalışma Birimi ısa, basit hareet armaşı sorgu Erişim ou/yaz çoğunlula ou Odalanma gelen veri çıan bilgi Đşlemler birincil anahtardai indes/hash çolu tarama Erişilen Kayıt Sayısı onlarca milyonlarca Kullanıcı Sayısı binlerce yüzlerce Veritabanı Boyutu 100 MB'tan GB'a adar 100 GB'tan TB'a adar Önceli yüse başarı, yüse ullanırlı yüse esneli, son-ullanıcı yönetimi Ölçüm üretilen hareetsel iş üretilen sorgusal iş, cevap süresi

15 3. VERĐ MADENCĐLĐĞĐ Đşlenmemiş verinin bilgiye çevrilmesi yeni bir problem değildir. Günümüzde hızla gelişen tenoloji ve yazılımlar sayesinde veriler ço hızlı şeilde depolanmatadır. Bu depolar günümüzün yüse apasiteli donanımları sayesinde büyü verilerin elde edilmesini ve bunların salanmasını sağlamatadır. Bu depolanmata olan verilerden anlamlı bilgi çıartma da o denli şeilde önem azanmatadır. Karar vermede en önemli ihtiyaç bilgidir. Gerçe zamanlı bir bilgi aışını sağlayabilme için süreli aan veri nehrinde, verileri ço hızlı toplayabilmeli, düzenleyebilmeli ve aynı oranda verilere ulaşabilmeli ve çözümleyebilmelidir. Bu anlamlı bilgi dönüşüm işlemi daha sonra strateji arar verme sürecinde veya yeni bilimsel bulguların oluşturulmasında ullanılabilmetedir. Binlerce ayıt içinden analizlerin gözle ve elle yapılamayacağı, otomati olara yapılması geretiği ortaya çıar. Veri madenciliği burada devreye girer: Veri Madenciliği; büyü mitardai veri içinden gelecele ilgili tahmin yapılmasını sağlayan bağıntı ve uralların bilgisayar programları ullanara bulunmasıdır. Yaın geleceğin geçmişten ço fazla farlı olmayacağı varsayılırsa, geçmiş veriden çıarılmış olan urallar gelecete de geçerli olaca ve ilerisi için doğru tahmin yapılmasını sağlayacatır (Alpaydın, 2000). Bu tanımlamalar doğrultusunda veri madenciliğinin ullanım amaçları şöyle özetlenebilir: Veri ambarında depolanmış verilerin içersinde bulunan bilgiyi çıartma Ço büyü mitardai veriden yeni ve gereli olan anlamlı bilgileri üretme Verinin özellilerinden yararlanara eğilimlerini anlama Geleceğe yöneli tahminlerde bulunara bilgiyi gelecetei müşteri ilişilerini yönlendirme amacıyla değerlendirme. Đstatistiğin genel olara tanımlayıcı ve yorumlayıcı oluşu veri madenciliğinde ümeleme, ilişi urma, tahmin yürütme ve arşılaştırma amaçları ile ullanılmatadır. Bu sayede birço model çıarılmatadır. Anca istatistiğin yanında veri tabanlarının ve bilgi öğrenme metotlarının gelişmesi, yeni algoritmaların geliştirilmesi ile veri madenciliği, birço alanın esişmesinin bir ürünü olara ortaya çımatadır [4].

16 Şeil 3.1 Veri madenciliğinin disiplinler arası ilişisi 3.1 Veritabanlarında Bilgi Keşfi Süreci Veri madenciliği, veri ambarlarında tutulan ve il baışta ço net şeilde anlaşılamayan bilgilerin sırlarını ortaya çıartma, bir anlamda bilgiyi eşfetmetir. Veri madenciliği matematisel, istatisel ve desen tanıma (pattern recognition) yöntemlerinden herhangi birini veya bir açını ullanara büyü bir veri ambarı içerisindei desenlerin, benzerlilerin ve orelâsyonların tespit edilmesi ve anlamlandırılması işlemidir. Veritabanı sistemlerinin artan ullanımı ve hacimlerindei olağanüstü artış, organizasyonları elde toplanan verilerden nasıl faydalanılabileceği problemi ile arşı arşıya bıramıştır. Gelenesel sorgu (query) veya raporlama araçlarının veri yığınları arşısında yetersiz alması, Veritabanlarında Bilgi Keşfi - VTBK (Knowledge Discovery in Databases - KDD) adı altında, süreli ve yeni arayışlara neden olmatadır. Bu süreç içerisinde, modelin urulması ve değerlendirilmesi aşamalarından meydana gelen veri madenciliği en önemli esimi oluşturmatadır. Bu önem, bir ço araştırmacı tarafından VTBK ile veri madenciliği terimlerinin eş anlamlı olara da ullanılmasına neden olmatadır.

17 Şeil 3.2 Veritabanlarında bilgi eşfi süreci (Apınar, 2000) VTBK sürecinde izlenmesi gereen temel aşamalar şunlardır; Problemin tanımlanması, Verilerin hazırlanması, Modelin urulması ve değerlendirilmesi, Modelin ullanılması ve Modelin izlenmesidir (Apınar, 2000). 3.1.1 Problemin Tanımlanması Veri madenciliği çalışmalarında başarılı olmanın il şartı, uygulamanın amacının açı bir şeilde tanımlanmasıdır. Amaç, problemin üzerine odalanmış ve açı bir dille ifade edilmiş olmalı, elde edilece sonuçların başarı düzeylerinin nasıl ölçüleceği tanımlanmalıdır. 3.1.2 Verilerin Hazırlanması Modelin urulması aşamasında ortaya çıaca sorunlar, bu aşamaya sı sı geri dönülmesine ve verilerin yeniden düzenlenmesine neden olacatır. Bu durum verilerin hazırlanması ve modelin urulması aşamaları için, çözümleyicilerin veri eşfi sürecinin toplamı içerisinde

18 enerji ve zamanının % 50 - % 85 ini harcamasına neden olmatadır. Veri hazırlamanın bütünüyle amacı veri madenciliği algoritması için girdi olabilece veri ümesini oluşturabilmetir. Verilerin hazırlanması aşaması endi içerisinde toplama, değer biçme, birleştirme ve temizleme, seçme ve dönüştürme adımlarından meydana gelmetedir. 3.1.2.1 Toplama (Collection) Toplama, tanımlanan problem için gereli olduğu düşünülen verilerin ve bu verilerin toplanacağı veri aynalarının belirlenmesi adımıdır. Verilerin toplanmasında uruluşun endi veri aynalarının dışında, nüfus sayımı, merez banası ara listesi gibi veritabanlarından veya veri pazarlayan uruluşların veritabanlarından da faydalanılabilir. 3.1.2.2 Değer biçme (Assessment) Veri madenciliğinde ullanılaca verilerin farlı aynalardan toplanması, doğal olara veri uyumsuzlularına neden olacatır. Bu uyumsuzluların başlıcaları farlı zamanlara ait olmaları, odlama farlılıları ve farlı ölçü birimleridir. Bu nedenlerle, iyi sonuç alınaca modeller anca iyi verilerin üzerine urulabileceği için, toplanan verilerin ne ölçüde uyumlu olduları bu adımda incelenere değerlendirilmelidir. 3.1.2.3 Birleştirme ve temizleme (Consolidation and Cleaning) Bu adımda farlı aynalardan toplanan verilerde bulunan ve değer biçme adımında belirlenen sorunlar mümün olduğunca giderilere veriler te bir veritabanında toplanır. Anca basit yöntemlerle ve baştan savma olara yapılaca sorun giderme işlemlerinin, ileridei aşamalarda daha büyü sorunların aynağı olacağı unutulmamalıdır. 3.1.2.4 Seçim (Selection) Bu adımda urulaca modele bağlı olara veri seçimi yapılır. Örneğin tahmin edici bir model için, bu adım bağımlı ve bağımsız değişenlerin ve modelin eğitiminde ullanılaca veri ümesinin seçilmesi anlamını taşımatadır. Modelde ullanılan veritabanının ço büyü olması durumunda rastgeleliği bozmayaca şeilde örneleme yapılması uygun olabilir. Günümüzde hesaplama olanaları ne adar gelişmiş olursa olsun, ço büyü veritabanları üzerinde ço sayıda modelin denenmesi ço uzun zaman alması nedeni ile mümün olamamatadır. Bu nedenle tüm veritabanını ullanara biraç model deneme yerine, rastgele örnelenmiş bir veritabanı parçası üzerinde birço modelin denenmesi ve bunlar arasından en güvenilir ve güçlü modelin seçilmesi daha uygun olacatır.

19 3.1.2.5 Dönüştürme (Transformation) Çözümleme için ullanılması düşünülen verilere ilişin değişenlerin uygun şele dönüştürülmesi gerelidir. Örneğin, redi risinin tahmini için geliştirilen bir modelde, borç/gelir gibi önceden hesaplanmış bir oran yerine, ayrı ayrı borç ve gelir verilerinin ullanılması tercih edilebilir. Ayrıca modelde ullanılan algoritma, verilerin gösteriminde önemli rol oynayacatır. Örneğin bir uygulamada bir yapay sinir ağı algoritmasının ullanılması durumunda ategori değişen değerlerinin evet/hayır olması, bir arar ağacı algoritmasının ullanılması durumunda ise örneğin gelir değişen değerlerinin yüse/orta/düşü olara gruplanmış olması modelin etinliğini artıracatır. 3.1.3 Modelin Kurulması ve Değerlendirilmesi Bu adım; verilerin çözümlendiği, VTBK sürecinin en önemli aşaması olan veri madenciliği adımıdır. Veri madenciliği; veritabanı sistemleri, verilerin depolanması, istatisti, maine öğrenimi gibi alanların ombinasyonundan oluşan disiplinler arası bir yöntemdir. Veri madenciliği, istatisti, veritabanı tenolojisi ve maine öğrenimi gibi diğer alanlara ait fiirleri, araçları ve yöntemleri de ullanır. 3.1.4 Modelin Kullanılması Kurulan ve geçerliliği abul edilen model doğrudan bir uygulama olabileceği gibi, bir başa uygulamanın alt parçası olara da ullanılabilir. 3.1.5 Modelin Đzlenmesi Zaman içerisinde sistemlerin özellilerinde ve dolayısıyla ürettileri verilerde ortaya çıan değişililer, urulan modellerin süreli olara izlenmesini ve gereiyorsa yeniden düzenlenmesini geretirecetir (Apınar, 2000). 3.2 Veri Madenciliği Uygulamaları Bağıntı: Çocu bezi alan müşterilerin %30 u bira da satın alır. Maret sepet analizinde (maret baset analysis) müşterilerin beraber satın aldığı malların analizi yapılır. Buradai amaç mallar arasındai pozitif veya negatif orelasyonları bulmatır. Çocu bezi alan müşterilerin mama da satın alacağını veya bira satın alanların cips de alacağını tahmin edebiliriz ama anca otomati bir analiz bütün olasılıları gözönüne alır ve olay düşünülemeyece, örneğin çocu bezi ve bira arasındai bağıntıları da bulur.

20 Sınıflandırma: Genç adınlar üçü araba satın alır, yaşlı, zengin ereler büyü, lüs araba satın alır. Amaç bir malın özellileri ile müşteri özellilerini eşlemetir. Böylece bir müşteri için ideal ürün veya bir ürün için ideal müşteri profili çıarılabilir. Örneğin bir otomobil satıcısı şiret geçmiş müşteri hareetlerinin analizi ile yuarıdai gibi ii ural bulursa genç adınların ouduğu bir dergiye relam veriren üçü modelinin relamını verir. Regresyon: Ev sahibi olan, evli, aynı iş yerinde beş yıldan fazladır çalışan, geçmiş redilerinde geç ödemesi bir ayı geçmemiş bir ereğin redi soru 825 dir. Başvuru sorlamada (application scoring) bir finans urumuna redi için başvuran işi ile ilgili finansal güvenilirliğini notlayan örneğin 0 ile 1000 arasında bir sor hesaplanır. Bu sor işinin özellileri ve geçmiş redi hareetlerine dayanılara hesaplanır. Zaman Đçinde Sıralı Örüntüler: Đl üç tasidinden ii veya daha fazlasını geç ödemiş olan müşteriler %60 olasılıla anuni taibe gidiyor. Davranış soru (behavioral score), başvuru sorundan farlı olara redi almış ve tasitleri ödeyen bir işinin sonrai tasitlerini ödeme/gecitirme davranışını notlamayı amaçlar. Benzer Zaman Sıraları: X şiretinin hisse fiyatları ile Y şiretinin hisse fiyatları benzer hareet ediyor. Amaç zaman içindei ii hareet serisi arasında bağıntı urmatır. Bunlar örneğin ii malın zaman içindei satış mitarları olabilir. Örneğin dondurma satışları ile ola satışları arasında pozitif, dondurma satışları ile sahlep satışları arasında negatif bir bağıntı belenebilir. Đstisnalar (Far Saptanması): Normalden farlı davranış gösteren müşterilerim var mı? Amaç öncei uygulamaların asine ural bulma değil, urala uymayan istisnai hareetleri bulmatır. Bu da örneğin olası sahtearlıların saptanmasını (fraud detection) sağlar. Örneğin Visa redi artı için yapılan CRIS sisteminde bir yapay sinir ağı redi artı hareetlerini taip edere müşterinin normal davranışına uymayan hareetler için müşterinin banası ile temasa geçere müşteri onayı istenmesini sağlar. Döüman Madenciliği: Arşivimde (veya internet üzerinde) bu döümana benzer hangi döümanlar var? Amaç döümanlar arasında ayrıca elle bir tasnif geremeden benzerli hesaplayabilmetir (text mining). Bu genelde otomati olara çıarılan anahtar sözcülerin terar sayısı sayesinde yapılır (Alpaydın, 2000).

21 3.3 Veri Madenciliği Yöntemleri Đstatistisel Yöntemler: Veri madenciliği çalışması esas olara bir istatisti uygulamasıdır. Verilen bir örne ümesine bir estirici oturtmayı amaçlar. Đstatisti literatüründe son elli yılda bu amaç için değişi teniler önerilmiştir. Bu teniler istatisti literatüründe çoboyutlu analiz (multivariate analysis) başlığı altında toplanır ve genelde verinin parametri bir modelden (çoğunlula çoboyutlu bir Gauss dağılımından) geldiğini varsayar. Bu varsayım altında sınıflandırma (classification; discriminant analysis), regresyon, öbeleme (clustering), boyut azaltma (dimensionality reduction), hipotez testi, varyans analizi, bağıntı (association; dependency) urma için teniler istatistite uzun yıllardır ullanılmatadır. Belle Tabanlı Yöntemler: Belle tabanlı veya örne tabanlı bu yöntemler (memory-based, instance-based methods; case-based reasoning) istatistite 1950 li yıllarda önerilmiş olmasına rağmen o yıllarda geretirdiği hesaplama ve belle yüzünden ullanılamamış ama günümüzde bilgisayarların ucuzlaması ve apasitelerinin artmasıyla, özellile de ço işlemcili sistemlerin yaygınlaşmasıyla, ullanılabilir olmuştur. Bu yönteme en iyi örne en yaın omşu algoritmasıdır (-nearest neighbor). Yapay Sinir Ağları: 1980 lerden sonra yaygınlaşan yapay sinir ağlarında (artificial neural networs) amaç fonsiyon birbirine bağlı basit işlemci ünitelerinden oluşan bir ağ üzerine dağıtılmıştır. Yapay sinir ağlarında ullanılan öğrenme algoritmaları veriden üniteler arasındai bağlantı ağırlılarını hesaplar. YSA istatistisel yöntemler gibi veri haında parametri bir model varsaymaz yani uygulama alanı daha geniştir, ve belle tabanlı yöntemler adar yüse işlem ve belle geretirmez. Karar Ağaçları: Đstatistisel yöntemlerde veya yapay sinir ağlarında veriden bir fonsiyon öğrenilditen sonra bu fonsiyonun insanlar tarafından anlaşılabilece bir ural olara yorumlanması zordur. Karar ağaçları ise veriden oluşturuldutan sonra yuarıdai örnete de olduğu gibi ağaç öten yaprağa doğru inilere urallar (IF-THEN rules) yazılabilir. Bu şeilde ural çıarma (rule extraction), veri madenciliği çalışmasının sonucunun geçerlenmesini sağlar. Bu urallar uygulama onusunda uzman bir işiye gösterilere sonucun anlamlı olup olmadığı denetlenebilir. Sonradan başa bir teni ullanılaca bile olsa arar ağacı ile önce bir ısa çalışma yapma, önemli değişenler ve yalaşı urallar onusunda bize bilgi verir ve tavsiye edilir (Alpaydın, 2000).

22 3.4 Veri Madenciliği Metodolojisi Bir veri madenciliği çalışmasında ullanılan metodoloji Şeil 3.3 te verilmiştir. Standart form içinde verilen veri, öğrenme ve deneme olma üzere iiye ayırılır. Her uygulamada ullanılabilece birden ço teni vardır ve önceden hangisinin en başarılı olacağını estirme olası değildir. Bu yüzden öğrenme ümesi üzerinde L değişi teni ullanılara L tane model oluşturulur. Sonra bu L model deneme ümesi üzerinde denenere en başarılı olanı, yani deneme ümesi üzerindei tahmin başarısı en yüse olanı seçilir. Eğer bu en iyi model yeterince başarılıysa ullanılır, asi tadirde başa dönere çalışma terarlanır. Terar sırasında başarısız olan örneler incelenere bunlar üzerindei başarının nasıl arttırılabileceği araştırılır. Örneğin standart forma yeni alanlar eleyere programa verilen bilgi arttırılabilir; veya olan bilgi değişi bir şeilde odlanabilir; veya amaç daha değişi bir şeilde tanımlanabilir. Şeil 3.3 Veri madenciliği metodolojisi (Alpaydın, 2000) 3.5 Veri Madenciliği Modelleri Veri madenciliğinde ullanılan modeller, tahmin edici (predictive) ve tanımlayıcı (descriptive) olma üzere ii ana başlı altında incelenmetedir. Tahmin edici modellerde, sonuçları bilinen verilerden hareet edilere bir model geliştirilmesi ve urulan bu modelden yararlanılara sonuçları bilinmeyen veri ümeleri için sonuç

23 değerlerin tahmin edilmesi amaçlanmatadır. Örneğin bir bana öncei dönemlerde vermiş olduğu redilere ilişin gereli tüm verilere sahip olabilir. Bu verilerde bağımsız değişenler redi alan müşterinin özellileri, bağımlı değişen değeri ise redinin geri ödenip ödenmediğidir. Bu verilere uygun olara urulan model, daha sonrai redi taleplerinde müşteri özellilerine göre verilece olan redinin geri ödenip ödenmeyeceğinin tahmininde ullanılmatadır. Tanımlayıcı modellerde ise arar vermeye rehberli etmede ullanılabilece mevcut verilerdei örüntülerin tanımlanması sağlanmatadır. X/Y aralığında geliri ve ii veya daha fazla arabası olan çoculu aileler ile, çocuğu olmayan ve geliri X/Y aralığından düşü olan ailelerin satın alma örüntülerinin birbirlerine benzerli gösterdiğinin belirlenmesi tanımlayıcı modellere bir örnetir. Veri madenciliği modellerini gördüleri işlevlere göre: Sınıflama (Classification) ve Regresyon (Regression), Kümeleme (Clustering), Birliteli Kuralları (Association Rules) ve Ardışı Zamanlı Örüntüler (Sequential Patterns), olma üzere üç ana başlı altında inceleme mümündür. Sınıflama ve regresyon modelleri tahmin edici, ümeleme, birliteli uralları ve ardışı zamanlı örüntü modelleri tanımlayıcı modellerdir. 3.5.1 Sınıflama ve Regresyon Modelleri Mevcut verilerden hareet edere geleceğin tahmin edilmesinde faydalanılan ve veri madenciliği tenileri içerisinde en yaygın ullanıma sahip olan sınıflama ve regresyon modelleri arasındai temel far, tahmin edilen bağımlı değişenin ategori veya sürelili gösteren bir değere sahip olmasıdır. Anca ço terimli lojisti regresyon (multinomial logistic regression) gibi ategori değerlerin de tahmin edilmesine olana sağlayan tenilerle, her ii model gidere birbirine yalaşmata ve bunun bir sonucu olara aynı tenilerden yararlanılması mümün olmatadır. Sınıflama ve regresyon modellerinde ullanılan başlıca teniler: Karar Ağaçları (Decision Trees), Yapay Sinir Ağları (Artificial Neural Networs), Geneti Algoritmalar (Genetic Algorithms),

24 K-En Yaın Komşu (K-Nearest Neighbor), Belle Temelli Nedenleme (Memory Based Reasoning), Naïve-Bayes, Lojisti Regresyondur (Logistic Regression). 3.5.2 Kümeleme Modelleri Kümeleme modellerinde amaç, üme üyelerinin birbirlerine ço benzediği, anca özellileri birbirlerinden ço farlı olan ümelerin bulunması ve veritabanındai ayıtların bu farlı ümelere bölünmesidir. Başlangıç aşamasında veritabanındai ayıtların hangi ümelere ayrılacağı veya ümelemenin hangi değişen özellilerine göre yapılacağı bilinmemete, onunun uzmanı olan bir işi tarafından ümelerin neler olacağı tahmin edilmetedir. 3.5.3 Birliteli Kuralları ve Ardışı Zamanlı Örüntüler Bir alışveriş sırasında veya birbirini izleyen alışverişlerde müşterinin hangi mal veya hizmetleri satın almaya eğilimli olduğunun belirlenmesi, müşteriye daha fazla ürünün satılmasını sağlama yollarından biridir. Satın alma eğilimlerinin tanımlanmasını sağlayan birliteli uralları ve ardışı zamanlı örüntüler, pazarlama amaçlı olara pazar sepeti analizi (Maret Baset Analysis) adı altında veri madenciliğinde yaygın olara ullanılmatadır. Bununla birlite bu teniler, tıp, finans ve farlı olayların birbirleri ile ilişili olduğunun belirlenmesi sonucunda değerli bilgi azanımının söz onusu olduğu ortamlarda da önem taşımatadır. Birliteli uralları aşağıda sunulan örnelerde görüldüğü gibi eş zamanlı olara gerçeleşen ilişilerin tanımlanmasında ullanılır. Müşteriler bira satın aldığında, % 75 ihtimalle patates cipsi de alırlar, Düşü yağlı peynir ve yağsız yoğurt alan müşteriler, %85 ihtimalle diet süt de satın alırlar. Ardışı zamanlı örüntüler ise aşağıda sunulan örnelerde görüldüğü gibi birbirleri ile ilişisi olan anca birbirini izleyen dönemlerde gerçeleşen ilişilerin tanımlanmasında ullanılır. X ameliyatı yapıldığında, 15 gün içinde % 45 ihtimalle Y enfesiyonu oluşacatır, ĐMKB endesi düşeren A hisse senedinin değeri % 15 den daha fazla artaca olursa, üç iş günü içerisinde B hisse senedinin değeri % 60 ihtimalle artacatır,

25 Çeiç satın alan bir müşteri, il üç ay içerisinde % 15, bu dönemi izleyen üç ay içerisinde % 10 ihtimalle çivi satın alacatır (Apınar, 2000).

4. MARKET SEPET ANALĐZĐ ve BĐRLĐKTELĐK KURALLARI 26 4.1 Maret Sepet Analizi Geçmiş tarihli hareetleri çözümleme, arar deste sistemlerinde verilen ararın alitesini artırma için izlenen bir yalaşımdır. 90 lı yılların başına değin teni yetersizliten dolayı, urumlara veya müşterilere satış yapıldığı anda değil, belirli bir zaman aralığında (günlü, haftalı, aylı, yıllı) gerçeleşen satış hareetlerinin tamamına ilişin genel veriler eletroni ortamda tutulmataydı. Barod uygulamalarındai gelişme ile, bir hareete ait verilerin satış hareeti oluştuğu anda toplanması ve eletroni ortama atarılması olanalı hale gelmiştir. Genellile süpermaretlerin satış notalarında bu tür veriler toplandığından, toplanan bu veriye maret sepeti verisi adı verilmiştir. Maret sepeti verisinde yer alan bir ayıtta, teil olan hareet numarası, hareet tarihi ve satın alınan ürünlere ilişin ürün odu, mitarı, fiyatı gibi bilgiler yer almatadır (Han ve Kamber, 2000). Maret sepet analizinde (maret baset analysis) amaç, satışlar arasındai ilişileri bulma ve buna bağlı uralları çıarmatır. Bu ilişilerin bilinmesi, şiretin ârını arttırma için ullanılabilir. Eğer X ürününü alanların Y ürününü de ço yüse olasılıla aldıları biliniyorsa ve eğer bir müşteri X ürününü alıyor ama Y ürününü almıyorsa, o potansiyel bir Y müşterisidir denilebilir. Buna benzer veri analizleri yapara her ürün için bir sonrai ayın satış tahminleri çıarılabilir, birlite satın alınan ürünler için promosyon uygulaması ve reyon dizilişleri yapılabilir, müşteriler satın aldıları ürünlere göre gruplandırılabilir, yeni bir ürün için potansiyel müşteriler belirlenebilir (Alpaydın, 2000). 4.2 Birliteli Kuralları Birliteli uralları (association rules), veri madenciliği alanında üzerinde ço fazla araştırma ve çalışma yapılmış olan ilgi çeici bir onudur. Birliteli uralları, aynı işlem içinde çoğunlula beraber görülen nesneleri içeren urallardır. Birliteli urallarının ullanıldığı en tipi örne maret sepeti uygulamasıdır. Bu işlem, müşterilerin yaptıları alışverişlerdei ürünler arasındai birlitelileri bulara müşterilerin satın alma alışanlılarını çözümler. Bu tip birlitelilerin eşfedilmesi, müşterilerin hangi ürünleri bir arada aldıları bilgisini ortaya çıarır ve maret yöneticileri de bu bilgi ışığında raf düzenlerini belirleyere satış oranlarını artırabilir ve etili satış stratejileri geliştirebilirler. Maret sepeti çözümlemesinin son zamanlarda ço büyü ilgi ile arşılaşmasının sebebi

27 ullanım olaylığı ve anlaşılabilirliğidir. Maret sepet analizi ile birliteli uralları çıarımı il olara Agrawal ve diğerleri tarafından 1993 yılında ele alınmıştır. Çalışmada, X ve Y nin nesneümesi oluşu X Y (X birliteli Y) şelinde ifade edilmiş olup, birliteli urallarının matematisel şeli belirlenmiştir. Kuralları oluşturabilme için deste (support) ve güven (confidence) değerlerini ullanara, ullanıcı tarafından belirlenmiş minimum deste ve minimum güven değerlerinden yaygın birlitelilerin belirlenmesi amaçlanmıştır. Maret sepet analizinde, nesneler müşteriler tarafından satın alınan ürünlerdir ve bir hareet (ayıt) birço nesneyi içinde bulunduran te bir satın almadır. Birliteli urallarının ullanışlı olması için hem onu ile ilgili hem de anlaşılabilir olması gereir. Birliteli uralları simgesel ve sezgisel yapıda olduğundan anlaşılabilirli her zaman birliteli urallarının güçlü yönü olmuştur. Birliteli urallarında, ullanıcının uralların tipini ve sayısını ontrol edebileceği çeşitli yollar vardır. En yaygın olara ullanılan yöntem, eşi değerleri olara bilinen minimum deste ve minimum güven değerlerinin belirlendiği yöntemdir. Bu yöntemde sadece ullanıcı tarafından belirlenen eşi değerlerinden büyü olan deste ve güven değerlerine sahip urallar bulunur ve ullanılır. Diğer bir yöntemde ullanıcının sınırlanmış nesne tanımlamasıdır. Sınırlanmış nesne, uralların içeriğinin sınırlanmasında ullanılan mantısal bir ifadedir. Örneğin sınırlanmış nesne cips, ola ve hamburger olsun. Sadece cips, ola ve hamburger içeren urallar ile ilgilenilir. Sriant ve diğerleri sınırlanmış nesne ile urallar için çesitli etin çözümleme yöntemleri geliştirmişlerdir. Birliteli urallarındai bir nesnenin ve bir işlemin tanımı uygulamaya bağlıdır. Maret sepeti analizinde; nesneler, müsterilerin aldığı ürünler ve işlem, beraber alınan bütün nesnelerin ümesidir. Birliteli urallarında sılıla ullanılan biraç önemli terim vardır. Bunlar; uralın sol tarafını ifade eden önce (antecedent), uralın sağ tarafını ifade eden sonuç (consequent), deste değeri, güven değeri, min_deste olara gösterilen minimum deste değeri, min_güven olara gösterilen minimum güven değeri, nesneüme, yaygın nesneümesi ve aday nesneümesidir (Dolgun, 2006). Birliteli uralı madenciliği ii aşamalıdır: Tüm yaygın nesneümelerinin bulunması: Her nesneümesinin yaygın nesneümesi olara yer alabilmesi için, her nesnenin deste değerinin önceden tanımlanmış olan min_deste değerinden büyü olması gereir. Yaygın nesneümelerinden güçlü birliteli urallarının elde edilmesi: Bu

28 urallar min_deste ve min_güven durumunu sağlamalıdır [10]. Birliteli uralı algoritmalarının performansını belirleyen adım birinci adımdır. Yaygın nesneümeleri belirlenditen sonra, birliteli urallarının bulunması sıradan bir adımdır. 4.2.1 Birliteli Kuralları Temel Kavramları Birliteli uralının matematisel modeli 1993 yılında Agrawal, Imielinsi ve Swami tarafından ifade edilmiştir. Bu modele göre; I = i, i,..., i } nesnelerin ümesi ve D işlemler { 1 2 m ümesi olara ifade edilir. Her i, bir nesne (ürün) olara adlandırılır. D veritabanında her hareet (transaction) T, T I olaca şeilde tanımlanan nesnelerin ümesi (nesneüme) olsun. Her hareet bir tanımlayıcı alan olan TID ile temsil edilir. A ve B nesnelerin ümeleri olsun. Bir T işlemler ümesi anca ve anca apsıyor denir. Bir birliteli uralı adlandırılır. Burada, Đl olara, işleminin A T ise yani A, T nin alt ümesi ise A yı A B formunda ifade edilir. A önce ve B sonuç olara A I, B I ve A B = dir. A B uralı için d olasılığı ile uralın deste değeri tanımlanır. Deste, T A B yi içerme olasılığıdır. Đinci olara, A B uralının g ile gösterilen güven değeri tanımlanır. Bu olasılı, T işleminin A yı ve aynı zamanda B yi içermesidir. Matematisel ifade ile uralın deste ve güven değerleri; Deste( A B) = P( A B) (4.1) Güven ( A B) = P( B A) veya (4.2) Güven( A B) = Deste( A B) Deste( A) (4.3) şelinde ifade edilir. Burada Deste (A) = Deste ( A A)' dır. Başa bir ifade ile deste ve güven değerleri; Deste ( A) = A D (4.4) Deste ( A B) = A. B D (4.5) Güven( A B) = Deste( A B) Deste( A) (4.6) olara tanımlanır. Burada; A ; incelenen ayıtlardai A ürününü içeren işlemlerin sayısını, A. B ; incelenen ayıtlardai A ve B ürünlerini birlite içeren işlemlerin sayısını ve D ; veritabanındai bütün işlemlerin sayısını ifade etmetedir. Kuralın deste ve güven değerleri, uralın ilginçliğini

29 ifade eden ii ölçüdür. Bu değerler sırasıyla eşfedilen uralların yararlılığını (ullanışlılığını) ve esinliğini (doğruluğunu) ifade eder (Han ve Kamber, 2000). Deste değeri, A ve B nesnelerinin birlite bulunma olasılılarını ifade eder. Güven değeri ise, A yı içeren ayıtların B yi de içereceğini ifade eder (Han ve Kamber, 2000). Yüse güven ve deste değerine sahip urallara güçlü (strong) urallar adı verilir (Agrawal ve diğerleri, 1993). Kullanıcı tarafından minimum deste eşi değeri (min_deste) ve minimum güven eşi değeri (min_güven) belirlenir. Bu belirlenen eşi değerlerini aşan birliteli uralları diate alınır ve ilginç olara ifade edilir. Đlginç bir örüntü, bilgi (nowledge) olara ifade edilir. Genel olara bu değerler 0-1 aralığından ço 0% - 100% aralığında ifade edilmetedir (Han ve Kamber, 2000). Verilen bir D işlemler ümesinde Birliteli Kurallarının amacı, ullanıcı tarafından belirlenen minimum deste ve minimum güven değerinden büyü A B urallarının bulunmasıdır. Örneğin bir A ürününü satın alan müşteriler aynı zamanda B ürününü de satın alıyorlarsa, bu durum aşağıdai birliteli uralı ile gösterilir. A B [deste = 2%, güven = 60%] (4.7) Buradai deste ve güven ifadeleri, uralın ilginçli ölçüleridir. Eşitli 4.7'dei birliteli uralı için deste ve güven değerleri şu şeilde yorumlanır. Çözümlenen bütün alışverişlerden 2%'sinde A ile B ürünlerinin birlite alındığı (veya A ve B nin toplam fiş hareetlerinde birlite bulunması olasılığı 2%'dir) ve A ürününü satın alan müşterilerin 60%'ında aynı alışverişte B ürününü de satın aldığı (veya A alan bir müşterinin 60% olasılıla B de aldığıdır) söylenir (Han ve Kamber, 2000). Nesnelerin ümesi, nesneüme (Veri madenciliği literatüründe nesneüme (itemset), nesne üme (item set) ullanımından daha sı yer almata ve ullanılmatadır) olara ifade edilmetedir. Eğer bir üme tane nesne içeriyorsa bu üme -nesneüme olara ifade edilir. Eğer bir nesneüme minimum deste değerini sağlıyor ise bu nesneüme yaygın (large, frequent ifadeleri aynı amaçla ullanılmatadır, large avram armaşasına neden olduğundan frequent, yaygın tercih edilmetedir) nesneüme olara adlandırılır. -nesneümenin yaygın ümeleri Kamber, 2000). L şelinde ifade edilmetedir (Han ve Minimum güven ve deste değerlerini sağlayan birliteli uralları çıarım problemi ii adıma bölünmüştür (Agrawal ve Sriant, 1994); 1. Yaygın geçen nesneümeler bulunur: Kullanıcı tarafından belirlenmiş olan minimum deste eşi değerini sağlayan nesneümelere yaygın nesneüme adı verilmetedir. Bu

30 adımda yaygın nesneümeleri bulan etili yöntemler ullanılmalıdır. 2. Yaygın nesneümelerden güçlü birliteli uralları oluşturulur: yaygın nesneümeleri ullanara minimum güven eşi değerini sağlayan birliteli urallarının bulunmasıdır. Bu adımdai işlem olduça basittir. Minimum güven eşi değerine göre taranara bulunan birliteli uralları ullanıcının ilgilendiği ve potansiyel olara önemli bilgiyi içeren urallardır. Birliteli uralı algoritmasının performansını belirleyen adım birinci adımdır. Yaygın nesneümeleri belirlenditen sonra, birliteli urallarının bulunması olay bir adımdır (Han ve Kamber, 2000). Sepet analizinin başarılı olduğu notalar; Kolay ve anlaşılır sonuçlar üretir, Değişi boyutlardai veriler üzerinde çalışabilir, Her ne adar ayıtların sayısı ve ombinasyon seçimine göre işlem adedi artsa da sepet analizi için her adımda gereli olan hesaplamalar diğer yöntemlere göre (geneti algoritmalar, yapay sinir ağları vb.) ço daha basittir. Sepet analizinin başarısız olduğu notalar; Sorunun boyutu büyüdüçe, gereli hesaplamalar üstel olara artmatadır, Kayıtlarda ço az rastlanan ürünleri yosayar. Sepet çözümlemesi yönteminin en doğru sonucu, tüm ürünlerin ayıtlar içinde yalaşı aynı freansta göründüğü durumlarda üretmetedir, Deste ve güven eşi değerleri üretilen ural sayısında sınırlama getirirler faat eşi değerlerinin ço düşü belirlendiği durumda ullanıcı gerçeten ilgilendiği uralları aybetme tehliesi ile arşı arşıya alır. Birliteli urallarının eşfi atalog tasarımı, müşterilerin satın alma alışanlılarının belirlenmesi ve sınıflandırılması, mağaza ürün yerleşim planı gibi birço uygulama alanında ullanılabilir. Sepet analizi yöntemi, birliteli urallarının uygulama alanındai türlerinden birisidir. 4.2.2 Birliteli Kuralları Çeşitleri Birliteli urallarının birço türü vardır. Birliteli uralları aşağıdai riterleri taşıyan ço değişi yollar ile sınıflandırılabilir.

31 Kuralda ullanılan değerlerin tiplerine göre: Eğer bir ural nesnelerin varlığı ve yoluğu arasındai birliteliler ile ilgili ise, bu duruma mantısal birliteli uralıdır. Örneğin 4.7 dei ural böyle bir uraldır. Bu urallar sepet analizinden elde edilirler. Kurallar nicel nesneler ya da özelliler arasındai birlitelileri tanımlıyor ise nicel birliteli uralıdır. Bu urallarda, nesneler için nicel değerler ya da özelliler aralılara bölünmüştür. Kuralın içerdiği verinin boyutlarına göre: Bir birliteli uralındai özelliler (attribute) ya da nesneler sadece bir boyutu temsil ediyorlarsa, o zaman urala te boyutlu birliteli uralıdır denir. Birliteli urallarının çeşitli boyutlarına göre: Birliteli uralları çözümlemesi, orelasyon çözümlemesinin genişletilmişi olabilir. Aynı zamanda, maxpattern ve frequent closed itemset çözümlemelerinin genişletilmişi de olabilir. Bu ii yöntem, çözümleme sırasında oluşturulan yaygın nesneümelerin sayısını azaltma için ullanılmatadır (Dolgun, 2006). 4.3 Birliteli Kurallarının Belirlenmesinde Kullanılan Temel Algoritmalar Yaygın nesneümelerini (large itemsets) belirleren birliteli uralları oluşturma için ullanılan algoritmalar, sıralı (sequential) ve paralel olara sınıflandırılabilir. Birço durumda, nesne adına bağlı olara nesneümelerinin sözlü (lexicographic) sıralı olara tanımlandığı ve depolandığı varsayılır. Bu sıralama, nesneümelerinin üretilmesi ve sayılması sırasında olaylı sağlayan bir tarz oluşturmatadır ve sıralı algoritmalarda rastlanan olağan bir yalaşımdır. Diğer yandan, paralel algoritmalar yaygın nesneümelerinin bulunması işleminin paralelleştirilmesi üzerinde odalanır. 4.3.1 Sıralı Algoritmalar 4.3.1.1 AIS Algoritması AIS algoritması, Agrawal, Imielinsi ve Swami tarafından 1993 yılında veritabanındai tüm yaygın nesneümelerini oluşturma için geliştirilmiş ve yayınlanmış il algoritmadır. Karar deste sorgulamaları yapma için veri tabanlarının işlevlerini artırmaya odalanmıştır. Bu algoritmanın hedefi nitelili uralları bulmatır. Bu teni, sonuçta sadece bir nesne ile ısıtlanmıştır. Birliteli uralları X α biçiminde tanımlanır. Burada X nesneler ümesi, I j, I alanındai te bir nesne ve α de uralın güven değeridir. I j AIS algoritması, veritabanının üzerinden çolu geçişler yapar. Her geçiş esnasında,

32 veritabanını tarar. Đl geçişinde te nesnelerin desteğini sayar ve veri tabanında bunların hangi sılıta olduğunu belirler. Her bir geçişin yaygın nesneümeleri aday nesneümeleri üretme için genişletilir. Bir tarama yapıldıtan sonra öncei taramadai yaygın nesneümeleri ile taranan nesnelerin arasındai orta nesneümeleri belirlenir. Bu orta nesneümeleri yeni aday nesneümeleri üretme için veritabanındai diğer nesneler ile genişletilir. Yaygın bir nesneümesi olan l, yaygın ve sözlü sıralı l dei her bir nesneden sonra gelen nesneler ile genişletilir. Bu işlemleri verimlice yapma için AIS algoritması tahmin edici araçlar ve budama teniği ullanır. Bu teniler aday gruplarını, geresiz nesneleri aday listesinden atara belirlerler. Sonra her bir adayın grubu hesaplanır. Minimum desteten büyü veya minimum desteğe eşit olan aday grupları yaygın nesneümeleri olara seçilir. Yaygın nesneümeleri sıradai geçişte aday üretme için genişletilirler. Bu işlemler yaygın nesneümeleri bulunamayana adar devam eder [5]. 4.3.1.2 SETM Algoritması SETM algoritması, 1995 yılında Houtsmal tarafından önerilmiş olup yaygın nesneümelerinin hesaplanmasında SQL ullanılmasını baz almatadır. Bu algoritmada yaygın nesneümelerinin her bir üyesi, L, TID birincil anahtar olma üzere <TID, nesneümesi> biçimindedir. Benzer şeilde aday ümelerinin her bir üyesi, biçimindedir. C da <TID, nesneümesi> AIS algoritmasına benzer olara, SETM algoritması da veritabanı üzerinden çolu geçişler yapar. Đl geçişte, ayrı ayrı her bir nesnenin deste sayısını sayar ve veritabanında hangilerinin büyü veya sı olduğunu bulur. Daha sonra, bir öncei geçişte oluşan yaygın nesneümelerini genişletere aday nesneümelerini oluşturur. E olara, SETM aday nesneümelerinin TID lerini de bilir. Aday nesneümelerini oluştururen ilişisel birleştirme işlemleri ullanılabilir (Sriant ve diğerleri, 1996b). Aday nesneümelerini oluştururen aday nesneümelerinin TID leriyle birlite bir opyasını ardışıl biçimde salar. Sonra, aday ümeleri nesneümelerinin üzerinde sıralanır ve bir abul fonsiyonuyla üçü nesneümeleri silinir. Eğer veritabanı TID sıralı ise bir işlemde yer alan yaygın nesneümeleri bir sonrai geçişte L yı TID ye göre sıralanara elde edilir. Bu yolla veritabanı üzerinden birço geçiş yapılır. Algoritma daha fazla nesneümesi bulamadığında sonlanır. Bu algoritmanın ana dezavantajı C aday ümesinin sayısına bağlıdır (Agrawal ve diğerleri, 1994). Her bir aday nesneümesinin TID içermesinden dolayı büyü sayıdai TID leri depolama için daha fazla yere ihtiyaç duyar. Ayrıca, geçişin sonunda aday nesneümelerinin

deste değerleri sayıldığında, 33 C sıralı biçimde değildir. Bundan dolayı nesneümeleri üzerinde yeniden sıralamaya ihtiyaç duyulur. Sonrasında, deste ısıtını sağlamayan aday nesneümelerini devredışı bıramala aday nesneümeleri budanır. L sonuç nesneümesinde TID lerin yeniden sıralanması gereir. Daha sonra, sonrai geçişte aday ümelerini oluşturma için L ullanılır. SETM algoritmasında belle (tampon) yönetim teniği ve iyileştirmesi ele alınmamıştır (Agrawal ve diğerleri, 1994). Ana bellete C nın tutulabileceği varsayılmıştır. Bundan dolayı 1998 te Sarawagi, SETM in etili olmadığına ve ilişisel VTYS üzerinde çalıştırıldığında rapor niteliğinde sonuç üretmediğine değinmiştir.

34 4.3.1.3 Apriori Algoritması Agrawal ve diğerleri tarafından 1994 yılında geliştirilen Apriori algoritması, veri madenciliği tarihinde birliteli urallarının çıarılması onusunda elde edilmiş büyü bir başarıdır. Birliteli uralları çıarımında en ço bilinen algoritma olmuştur. Algoritmanın ismi, yaygın nesnelerin önsel bilgilerini ullanmasından yani bilgileri bir öncei adımdan almasından öncei (prior) anlamında aprioridir. Bu teni, yaygın bir nesneümesinin tüm altümeleri de yaygın olmalıdır uralına dayanmatadır. Ayrıca, bir nesneümesindei nesnelerin sözlü sıralı olduğunu varsayar. Bu algoritma AIS ve SETM algoritmalarına göre, aday nesneümelerinin üretilme şelinde ve sayılaca aday nesneümelerinin seçilmesinde farlılı arzeder. Daha önce de değinildiği üzere, hem AIS hem de SETM algoritmalarında bir öncei geçiştei yaygın nesneümeleri arasındai orta nesneümeleri ve bir hareettei nesneler elde edilir. Bu orta nesneümeleri hareet içindei diğer bağımsız nesnelerle genişletilere aday nesneümeleri oluşturulur. Buna rağmen bu bağımsız nesneler yaygın olamazlar. Bilindiği gibi yaygın bir nesneümesinin süperümesi ile üçü bir nesneümesi, üçü bir nesneümesi sonucunu verir. Bu teniler üçü olara belirlenece birço aday nesneümesi üretir. Apriori algoritması bu önemli nota üzerinde odalanır. Apriori, öncei geçişte oluşan yaygın nesneümelerini birleştirere aday nesneümelerini oluşturur ve veritabanındai hareetlerle ilgilenmeden, öncei geçişte oluşan altümelerden üçü olanlarını siler. Öncei geçişte oluşan yaygın nesneümelerinin diate alınmasıyla yaygın aday nesneümelerinin sayısında anlamlı bir azalma olur. Đl geçişte sadece bir nesne içeren nesneümeleri sayılır. Đl geçişte bulunan yaygın nesneümelerinden apriori_gen() fonsiyonu ullanılara, iinci geçiş için aday ümeleri oluşturulur. Aday nesneümeleri bulunduğunda veritabanı taranara ii uzunlulu yaygın nesneümelerini bulma için deste değerleri sayılır. Đinci geçiştei yaygın nesneümeleri, üçüncü geçiştei yaygın nesneümelerini oluşturaca aday ümeler olara ele alınırlar. Yeni yaygın nesneümesi bulunamayınca bu işlem sonlanır. Algoritma her i. geçişte veritabanını tarar ve i uzunluğundai yaygın nesneümelerini belirler. nesneümelerini, C i de i uzunluğundai adayları ifade eder. L i ; i uzunluğundai yaygın Apriori, seviye mantığı (level-wise) arama olara bilinen yinelemeli bir yalaşım ullanır. Bu yalaşımda -nesneümeler, (+1) nesneümelerin araştırılması için ullanılır. Đl olara, yaygın 1-nesneümelerinin ümesi bulunur. Bulunan bu üme L 1 olara adlandırılır. L 1, L 2 nin (yaygın 2-nesneümelerin ümesi) bulunmasında ullanılır. L 2, L 3 ün bulunmasında

35 ullanılır ve algoritma bu şeilde daha fazla yaygın -nesneümeler bulamayıncaya adar yinelemeli bir şeilde devam eder. Her L nın bulunması bütün veritabanının taranması anlamına gelmetedir (Han ve Kamber, 2000). apriori_gen() fonsiyonunun ii adımı vardır (Agrawal ve diğerleri, 1994). Đl adım esnasında, L 1 endisiyle birleştirilere C elde edilir. Đinci adımda, birleşme sonucunda oluşmuş ve (-1) altümelerinden bir veya biraçı L 1 de olmayan tüm nesneümeleri silinir. Kalan yaygın -nesneümeleri sonuç olara döndürülür. Çizelge 4.1 apriori_gen() fonsiyonunu ullanara aday ümeleri bulma Üçüncü geçiştei yaygın nesneümeleri ( L 3 ) ( L 3, L 3 ) birleşimi Dördüncü geçiştei aday ümeler (budama sonrası C 4 ) {{Cips, Elma, Piliç}, {Cips, Elma, Kola}, {Elma, Kola, Piliç}, {Elma, Piliç, Yumurta}, {Cips, Kola, Piliç}} {{Cips, Elma, Kola, Piliç}, {Elma, Kola, Piliç, Yumurta}} {{Cips, Elma, Kola, Piliç}} Çizelge 4.1 dei örneği diate alara apriori_gen() fonsiyonunu örneleyelim. Üçüncü geçiş sonucunda oluşan yaygın nesneümeleri il olonda gösterilmiştir. Bir hareetin {Cips, Elma, Kola, Piliç, Yumurta} dan oluştuğunu varsayalım. L 3 ü endisiyle birleştirince C 4 {{Cips, Elma, Kola, Piliç}, {Elma, Kola, Piliç, Yumurta}} olara oluşur. Budama adımı {Elma, Kola, Piliç, Yumurta} nesneümesini siler, çünü bu ümenin 3 nesneli {Elma, Kola, Yumurta} altümesi L 3 te yotur. subset() fonsiyonu, bir hareette görülen aday ümelerin altümelerini döndürür. Adayların deste değerlerinin sayılması, algoritmada zaman alan bir adımdır (Cengiz, 1997). Verilen bir hareette ontrol edilmesi gereen adayların sayılarını azaltma için C aday nesneümeleri bir hash ağacında salanırlar. Hash ağacının bir düğümü bir yapra düğümü veya bir hash tablosu (iç düğüm) içerir. Yapra düğümler, aday nesneümelerini sıralı olara içerirler. Ağacın iç düğümlerinde çocu düğümlere bağlantı içeren hash tabloları vardır. Nesneler, hash ağacına bir hash fonsiyonu ullanılara elenirler. Bir nesneümesi elendiğinde, öten başlayara ağacın bir yaprağına ulaşana de gitme gereir. Ayrıca, budama adımını

hızlandırma için 36 L bir hash tablosunda salanır (Sriant ve diğerleri, 1996b). 4.3.1.4 Apriori-TID Algoritması Şeil 4.1 Apriori Algoritması (Han ve Kamber, 2000) Daha önce de belirtildiği üzere, Apriori deste değerlerini sayma için her geçişte tüm veritabanını tarar. Anca her geçişte tüm veritabanını tarama geresizdir. Bu varsayıma dayanara 1994 yılında Agrawal ve diğerleri, Apriori-TID ismiyle bir algoritma önermişlerdir. Apriori ye benzer olara, bir geçişin başında aday nesneümelerini belirleme için Apriori-TID de Apriori nin aday üretim fonsiyonunu ullanır. Apriori ye göre ana farı ise il geçişten sonra deste değerlerini sayma için veritabanını ullanmaz. Bundan ziyade, C ile gösterilen, öncei geçişte ullanılan aday ümelerinin şifrelenmiş şelini ullanır. SETM dei gibi C nın her bir üyesi <TID, X > biçimindedir, TID tanımlayıcı, X ise potansiyel yaygın -nesneümesidir. Đl geçişte, elde edilen C 1 veritabanına benzer. Buna rağmen, her nesne nesneümesi tarafından yer değiştirilir. Diğer geçişlerde, T hareetinin yerini tutan C nın bir üyesi <TID, c> olara ifade edilir. c, T de bulunan C ya bağlı bir adaydır. Bundan dolayı, C nın

büyülüğü veritabanındai hareet sayısından daha üçü olur. Ayrıca, 37 C dai her bir ayıt, büyü değerlerindei yerini tutan hareetlerden daha üçütür. Bunun nedeni ço az adayın hareette içerilmesidir. Başa şeilde ifade etme gereirse, değerlerindei ilgili hareetten daha büyütür (Sriant ve diğerleri, 1996b). C dai her bir ayıt üçü Đl olara, tüm veritabanı taranır ve C 1 nesneümeleri elde edilir. C 1 in her bir aydı tüm nesneleri TID leriyle birlite içerir. 1-nesneli L 1 yaygın nesneümeleri C 1 dei ayıtlar sayılara hesaplanır. Daha sonra C 2 yi elde etme için apriori_gen() fonsiyonu ullanılır. Bir T hareetine ilişin C 2 dei ayıtlar, T de bulunan C 2 nin üyelerinden elde edilir. Bunu gerçeleştirme için tüm veritabanı yerine C 1 taranır. Sonra, C 2 dei deste değerleri sayılara L 2 elde edilir. Bu işlem, boş aday nesneümeleri oluşuncaya de sürer. Bu şifreleme fonsiyonunu ullanmanın avantajı, sonrai geçişlerde şifreleme fonsiyonunun büyülüğü veritabanına oranla daha üçü olacağından ouma süresi azalır. AIS ve SETM tenilerine ıyasla Apriori-TID daha iyidir. Çizelge 4.1 de verilen örne ullanıldığında, L 3 şu şeilde bulunur; {{Cips, Elma, Piliç}, {Cips, Elma, Kola}, {Elma, Kola, Piliç}, {Elma, Piliç, Yumurta}, {Cips, Kola, Piliç}}. Apriori ye benzer olara Apriori-TID sonrai adımda sadece bir aday nesneümesi oluşturur; {Cips, Elma, Kola, Piliç}. Daha önce de değinildiği üzere, hem AIS hem de SETM beş aday nesneümesi oluşturmatadır; {{Cips, Elma, Kola, Piliç}, {Cips, Elma, Piliç, Yumurta}, {Cips, Elma, Kola, Yumurta}, {Elma, Kola, Piliç, Yumurta} ve {Cips, Kola, Piliç, Yumurta}}. Apriori-TID de C dai aday nesneümeleri, C dai nesnelerin TID leriyle indeslenen bir dizi halinde salanır. Her bir C sıralı yapıdadır.. geçişte, 1 L ve aday üretimi esnasında C için belle alanına ihtiyaç duyar. Sayma safhasında ise 1 C, C, C ve C 1 için belle alanına ihtiyaç vardır. Aday üretimi sırasında yalaşı olara belleğin (tamponun) yarısı adaylarla doldurulur. Bu, hem C hem de C 1 in onu ile ilgili parçasının hesaplama safhasında bellete tutulmasını sağlar. Eğer sıralama gereir. L bellete salanamıyorsa, L yı harici olara Apriori ye benzer olara bu algoritmanın performansı büyü bir IBM RS/6000 530H iş istasyonu üzerinde test edilmiştir (Agrawal ve diğerleri, 1994). Apriori-TID in il geçişten sonra tüm veritabanı yerine C yı ullanması ve sonrai geçişlerde C nın üçülmesiyle etisi artmıştır. Buna rağmen, C ların büyü olabilmesi problemi SETM de olduğu gibi

38 Apriori-TID de de vardır, anca Apriori-TID, SETM in ürettiği aday nesneümelerinden daha azını üretir. Ayrıca SETM de olduğu gibi C nın sıralanmasına Apriori-TID de ihtiyaç yotur. C nın ço büyü olması durumunda belle (tampon) yönetimiyle ilgili bazı sorunlar oluşur. Bellete salanabilece C ümelerinin üçü sayıda olmasıyla Apriori-TID, Apriori den daha iyi performans gösterir. Büyü veri ümeleri için ise Apriori nin Apriori-TID e göre performansının daha iyi olduğu belirtilmiştir (Agrawal ve diğerleri, 1994). 4.3.1.5 Apriori-Hybrid Algoritması Bu algoritma, veri üzerindei tüm geçişlerde aynı algoritmanın ullanılmasının zorunlu olmadığı firine dayanır. 1994 yılında Agrawal ve diğerleri tarafından değinildiği üzere, Apriori il geçişlerde daha iyi performansa sahiptir ve sonrai geçişlerde Apriori-TID, Apriori den daha iyidir. Deneysel gözlemlere dayanara Apriori-Hybrid teniği, il geçişlerde Apriori yi ullanaca şeilde tasarlanmıştır ve geçişlerin sonundai C ümesinin bellete arşılanacağını umara Apriori-TID e geçiş yapar. Bundan dolayı, her bir geçiş sonunda C nın tahmin edilmesi geremetedir. Ayrıca, Apriori den Apriori-TID e geçiş masraflıdır. Bu teniğin performansı büyü verisetleri üzerindei tecrübelere dayanara da hesaplanmıştır. Geçişlerin sonlarına doğru değişimin olması durumu dışında, Apriori- Hybrid in Apriori den daha iyi performans gösterdiği belirlenmiştir (Sriant ve diğerleri, 1996b). 4.3.1.6 OCD (Off-line Candidate Determination) Algoritması OCD teniği 1994 yılında Mannila tarafından önerilmiş olup, üçü örnelerin yaygın nesneümelerini bulmada genellile epey iyi olduğu firine dayanmatadır. OCD teniği, geresiz aday ümelerini eleme için öncei geçişlerden elde edilen bilginin birleştirme analizi sonuçlarını ullanır. Bir Y I altümesinin yaygın olmadığını bilme için, s deste eşi değeri olma üzere, en azından (1 - s) adar hareet taranmalıdır. Bundan dolayı s in üçü değerleri için neredeyse tüm ilişinin ounması gereir. Eğer veritabanı ço büyüse, veri üzerinde mümün olduğunca az geçiş yapmanın önemli olduğu aşiârdır. OCD, aday ümeleri belirleme için AIS ten farlı bir yalaşım ullanır. OCD, mümün olduğunca basit bir şeilde geçişi oruyara, geçişler arasındai aday ümelerini budama için öncei geçişlerdei tüm elverişli bilgiyi ullanır. uzunlulu tüm yaygın nesneümelerini içeren L ümesini oluşturur. L +1 de de olabilece ( + 1) uzunlulu aday ümeler + 1 L dai yaygın nesneümelerini içerenve C de bulunur. e, L nın uzantısı

39 (extension) olma üzere, eğer X L + e ve e 0 olduğu biliniyorsa, X, L dan +e adet üme içerir. Örneğin; eğer e=1, =2 ve X L3 ise X, L 2 den 3 2 yani 3 üme içerir. Benzer şeilde, L 4 ün her bir nesnesi L 3 ün 4 nesnesini içerir,... vb. Örneğin L 2 = {{Elma, Muz}, {Lahana, Muz}, {Elma, Lahana}, {Elma, Yumurta}, {Muz, Yumurta}, {Dondurma, Elma}, {Lahana, Puding}} olsun. {Elma, Lahana, Muz} ve {Elma, Muz, Yumurta} ümelerinin L 3 ün olası üyeleri olduğu sonucu çıarılabilir. Çünü 2 uzunlulu tüm altümeleri L 2 de olan 3 uzunlulu ümeler bunlardır. Bu safhada L 4 boştur. Bunun sebebi L 4 ün herhangi bir üyesi L 3 ün 4 nesnesini içermesi gereiren L 3, 2 üyeye sahiptir. Bundan dolayı C + 1 aşağıdai yöntemle sayılır: C +1 = { Y I ; Y = + 1 ve Y, L nın (+1) üyelerini içerir} (4.8) C +1 bulma çözümü yorucu bir prosedürdür. Yorucu metodta, +1 uzunlulu tüm altümeler denetlenir. Buna rağmen, bu prosedür fazla sayıda geresiz adaylar üretir ve bu masraflı bir tenitir. Sayma işlemini uygun hale getirme için OCD ii alternatif yalaşım önermetedir. Bunlardan biri, orta olara (-1) nesnelerini içeren, ı C +1 olesiyonu hesaplamatır: L birleşimlerini biçimlendirere bir ı ı ı C +1 = { Y Y ; Y Y L ı, ve Y Y = ( 1) } (4.9) Daha sonra, C + 1 C ı + 1 ve C + 1, C ı + 1 dei her bir üme için C + 1 denleminin sağlanıp sağlanmadığı ontrolü yapılara hesaplanabilir. Đinci yalaşım, ıı ı C +1 = { Y Y ; L L ve L 1 dei ümelerin birleşiminin biçimlendirilmesidir: Y ve Y ı L1 ve Y ı Y } (4.10) Sonrasında, 1. denlemdei içerme şartını ontrol edere C + 1 hesaplanır. C +1 i oluşturma için gereen işlem veritabanının boyutuna değil, L nın boyutuna bağlıdır. Bir de e>1 için L dan diret olara çeşitli + 1 C, C + 2,... hesaplanır. C ı + 1 den C + 1 in elde edilmesi için gereen zaman armaşılığı O ( L ) tür. Diğer yandan, C ıı + 1 den C 1 elde ediliren geçen çalışma süresi doğrusal olara veritabanının boyutuna (n) ve üssel olara en 3 +

40 büyü yaygın nesneümesinin boyutuna bağlıdır. Bundan dolayı, ço büyü n değerleri için algoritma ço yavaş çalışmatadır. Yaygın nesneümeleri için iyi bir tahmin yapabilme, büyü veritabanının üçü örnelerinin analiziyle mümündür (Lee, 1998). Mannila tarafından 1994 yılında yapılan teori analizler göstermiştir i yaygın nesneümelerini bulma için üçü örneler ço iyidir. Ayrıca, deste eşi değerinin üçü olması durumunda, 3000 satır içeren bir örne üzerinde yaygın nesneümelerinin bulunması esnasında son derece iyi bir tahminleme yapılabilmiştir. Bu algoritmanın performansı 1994 te Mannila tarafından ii veriseti üzerinde test edilmiştir. Bunlardan biri 4734 öğrenciye ait ders ayıtlarını içeren veritabanıdır. Đincisi ise bir telefon firmasının 30.000 ayıt içeren hata yönetim veritabanıdır. Deneysel sonuçlar, OCD nin süre geresiniminin AIS in 10-20% si olduğunu göstermiştir. Düşü deste eşi değerlerinde OCD nin avantajı artmatadır (Mannila, 1994). AIS ile oluşturulan aday sayıları OCD tarafından oluşturulanlara oranla ço fazladır. AIS, geçiş sırasında opya adaylar oluştururen OCD bir adayı bir ez oluşturur ve veritabanında hesaplamaya girmeden önce altümelerinin yaygın olup olmadığını ontrol eder. 4.3.1.7 Partitioning Algoritması PARTITION, 1995 yılında Savasere tarafından önerilmiştir ve veritabanı tarama sayısını 2 ye indirir. Veritabanını üçü bölmelere ayırır ve her bir bölmenin ana bellete tutulabileceğini varsayar. Veritabanı bölmelerinin 1 D, 2 D,..., p D olduğunu düşünelim. Đl taramada her bir bölme için yerel yaygın nesneümeleri bulunur; i D (1 i p) ve { X X L i. count s D }. i yerel yaygın nesneümeleri, Apriori benzeri seviye-mantığı algoritması ullanılara bulunur. Her bir bölme ana belleğe yerleştirilebildiği sürece, bölmeyi ana belleğe yülediten sonra her bir bölme için e G/Ç disine gere yotur. Đinci taramada, tüm veritabanındai yaygın bir nesneümesinin, veritabanının en az bir bölmesinde de yerel olara yaygın olması geretiği özelliğini ullanır. Daha sonra, her bir bölmede bulunan yerel yaygın nesneümelerinin birleşimi adaylar olara ullanılır ve bütün yaygın nesneümelerini bulma için tüm veritabanı üzerinde sayılırlar.

41 Şeil 4.2 PARTITION algoritmasını ullanara yaygın nesneümelerinin bulunması Şeil 4.2, Çizelge 4.1 üzerinde PARTITION ın ullanımını ele almatadır. Eğer veritabanı iiye bölünürse, il bölme il ii hareeti ve iinci bölme de alan ii hareeti içerir. Minimum deste değeri 40% ien ve her bir bölmede sadece ii hareet mevcuten, bir ez görülen bir nesneümesi yaygın olabilir. Đi bölmedei yerel yaygın nesneümeleri hareetlerin tüm altümeleridir. Birleşim ümesi, iinci tarama için aday nesneümelerini içerir. Algoritma, aşağıda gösterilmiştir. Veritabanı bölmelerini belirtme için süperscriptler ve nesneümelerinin boyutlarını belirtme için ise altscriptler ullanılmıştır. Şeil 4.3 PARTITION algoritması (Dunham ve diğerleri, 2000) PARTITION algoritması homojen veri dağılımına ihtiyaç duyar. Bunun nedeni, eğer bir nesneümesi her bir bölmede eşit sayıdaysa, iinci taramada sayılaca çoğu nesneümesinin sayısı büyü olur. Buna rağmen, dağını veri dağılımlarında, iinci taramadai birço

42 nesneümesi üçü olara nitelendirilir, bu da yanlış nesneümelerini sayma için işlem süresini arttırır. AS-CPA (Anti-Sew Counting Partition Algorithm) (Lin, 1998), anti-dağını algoritmalarının bir ailesidir ve dağını veri dağılımlarında PARTITION ın performansını arttırma için önerilmiştir. Đl taramada, öncei bölmelerde bulunan nesneümelerinin sayısı, diğer bölmelerde biritirilir ve arttırılır. Biritirilen sayılar üçü olabilece nesneümelerini budama için ullanılır. Đl budama tenileri nedeniyle, iinci taramada sayılaca yanlış nesneümelerinin sayısı azaltılmış olur. 4.3.1.8 Sampling Algoritması 1996 da Toivonen tarafından geliştirilen örneleme (sampling) algoritması veritabanı tarama sayısını en iyi durumda bire, en ötü durumda iiye indirir. Đl olara veritabanından ana belleğe yerleştirilebiece bir örne alınır. Örnetei yaygın nesneümelerinin ümesi, Apriori benzeri seviye-mantığı algoritması ullanılara bulunur. Örnetei yaygın nesneümelerinin ümesli PL olsun. Bu, muhtemel yaygın nesneümelerinin bir ümesi olara ve büyün veritabanında doğrulanabilen adayları oluşturma için ullanılır. Adaylar PL üzerinde negatif enar fonsiyonu uygulanara elde edilir; BD BD ( PL) PL. PL nesneümeleri ümesinin negatif enarı, PL de olmayan anca tüm altümeleri PL de olan en üçü nesneümeleri ümesidir. Negatif enar fonsiyonu, Apriori dei apriori_gen() fonsiyonunun genellenmişidir ve pl dei tüm nesneümelerinin aynı boyutta olmasını beler, BD ( PL) = apriori _ gen( PL). Farı ise, negatif enar farlı boyuttai nesneümeleri ümesine uygulanabiliren, apriori_gen() fonsiyonu te boyuta uygulanır. Adaylar oluşturuldutan sonra, adayların sayılarını belirleme için tüm veritabanı bir ereliğine taranır. Eğer tüm yaygın nesneümeleri PL de ise ve BD (PL) dei hiçbir nesneümesi yaygın olara nitelendirilemiyorsa, tüm yaygın nesneümeleri bulunmuş olur ve algoritma sonlanır. Bu, tüm yaygın nesneümelerinin bulunduğunu garantiler çünü PL tüm L yaygın nesneümelerini içeriyorsa ( L PL ), BD ( PL) PL Apriori nin tüm aday nesneümelerini içerir. Diğer türlü, BD (PL) de açalar varsa, tüm yaygın nesneümelerinin bulunduğundan emin olma için bazı yeni aday nesneümeleri sayılmalıdır ve bu da fazla bir tane daha taramayı geretirir. Bu durumda, Apriori nin tüm aday nesneümelerini içermez. L PL ise, il taramadai aday nesneümeleri Örneleme teniğini örneleme için; PL = {{A}, {B}, {C}, {A, B}} olsun. Đl taramada oluşan aday nesneümeleri BD ( PL) PL = {{A, C}, {B, C}} {{A}, {B}, {C}, {A, B}} = {{A}, {B}, {C}, {A, B}, {A, C}, {B, C}}. Eğer L = {{A}, {B}, {C}, {A, B}, {A, C},

43 {B, C}} ise, BD (PL) de {A, C} ve {B, C} olara ii aça vardır. Apriori nin bir adayı olan ve yaygın olabilece {A, B, C} nesneümesi örnelemenin il taramasında sayılmamıştır. Bu nedenle örneleme algoritması {A, B, C} gibi yeni aday nesneümelerini sayma için bir adet daha taramaya ihtiyaç duyar. Negatif enar fonsiyonunun açalara terarlamalı olara uygulanmasıyla yeni aday nesneümeleri oluşturulur. Şeil 4.4 Sampling algoritması (Dunham ve diğerleri, 2000) 4.3.1.9 DIC (Dynamic Itemset Counting) Algoritması DIC, nesneümelerini önceden oluşturmaya ve saymaya çalışır, bu da veritabanı tarama sayısını azaltır (Brin, 1997). Veritabanı aralılı (interval) hareetler olara gösterilir ve aralılar ardışıl olara taranır. Đl aralığın taranması sırasında, 1-nesneümeleri oluşturulur ve sayılır. Đl aralığın sonunda, muhtemelen yaygın olan 2-nesneümeleri oluşturulur. Đinci aralığı tararen, oluşturulan tüm 1-nesneümeler ve 2-nesneümeler sayılır. Đinci aralığın sonunda, muhtemelen yaygın olan 3-nesneümeleri oluşturulur ve üçüncü aralığı tarama sırasında 1-nesneümeler ve 2-nesneümeler ile birlite sayılır. Genellile,. aralığın sonunda, muhtemelen yaygın olan ( + 1)-nesneümeleri oluşturulur ve sonrai aralılarda öncei nesneümeleriyle birlite sayılırlar. Veritabanının sonuna ulaşıldığında, veritabanını

44 baştan itibaren yine ele alara tam olara sayılmamış nesneümelerini sayar. Veritabanı taramalarının asıl sayısı aralı boyutuna bağlıdır. Eğer aralı yeterince üçüse, tüm nesneümeler il taramada oluşturulur ve tam olara iinci taramada sayılır. Ayrıca, PARTITION da olduğu gibi homojen bir dağılıma ihtiyaç duyulur. 4.3.1.10 CARMA (Continuous Association Rule Mining Algorithm) Algoritması CARMA, üçü nesneümelerinin hesaplanmasını çevrimiçi (online) olara yapar (Hidb, 1999). Çevrimiçi olara, CARMA, ullanıcıya mevcut birliteli urallarını gösterir ve veritabanının il taranmasındai herhangi bir işlemde ullanıcının minimun deste ve minimum güven parametrelerini değiştirmesini sağlar. En ço 2 veritabanı taraması geretirir. DIC e benzer olara, CARMA da il taramada nesneümelerini oluşturur ve iinci taramada tüm nesneümelerinin sayılmasını bitirir. DIC ten farlı olara, CARMA hareetler üzerinden geçeren nesneümelerini oluşturur. Her bir hareeti oudutan sonra, il olara hareetin altümeleri olan nesneümelerinin sayılarını arttırır. Daha sonra, eğer nesneümesinin mevcut tüm altümeleri minimum deste değerini sağlayaca şeilde ve veritabanının ounan bölümünde büyüseler, hareetten nesneümeleri oluşturulur. Bir nesneümesinin muhtemel olara yaygın olmasının tam olara estirilebilmesi için, nesneümesinin sayısı için bir üst sınır hesaplanır. Bu, mevcut sayısının toplamı ve nesneümesi oluşturulmadan önce oluş sayısının tahmin edilmesidir. Oluş sayısının (masimum açalar) estirilmesi işlemi, nesneümesi il oluşturulduğunda hesaplanır. 4.3.1.11 FP-Growth (Frequent Pattern Growth) Algoritması Aday üretmesizin yaygın nesneümelerinin bulunması için geliştirilmiş bir metoddur. Đl olara veritabanı, yaygın nesneleri temsil edece şeilde FP-Tree (Frequent Pattern Tree FP-Ağacı) denilen ağaç yapısına sııştırılır. Bu ağaçta nesneümelerinin birliteli bilgileri yer almatadır. Daha sonra, sııştırılmış veritabanı şartlı veritabanlarına bölünür. Her biri yaygın bir nesne ile ilişilendirilmiştir ve bu veritabanları ayrı ayrı madenlenir. FP-Growth metodu büyü yaygın nesneümelerini bulma problemini terarlı bir şeilde üçülerin araştırılması ve sonrasında sonelerinin (suffix) birleştirilmesi problemine dönüştürür. Az terarlı nesneleri sone olara ullanara iyi seçicili sağlar. Bu metod arama maliyetlerini önemli ölçüde azaltır.

45 Şeil 4.5 FP-Growth örne veri seti Öncelile veritabanı Apriori dei gibi bir ez taranara 1-nesneümeler bulunur. Yaygın nesneler deste sayılarına göre büyüten üçüğe sıralanırlar (F-list = f, c, a, b, m, p). Ardından, veritabanı bir ez daha taranara FP-Tree oluşturulur. FP-Tree, yaygın nesneleri bulma için gereli tüm bilgiyi barındırır. Yaygın olmayan nesneler ağaçta bulunmaz ve deste sayısı daha büyü olan nesneler öe daha yaındır. Ayrıca, FP-Tree asıl veri ümesinden daha büyü değildir [10]. Şeil 4.6 Yaygın nesneümelerinden, örne veri seti ullanılara FP-Tree nin oluşturulması

46 Örüntüleri bulma için yaygın nesneler, f-listesine göre altümelere bölünür. Örne veri seti için f-list = f, c, a, b, m, p dir. p nesnesi bulunan örüntüler, m nesnesi bulunan anca p nesnesi bulunmayan örüntüler,..., c nesnesi bulunan anca a, b, m, p nesneleri bulunmayan örüntüler, f nesnesi bulunan örüntüler gibi tarama yapılara örüntüler bulunur. Şeil 4.7 FP-Tree den elde edilen nesne oşullu örüntüler Şeil 4.8 m-oşullu FP-Tree ve m nesnesi bulunan yaygın nesneler

47 Şeil 4.9 m-oşullu FP-Tree den yaygın nesnelerin bulunması [10] FP-Growth metodu üzerinde yapılan performans çalışmaları göstermiştir i, algoritma büyü yaygın nesneümelerinin madenlenmesinde etili ve ölçelenebilir bir yapıdadır ve Apriori algoritmasından daha hızlı olduğu tespit edilmiştir (Han ve Kamber, 2000).

48 4.3.2 Paralel ve Dağıtılmış (Distributed) Algoritmalar Günümüzdei paralel ve dağını algoritmaların çoğu Apriori seri algoritmasını baz alır. Zai tarafından 1999 yılında yapılan müemmel bir araştırma, algoritmaları yüleme-dengeleme (load-balancing) stratejisine, mimarisine ve paralelliğine göre sınıflandırır. Burada paralelleştirmeye odalanılmıştır: veri paralelleştirme (data parallelism) ve görev paralelleştirme (tas parallelism) (Chat, 1997). Đi modelin farı, aday ümelerin işlemciler arasında dağıtılıp dağıtılmadığına bağlıdır. Veri paralelleştirme modelinde, her bir düğüm aynı aday ümelerini sayar. Görev paralelleştirme modelinde, aday üme bölümlendirilir ve işlemciler arasında dağıtılır ve her bir düğüm farlı bir aday ümesi sayar. Buna rağmen veritabanının teori olara ii modelde de bölümlendirilmesi geremez. Birço etili G/Ç uygulamasında genellile veritabanının bölümlendirildiği ve işlemciler arasında dağıtıldığı varsayılır. 1996 yılında Agrawal tarafından önerilen sayma dağıtım algoritması veri paralelleştirme modelinde temsili bir algoritmadır. Adaylar tüm işlemcilerde opyalanır ve veritabanı işlemciler arasında dağıtılır. Her bir işlemci, tüm adayların endi veritabanı bölmesinde deste sayıları olan yerel deste sayılarını (local support counts) hesaplamatan sorumludur. Daha sonra tüm işlemciler veritabanının bütünündei adayların toplam deste sayıları olan üresel deste sayılarını (global support counts), yerel deste sayılarıyla taas edere (üresel azaltım global reduction) hesaplar. Sonuç olara, yaygın nesneümeleri her bir işlemcide bağımsız olara hesaplanır. Veri paralelleştirme modeli, aşağıdai şeilde ele alınmıştır. Dört hareet, üç işlemci arasında bölümlendirilir; 3 nolu işlemcide T3 ve T4 hareetleri, 1 nolu işlemcide T1 ve 2 nolu işlemcide T2 hareetleri mevcuttur. Đinci taramadai üç aday nesneümeleri her bir işlemcide opyalanır. Yerel veritabanlarının taranmasından sonra yerel deste sayıları gösterilir.

49 Şeil 4.10 Veri paralelleştirme modeli (Dunham ve diğerleri, 2000) 1996 yılında Agrawal tarafından önerilen veri dağıtım algoritması görev paralelleştirme modelinde temsili bir algoritmadır. Veritabanındai gibi aday ümeler işlemciler arasında bölümlendirilir ve dağıtılır. Her bir işlemci, adayların sadece bir altümesi için üresel deste sayılarını tutmala sorumludur. Bu yalaşım her bir yinelemede ii iletişim çevrimine ihtiyaç duyar. Đl çevrimde, işlemcilerden her biri diğer tüm işlemcilere endi veritabanı bölmesini gönderir. Đinci çevrimde, sıradai yinelemede adayları hesaplama için işlemcilerden her biri bulduğu yaygın nesneümelerini diğer işlemcilere yayımlar. Görev paralelleştirme modeli, aşağıdai şeilde gösterilmiştir. Dört hareet de veri paralelleştirmesindei gibi bölümlendirilir. Her bir işlemcinin bir aday nesneümesi içereceği şeilde, üç aday nesneümesi işlemciler arasında bölümlendirilmiştir. Yerel veritabanı tarandıtan ve veritabanı bölmeleri diğer işlemciler tarafından yayımlandıtan sonra, her bir adayın üresel sayısı gösterilmiştir.

50 Şeil 4.11 Görev paralelleştirme modeli (Dunham ve diğerleri, 2000) Veri Paralelleştirme Algoritmaları Veri paralelleştirme modelini benimseyen algoritmalar; CD (Agrawal, 1996), PDM (Par, 1995), DMA (Cheung, 1996) ve CCPD (Zai, 1996) dır. Bu paralelleştirme algoritmaları arasında aday budama veya etili aday sayım tenilerinin çalıştırılıp çalıştırılmaması ile ilgili farlar bulunur. CD temsili algoritması detaylı bir şeilde anlatılmış olup diğer üç algoritmanın yalnızca e tenileri ele alınmıştır. 4.3.2.1 CD (Count Distribution) Algoritması CD teniğinde, D veritabanı { D 1, 2 D,..., p D } olara bölümlendirilir ve n adet işlemci arasında dağıtılır. Faredileceği üzere, işlemci sayısını belirtme için süperscript, aday boyutunu belirtme içinse altscript ullanılmıştır. CD nin i işlemcisindei program ısmı ( 1 i p ), aşağıdai şeilde gösterilmiştir. Temel olara üç adım vardır. 1. adımda, veritabanı bölmesindei C adaylarının yerel deste sayıları bulunur. 2. adımda, her bir işlemci tüm adayların üresel deste sayılarını elde etme için tüm adayların yerel deste sayılarını birbiriyle taas eder. 3. adımda ise, i D L üresel yaygın nesneümeleri tanımlanır ve

her bir işlemcide bağımsız olara 51 L üzerinde apriori_gen() uygulanara + 1 uzunlutai adaylar oluşturulur. Aday bulunamayana de CD, 1. ve 3. adımlar arasını terarlar. Şeil 4.12 CD algoritması (Dunham ve diğerleri, 2000) 4.3.2.2 PDM (Parallel Data Mining) Algoritması PDM, doğrudan hashing teniğini içerece şeilde CD nin değiştirilmesiyle oluşturulmuştur (Par, 1995). Hash teniği sonrai geçiştei bazı adayları budama için ullanılır. Apriori nin L 1 den C 2 oluşturma sırasında budama işlemi yapmamasından dolayı özellile iinci geçişte ullanışlıdır. Đl geçişte, tüm 1-nesneümelerinin sayılmasına e olara PDM, 2- nesneümelerinin sayılarını salama için bir hash tablosu oluşturur. Hash tablosunda 2- nesneümelerinin endisinin tutulmasına gere yotur, sadece her bir ovanın (bucet) sayısı tutulur. Örneğin; {A, B} ve {C} nin yaygın nesneler olduğu varsayılırsa, 2-nesneümeler için hash tablosunda ova {AB, AD} yi üçü yapma için içerir (bu ovadai sayı minimum deste sayısından üçütür). PDM, hash teniğiyle AB yi 2 uzunlulu aday olara oluşturmazen, il geçişten 2-nesneümeleriyle ilgili hiçbir bilgi alınamadığı gibi Apriori iinci geçiş için AB yi aday olara oluşturur.. geçişte iletişim için, PDM hash tablosundai + 1 nesneümelerinin yerel sayılarına e olara aday -nesneümelerinin yerel sayılarını taas etmeye ihtiyaç duyar.

52 4.3.2.3 DMA (Distributed Mining Algorithm) Algoritması Aday budama teniği ve iletişim mesajı azaltma tenilerinin elendiği veri paralelleştirme modeli bazlı bir tenitir. Bir nesneümesinin yoğun (hem bir veritabanı bölmesinde yerel olara yaygın hem de tüm veritabanında üresel olara yaygın) olup olmadığına arar verme ve sonrasında yoğun yaygın nesneümelerinden adayları oluşturma için her bir işlemcidei yaygın nesneümelerinin yerel sayılarını ullanır. Örneğin; A ve B sırasıyla 1 ve 2 nolu işlemcilerde yoğun olsun, bu durumda A üresel yaygın ve 1 nolu işlemcide yerel yaygındır ve B üresel yaygın ve 2 nolu işlemcide yerel yaygındır denir. DMA, AB yi 2-nesneüme adayı olara oluşturmazen Apriori, her bir işlemcidei yerel sayıları diate almayacağından dolayı AB yi aday olara oluşturur. Đletişim için, CD de olduğu gibi tüm adayların yerel sayılarının yayımlanması yerine DMA sadece yerel sayıları bir seçim yerine (polling site) 2 gönderir, bu da mesaj boyutunu O ( p ) den O ( p) ye düşürür. 4.3.2.4 CCPD (Common Candidate Partitioned Database) Algoritması 1996 yılında Zai nin önerdiği CCPD, bazı iyileştirmelerle SGI Power Challenge paylaşımlı bir belle üzerinde CD nin yürütülmesidir. Paylaşımlı bir belle ortamında etili bir şeilde aday üretilmesi ve sayılması için teniler önermetedir. Yaygın nesneümelerini orta önelere (genellile il nesne) göre eşdeğer sınıflar şelinde gruplandırır ve her bir eşdeğer sınıftan adayları oluşturur. Yaygın nesneümelerinin gruplandırılması aday sayısını azaltmazen aday üretim süresini düşürür. Her bir hareette adayların etili bir şeilde sayılması için ısa-döngülü (short-circuited) bir altüme ontrol metodunu öne sürmetedir. Görev (Tas) Paralelleştirme Algoritmaları Görev paralelleştirme modelini benimseyen algoritmalar; DD (Agrawal, 1996), IDD (Han, 1997), HPA (Shintani, 1996) ve PAR (Zai, 1997) dır. Bu algoritmalar adayları ve veritabanını işlemciler arasında bölüştürürler ve adayların ve veritabanının bölünme şeli farlılılarını oluşturur. DD temsili algoritması detaylı bir şeilde anlatılmış olup diğer algoritmaların farlı tenilerine değinilmiştir. 4.3.2.5 DD (Data Distribution) Algoritması 1996 yılında Agrawal tarafından önerilen DD teniğinde adaylar, round-robin tarzında tüm işlemciler arasında bölüştürülmüş ve dağıtılmıştır. Teni üç adımdan oluşur. Đl adımda, her bir işlemci endi üzerinde dağıtılmış adayların yerel sayılarını elde etme için yerel veritabanı bölmesini tarar. Đinci adımda, tüm işlemciler endi veritabanı bölmesini diğer işlemcilere

53 yayımlar ve diğer işlemcilerden diğer veritabanı bölmelerini alara tüm veritabanındai üresel deste sayılarını elde etme için alınan veritabanı bölmelerini tararlar. Son adımda ise, her bir işlemci endi aday bölmesindei yaygın nesneümelerini hesaplar, tüm yaygın nesneümelerini elde etme için diğerleriyle taas eder ve sonra adayları ve bölmeleri oluşturarar, adayları tüm işlemciler arasında dağıtır. Bu adımlar, aday üretemeyene adar devam eder. Veritabanı bölmelerini yayımlamanın iletişim maliyeti, iletişim ve hesaplamayı üst üste getiren asenron iletişim ile azaltılabilir (Agrawal ve diğerleri, 1996). Şeil 4.13 DD algoritması (Dunham ve diğerleri, 2000) 4.3.2.6 IDD (Intelligent Data Distribution) Algoritması IDD teniği DD üzerinde geliştirmeler içeren bir tenitir (Han, 1997). Adayların il nesnesine bağlı olara adayları işlemciler arasında bölümlendirir. Bu, aynı il nesneli adayların aynı bölmede bölümlendirileceğini gösterir. Bundan dolayı, her bir işlemci sadece, işlemciye atanmış nesnelerden biriyle başlayan altümeleri ontrol etme ihtiyacı duyar. Bu

54 DD dei her bir işlemcinin her bir hareettei tüm altümeleri ontrol etme gibi birço geresiz hesaplamayı azaltır. Adayların yüleme-dengeleme (load-balanced) dağılımını elde etme için adayları bölümlendirmeye yarayan bir utu-paetleme (bin-pacing) teniğini ullanır. Bu teni, her bir nesne için belirli nesne ile başlayan adayların sayısını hesaplar ve sonra her bir bölmedei aday sayısı eşit olaca şeilde, aday bölmelere nesneleri atama için utu-paetleme algoritmasını ullanır. Ayrıca, iletişim masrafını azaltma için bir hala mimarisini (ring architecture) benimser. Bu, yayımlama (broadcasting) yerine haladai omşular arasında notadan notaya eşzamansız iletişimi ullanmatır. 4.3.2.7 HPA (Hash-based Parallel mining of Association rules) Algoritması HPA, adayları farlı işlemcilere dağıtma için bir hashing teniği ullanır (Shintani, 1996). Örneğin; her bir işlemci, endisine dağıtılmış olan adayları hesaplama için aynı hash fonsiyonunu ullanır. Hesaplamada, işlemciler arasında bölünmüş veritabanlarında hareet etme yerine, aynı hash teniğiyle hareetlerin alt nesneümelerini hedef işlemcilere hareet ettirirler. Böylelile, bir hareettei alt nesneümesi n adet işlemci yerine sadece bir işlemciye gider. HPA, çarpı işleme tarzı (sew handling) teniğiyle daha da geliştirilmiştir (Shintani, 1996). Çarpı işleme tarzı teni, her bir işlemcide ullanılabilece ana hafıza olması durumunda her bir işlemciye düşen işin daha orantılı olması için bazı adayların opyalanmasıdır. 4.3.2.8 PAR (Parallel Association Rules) Algoritması PAR, farlı adayları bölme ve saymada ullanılan bir grup algoritmadan oluşur (Zai, 1997). Doğal yatay veritabanı bölmelerine (hareet listeleri) arşın diey veritabanı bölmeleriyle (her bir nesnenin TID listesi) çalışırlar. Veritabanları için diey organizasyonu ullanara nesneümesindei nesnelerin TID listelerinin esişimiyle bir nesneümesinin hesaplanması daha olay yapılmatadır. Buna rağmen, veritabanı yatay olara düzenlenmişse, diey bölmelere dönüşümü geremetedir. Veritabanı, eşzamanlılığı azaltma için opyalanabilir. Par-Eclat ve Par-MaxEclat algoritmaları adayların il nesnelerine bağlı olara eşitli sınıfını ullanıren, Par-Clique ve Par-MaxClique algoritmaları adayları bölümlendirme için masimum hipergraf grubunu (hypergraph clique) ullanır. Hipergrafta, öşe (vertex) bir nesnedir, öşesi arasındai enar, öşesiyle ilgili nesneleri içeren nesneümesidir ve bir grup birbiriyle bağlı tüm öşeleri içeren alt-graftır (sub-graph). Par-MaxEclat ve Par- MaxClique algoritmalarının bir özelliği azami (maximal) nesneümelerini (diğerlerin altümesi olmayan nesneümeleri) bulmasıdır. Nesneümesi sayımı alt-yuarı (bottom-up), üst-aşağı (top-down) veya melez (hybrid) şelinde yapılabilir. Algoritmalar, adayları

55 bölümlendirme için yaygın 2-nesneümelerine ihtiyaç duyana de (eşitli sınıfı veya hipergraf grubu ile), tüm 2-nesneümelerdei oluşumları elde etme için önişlem adımını ullanırlar. Diğer Paralelleştirme Algoritmaları Tam manasıyla ii model arasında sınıflandırılamayan bazı diğer paralel algoritmalar mevcuttur. Đi modeldei benzer fiirleri paylaşmala beraber ayrı özellilere de sahiplerdir. Bu sebeple bu algoritmalar, diğer paralelleştirme algoritmaları olara bölümlendirilmiştir. Bu paralel algoritmalar; Candidate Distribution (Agrawal, 1996), SH (Harada, 1998) ve HD (Han, 1997) dir. 4.3.2.9 Candidate Distribution Algoritması Agrawal tarafından 1996 yılında önerilen aday dağıtım (candidate distribution) algoritması, CD ve DD dei eşzamanlılı ve iletişim e yüünü azaltma için geliştirilmiştir. 4.3.2.10 SH (Sew Handling) Algoritması Harada tarafından 1998 yılında önerilen SH algoritmasında, Apriori sıralı algoritmasından farlı olara, adaylar öncei yaygın nesneümelerinden oluşturulmazlar. Bunun yerine her bir işlemcidei veritabanı bölmelerini tararen bağımsız olara oluşturulur. SH, Apriori den farlı bir algoritma üzerine urulmuş gibi görünse de, Apriori ye ço yaın bir algoritmadır. 4.3.2.11 HD (Hybrid Distribution) Algoritması HD, 1997 yılında Han tarafından önerilmiş olup, ii modelin birleşimidir. p işlemcilerinin r satırları ve p/r olonları olara ii boyutlu şeilde düzenlendiğini varsayar. Veritabanı p işlemcileri arasında eşit olara bölümlendirilmiştir.

56 Şeil 4.14 Birliteli algoritmalarının sınıflandırılması (Dunham ve diğerleri, 2000) 4.4 Birliteli Kuralı Algoritmalarının Karşılaştırılması Veritabanının herhangi bir taranmasında sayılan adayların azami sayısına baılara alan ihtiyacı tahmin edilebilir. Zaman ihtiyacını belirleme için gereen veritabanı taramalarının azami sayısının (G/Ç tahmini) ve arşılaştırma işlemlerinin azami sayısının (işlemci tahmini) sayılması gereir. Birço hareetsel veritabanlarının iincil dislerde salanmasından ve G/Ç e yülerinin işlemci e yülerinden daha önemli olmasından bu yana, veritabanının bütününde yapılan tarama sayılarına odalanılmıştır. Açıça, veritabanındai her bir hareetin tüm nesneleri içermesi en ötü durumdur. Her bir hareettei nesne sayısı m ve D veritabanındai -nesnelerini içeren yaygın nesneümeleri yaygın nesneümeleri sayısı L olara ifade edilme üzere, m 2 adardır. Seviye-mantığı (level-wise) tenilerde (AIS, SETM, Apriori,..., vb.), veritabanının il taranması sırasında tüm L 1 yaygın nesneümeleri elde edilmiş olur. Benzer şeilde, tüm L 2 yaygın nesneümeleri iinci tarama sırasında elde edilir ve bu işlem böyle devam eder. m. taramada L m nesneümesi elde edilir. Yaygın nesneümelerine e girişler olmadığında e taramaya gere almayacağı için tüm algoritmalar sonlanır. Bu nedenle, tüm veritabanı en fazla (m+1) ez taranır. Apriori-TID tüm veritabanını il geçişte tarar. Sonrasında, (+1). geçişte tüm veritabanı yerine C yı ullanır.

57 Buna rağmen, ötü durumlarda her zaman yardımcı olamaz. Bunun nedeni, tüm işlem sırasında C nın tüm hareetleri nesneleriyle birlite içermesidir. Diğer taraftan, OCD teniği algoritmanın başında L 1 yaygın nesneümelerini elde etme için tüm veritabanını bir ereliğine tarar. Sonra, OCD ve Sampling tüm veritabanının sadece bir bölümünü ve L nın aday nesneümelerini bulma için ( 1 < m ) il geçişte elde edilen bilgiyi ullanır. Đinci taramada, her bir aday nesneümesinin deste değerini hesaplar. Bu nedenle, verilen yeterli ana bellete en ötü durumda ii tarama olur. PARTITION teniği de, veritabanı taramalarını iiye indirere G/Ç e yüünü azaltır. Benzer şeilde, CARMA en ço ii veritabanı taramasına ihtiyaç duyar. Bir algoritmanın iyiliği, geliştirdiği doğru adayların sayısına bağlıdır. Daha önce de belirtildiği gibi, tüm algoritmalar aday ümeleri oluşturma için öncei geçişlerde oluşan yaygın nesneümelerini ullanır. Aday nesneümelerini oluşturma için bir öncei nesneümelerinden oluşturulmuş yaygın nesneümeleri ana belleğe alınır. Aday nesneümeleri, deste değerlerinin sayılması için ana bellete olmalıdır. Belleğin yetersiz gelmesi durumuna binaen farlı çeşitlilite tampon (buffer) yönetimi ve depolama mimarilerine iman veren çeşitli algoritmalar vardır. AIS, L 1 in ihtiyaç durumunda diste almasını önermiştir. SETM, eğer C ana bellete yer alamayaca adar büyüse, FIFO (first in first out) tarzında belleğe yazılmasını önermiştir. Apriori ailesi, L 1 in diste salanmasını ve C yı bulma için bir bloğun ana belleğe alınmasına değinmiştir. Buna rağmen hem Apriori-TID hem de Apriori-Hybrid de C, deste değerlerinin hesaplanması için ana bellete olmalıdır. Diğer yandan, tüm diğer teniler bu problemlerle baş etme için yeterli belleğin olduğunu varsayarlar. Diğer tüm sıralı teniler (PARTITION, Sampling, DIC ve CARMA) ana bellete yer aplayabilece adar tüm veritabanının elverişli bir bölümünün bulunmasına odalanır. Apriori ailesi, yaygın nesneümeleri için hash ağacı veya dizisi (hash tree or array) gibi uygun veri yapıları önermiştir. Buna rağmen AIS ve SETM, herhangi bir depolama mimarisi önermemiştir. Birço ticari şeilde uygulanabilir araçlar, birliteli uralları oluşturma için Apriori teniğini baz alırlar. Bazı algoritmalar belirli durumlar altında ullanma için son derece uygundur. AIS, veritabanındai nesnelerin ço büyü sayıda olması durumunda iyi çalışmaz. Bundan dolayı AIS, üçü işlemsel veritabanları için uygundur. Daha önce de bahsedildiği üzere, Apriori il geçişlerde Apriori-TID e oranla üçü çalışma sürelerine ihtiyaç duyar. Diğer yandan,

58 Apriori-TID sonrai geçişlerde Apriori ye göre daha iyidir. Bundan dolayı uygun geçişle, Apriori-Hybrid en iyi performansı göstermetedir. Buna rağmen, Apriori den Apriori-TID e geçiş ço önemli ve e yü getiren bir iştir. OCD, tahmini teni olmasına rağmen, düşü deste eşi değerlerindei yaygın nesneümelerini bulmata ço etindir. CARMA, ullanıcı etileşimli, geridönüşüm tabanlı online bir tenitir ve hareet dizilerinin bir ağdan ounması sırasında etilidir. Aşağıdai tablo, bahsedilen çeşitli algoritmaların ısaca arşılaştırılmasına ışı tutmata ve özetlemetedir. Bu tablo azami tarama sayısını, önerilen veri yapılarını ve bazı açılamaları içermetedir.

59 Algoritma Çizelge 4.2 Algoritmaların arşılaştırılması (Dunham ve diğerleri, 2000) Tarama Sayısı Veri Yapısı AIS m+1 Belirtilmemiş Açılamalar SETM m+1 Belirtilmemiş SQL uyumlu. Apriori m+1 Apriori-TID m+1 Apriori- Hybrid m+1 L 1 : Hash tablosu C : Hash ağacı L 1 : Hash tablosu C : TID ile dizinlenmiş dizi C : Sıralı mimari ID: bitmap L : Hash tablosu 1 Đl safhada: C : Hash ağacı Đinci safhada: C : TID ile dizinlenmiş dizi C : Sıralı mimari ID: bitmap OCD 2 Belirtilmemiş PARTITION 2 Hash tablosu Sampling 2 Belirtilmemiş DIC Aralı boyutuna bağlıdır Ağaç Belli başlı, az veri içeren seyre hareetsel veritabanları için uygundur. Belli başlı, orta düzey veri içeren hareetsel veritabanları için uygundur. AIS ve SETM e oranla daha iyidir. Paralel algoritmaların baz aldığı algoritmadır. C nın büyü olması durumunda ço yavaştır. Küçü boyutlu C ile Apriori den daha iyidir. Apriori den daha iyidir. Buna rağmen, Apriori den Apriori-TID e geçiş e yü geretirir. Geçiş notasını saptama ço önemlidir. Düşü deste eşi değerleri ve ço büyü veritabanları için uygundur. Büyü veritabanları için uygundur. Homojen veri dağılımını desteler. Düşü deste eşi değerleri ve ço büyü veritabanları için uygundur. Veritabanı, hareetsel aralılar şelindedir. Yüse boyutlu adaylar, bir aralığın sonunda oluşturulur. CARMA 2 Hash tablosu Hareet dizilerinin bir ağdan ounmasına uygundur. Online. Kullanıcılardan süreli geri-besleme gelir ve deste ve/veya güven değerlerini işlem sırasında herhangi bir anda değiştirebilirler. FP-Growth 2 FP-Tree Aday üretimsiz bir tenitir. Apriori ve türevlerinden daha iyi performansa sahiptir. CD m+1 Hash tablosu ve ağacı Veri paralelleştirme. PDM m+1 Hash tablosu ve ağacı Veri paralelleştirme, eren aday budaması. DMA m+1 Hash tablosu ve ağacı Veri paralelleştirme, aday budaması. CCPD m+1 Veri paralelleştirme, paylaşımlı-belle içeren Hash tablosu ve ağacı mainelerde ullanılır. DD m+1 Hash tablosu ve ağacı Görev paralelleştirme, round-robin bölümlendirmesi. IDD m+1 Hash tablosu ve ağacı Görev paralelleştirme, il nesnelerle bölümlendirme. HPA m+1 Görev paralelleştirme, hash fonsiyonu ile Hash tablosu ve ağacı bölümlendirme. SH m+1 Veri paralelleştirme, adaylar her bir işlemcide Hash tablosu ve ağacı bağımsız olara oluşturulur. HD m+1 Melez veri ve görev paralelleştirme, ızgara (grid) Hash tablosu ve ağacı paralel mimarisi

60 5. UYGULAMA Bu bölüm, tez çalışmasında ullanılma üzere Migros Tür T.A.Ş. Genel Müdürlüğü nden talep edilen örne veri seti üzerindei analizleri, aademi çalışmalara deste olması açısından internetten erişime açı olan BMS-WebView-1 ve BMS-WebView-2 verileri üzerindei analizleri ve Transact SQL ullanılara hazırlanan algoritmaların bu örne veriler üzerindei arşılaştırmalı sonuçlarını içermetedir. Örne veri setinden birliteli urallarının elde edilmesi için aday üretimli bir algoritma olan Apriori ile aday üretimsiz bir algoritma olan FP-Growth algoritmaları ullanılmıştır. 5.1 Örne Veri Setleri 5.1.1 Migros Kadir Has Mağazası Veri Seti Migros Kadir Has Mağazası na ait örne veri seti, 01.Mayıs.2007 ve 31.Mayıs.2007 tarihleri arasında elde edilmiş olan bir aylı maret alışveriş verisini içermetedir. Talep sonrasında Microsoft Excel formatında paylaşılan 9,25 MB büyülüğündei veri 82902 adet ayıttan oluşmatadır. Bu veriye ait örne görüntüler Şeil 5.1 ve Şeil 5.2 de görülmetedir. Şeil 5.1 Migros Kadir Has Mağazası ndai maret alışverişlerine ait örne veri seti - Sheet1 (1-60000 arası ayıtlar)

61 Şeil 5.2 Migros Kadir Has Mağazası ndai maret alışverişlerine ait örne veri seti - Sheet2 (60001-82902 arası ayıtlar) Migros verisinin her satırında müşteri hesap numarası, işlem tarihi, işlem yapılan asa numarası, günlü işlem numarası, işlem saati, alınan ürün numarası, alınan ürünün adı, adet/g, tutar ve ilgili işlem numarasında yapılmış toplam harcama bilgileri bulunmatadır. Veriye ait başlıca özelliler şunlardır: 82902 adet satırdan oluşmatadır. 01.05.2007 Salı 31.05.2007 Perşembe tarihleri arasındai alışveriş bilgilerini içermetedir. 6401 adet hareetten (transaction birlite alınma işlemi) oluşmatadır. 8939 adet üründen oluşmatadır. Bu ürünlerden daha sonra 574 adet ürün ategorisi elde edilmiştir. 1273 adet farlı müşteri numarası ve 9 adet farlı asa numarası yer almatadır. En eren yapılan alışveriş saat 10:05 te (03.05.2007), en geç yapılan alışveriş saat 22:08 de (03.05.2007) gerçeleşmiştir. 720 adet farlı işlem numarası 1 1364 arasında değişmetedir.

62 5.1.2 BMS-WebView-1 ve BMS-WebView-2 Veri Setleri BMS-WebView-1 ve BMS-WebView-2, veri madenciliği alanında yapılan aademi çalışmalara deste olması açısından, internetten erişime açı olan, ii e-ticaret web sitesinden elde edilmiş satış verileridir. Her ii veri de metin dosyasında bulunmata ve satış fiş numarası ve ürün odunu içeren ii olondan oluşmatadır. Şeil 5.3 ve Şeil 5.4 te bu ii veriümesine ait üçü birer örne görülmetedir. Bu ii veriden de birliteli uralları elde edileceğinden dolayı, verilerin veritabanına atarılmasının ardından, sadece te ürün içeren fiş numaralarına ait satırlar silinmiş olup, bölüm 3.1.2 de bahsedilen verilerin hazırlanması ile ilgili yöntemler uygulanmıştır. Veritabanına atarılmış BMS-WebView-1 verisine ait başlıca özelliler şunlardır: 116704 adet satırdan oluşmatadır. 26667 adet hareetten (transaction birlite alınma işlemi) oluşmatadır. 497 adet farlı ürün içermetedir. Fiş numarası aralığı 1 60067 dir. Ürün Kodu aralığı 1902 4929 dur. 2498 adet ile en fazla fişte geçen ürün 2399 dur. 1204 adet ile en fazla fişte geçen 2-nesneümesi {3996, 4002} dir. BMS-WebView-2 verisine ait başlıca özelliler ise şunlardır: 333385 adet satırdan oluşmatadır. 52619 adet hareetten (transaction birlite alınma işlemi) oluşmatadır. 3335 adet farlı ürün içermetedir. Fiş numarası aralığı 1 79455 dir. Ürün Kodu aralığı 8284 80004 tür. 3412 adet ile en fazla fişte geçen ürün 8284 tür. 1501 adet ile en fazla fişte geçen 2-nesneümesi {8307, 8309} dur.

63 Şeil 5.3 BMS-WebView-1 örne veri seti 149639 satır Şeil 5.4 BMS-WebView-2 örne veri seti 358278 satır

64 5.2 ADDM Veritabanı 5.2.1 Veritabanının Oluşturulması ve Örne Veri Setlerinin Veritabanına Alınması Excel formatındai Migros verisinin ve txt uzantılı BMS verilerinin üzerinde işlem ve sorgulamalar yapıp, Transact SQL dili ile yazılmış algoritmalardan sonuçlar alabilme adına Microsoft SQL Server 2005 e ait SQL Server Management Studio (SSMS) üzerinde ADDM veritabanı oluşturulmuştur. Veritabanının ismi Ayhan Döşlü Data Mining elimelerinin baş harflerinden gelmetedir. Şeil 5.5 SQL Server Management Studio da oluşturulmuş olan ADDM veritabanı Excel formatındai Migros verisini ve txt uzantılı BMS verilerini ADDM veritabanına alabilme için öncelile, Excel dei olon sırasını ve isimlendirmelerinin benzerini içerece şeilde t_migros_adir_has isimli bir tablo ve BMS-WebView-1 ve BMS-WebView-2 verilerini içerece olan t_bms_webview_1 ve t_bms_webview_2 tabloları oluşturulmuştur. t_migros_adir_has tablosunda Hesap_No, Tarih, Kasa_No, Islem_No, Saat, Urun_No, Urun_Adi, Adet_Kg, Tutar, Harcama isimli olonlar yer almatadır. Yapıları benzer olan t_bms_webview_1 ve t_bms_webview_2 tablolarında ise sat_id ve urun_no olonları bulunmatadır. Tabloların yapısı Şeil 5.6 ve Şeil 5.7 de görülmetedir.

65 Şeil 5.6 ADDM veritabanındai t_migros_adir_has tablosunun yapısı Şeil 5.7 ADDM veritabanındai t_bms_webview_1 ve t_bms_webview_2 tablolarının yapısı Oluşturulan t_migros_adir_has tablosuna Excel formatındai verinin, t_bms_webview_1 ve t_bms_webview_2 tablolarına da txt uzantılı verilerin atılabilmesi için, farlı aynalar arasında veri atarımına iman veren (ETL Extract, Transform, Load) Microsoft SQL Server Integration Services (SSIS) ullanılmıştır. Yapılaca atarım işlemini tasarlama için SQL Server Business Intelligence Development Studio da ADDMSSIS isimli bir Integration Services Project oluşturulmuştur. Proje içinde SSIS Pacages altında oluşturulan pmigrossatis.dtsx te, Excel ve SQL Server 2005 Veritabanı bağlantılarını sağlama için bağlantı nesneleri oluşturulmuştur. Aynı şeilde, pbms.dtsx içinde de Flat File (txt, csv,... uzantılı dosyalar için) ve SQL Server 2005 Veritabanı bağlantılarını sağlama için bağlantı nesneleri oluşturulmuştur.

66 Şeil 5.8 ADDMSSIS projesinde yer alan Excel, Flat File ve SQL Server 2005 Veritabanı bağlantı nesnelerinin yapılandırması Ardından, bu bağlantı nesnelerini ullanara Excel dei Migros örne veri setinin bulunduğu Sheet1 ve Sheet2 nin t_migros_adir_has tablosuna atılması için ii adet Data Flow Tas ve içerileri tasarlanmıştır. pmigrossatis.dtsx pacage ının yapısı Şeil 5.9, Şeil 5.10 ve Şeil 5.11 de verilmiştir. Metin formatındai BMS veri setlerini t_bms_webview_1 ve t_bms_webview_2 tablolarına alma için ise, pbms.dtsx pacage ı tasarlanmıştır ve yapısı Şeil 5.12, Şeil 5.13 ve Şeil 5.14 te görülmetedir. pmigrossatis.dtsx ve pbms.dtsx, tasarlandıtan sonra sırasıyla çalıştırılmıştır ve Excel döümanındai veriler t_migros_adir_has tablosuna, txt uzantılı döümanlardai veriler t_bms_webview_1 ve t_bms_webview_2 tablolarına alınmıştır.

67 Şeil 5.9 pmigrossatis.dtsx pacage ı içinde yer alan Data Flow Tas ler ve bağlantıları Şeil 5.10 pmigrossatis.dtsx tei Data Flow Tas Sheet1 in içeriği

68 Şeil 5.11 pmigrossatis.dtsx tei Data Flow Tas Sheet2 nin içeriği Şeil 5.12 pbms.dtsx pacage ı içinde yer alan Data Flow Tas ler ve bağlantıları

69 Şeil 5.13 pbms.dtsx tei Data Flow Tas - BMS WebView 1 in içeriği Şeil 5.14 pbms.dtsx tei Data Flow Tas - BMS WebView 2 nin içeriği

70 5.2.2 Migros Veri Setindei Ürünlerin Kategori Hale Getirilmesi ve Veritabanına Alınması Migros veri setinden daha anlamlı birliteli uralları elde edebilme için 8939 adet ürünün ategori hale getirilmesi geremetedir. Bundan dolayı, ürünler bir Excel döümanında ürün numarasına göre dizilere ategori hale getirilmiştir. Her bir ürün te te gözden geçirilmiştir ve ilgili ürünün yanına Ürün Kategori Adı yazılmıştır. Şeil 5.15 de döümanın örne eran görüntüsü bulunmatadır. Şeil 5.15 8939 adet ürünün ategori hale getirilmesi Oluşturulan ategori ürünler listesini ADDM veritabanında tutma için t_urun isimli bir tablo tasarlanmıştır. Şeil 5.16 ADDM veritabanındai t_urun tablosunun yapısı

71 Daha sonra, Excel dei örne veri setinin t_migros_adir_has tablosuna alınmasında olduğu gibi, ADDMSSIS projesi altında pmigrosurunkategori.dtsx isimli yeni bir pacage oluşturulmuştur. Şeil 5.17 pmigrosurunkategori.dtsx pacage ı içinde yer alan Data Flow Tas ve bağlantıları

72 Şeil 5.18 pmigrosurunkategori.dtsx tei Data Flow Tas ın içeriği pmigrosurunkategori.dtsx tasarlandıtan sonra çalıştırılmıştır ve Excel dei ategori ürün verileri t_urun tablosuna alınmıştır. Böylelile, 8939 adet ürün 574 adet ategoriye ayrılara, daha anlamlı birliteliler ve urallar oluşturulmuştur.

73 5.2.3 ADDM Veritabanının Yapısı ADDM veritabanı D:\SQLData dizini altında bulunan, Primary filegroup unu ullanan ADDM_Data.mdf ve log bilgilerinin yer aldığı ADDM_Log.ldf dosyalarında tutulmatadır. Veritabanında ullanılan veritabanı nesneleri belirli bir yapıya göre adlandırılmıştır. Tablolar için t_, stored procedure lar için sp_, fonsiyonlar için fn_, indesler için IX_,..., vb. ön eleri ullanılmıştır. Şeil 5.19 ve Şeil 5.20 de, tasarlanmış tablo, stored procedure ve fonsiyonlar görülmetedir. Ayrıca Şeil 5.21 ile Şeil 5.27 arasında, tabloların ullanım alanlarına göre gruplandırılmış olara bulunan tablo yapıları ve oluşturulmuş ilişiler ile örne stored procedure ve fonsiyonlardan esitler yer almatadır.

74 Şeil 5.19 ADDM veritabanı tabloları (36 adet)