Veri Madencilii Snflandrma Temel Tanmlar Karar Aalar ve

  • Slides: 44
Download presentation
Veri Madenciliği Sınıflandırma: Temel Tanımlar, Karar Ağaçları ve Model Değerlendirmesi Bölüm 4 için Ders

Veri Madenciliği Sınıflandırma: Temel Tanımlar, Karar Ağaçları ve Model Değerlendirmesi Bölüm 4 için Ders Notları Introduction to Data Mining by Tan, Steinbach, Kumar, Çeviren Yrd. Doç. Dr. Mete Çelik © Tan, Steinbach, Kumar Introduction to Data Mining 4/18/2004 1

Sınıflandırma: Tanım l Bir kayıt kolleksiyonu verilsin (eğitim kümesi) – Herbir kayıt parametreler grubu

Sınıflandırma: Tanım l Bir kayıt kolleksiyonu verilsin (eğitim kümesi) – Herbir kayıt parametreler grubu (x, y) ile karakterize edilir. Buradaki x özellik kümesidir ve y ise sınıf etiketidir. x: özellik, kestirici, bağımsız değişken, giriş u y: etiket, cevap, bağımlı değişken, çıkış u l Görev: – Herbir özellik kümesi x’i, daha önceden tanımlanmış sınıf etiketi y’den birine eşleştiren bir modeli öğren. © Tan, Steinbach, Kumar Introduction to Data Mining 8/05/2005 2

Sınıflandırma Görevi Örnekleri Görev Özellik kümesi, x Sınıf etiketi, y E-posta mesajlarını kategorilere ayırmak

Sınıflandırma Görevi Örnekleri Görev Özellik kümesi, x Sınıf etiketi, y E-posta mesajlarını kategorilere ayırmak Tümör hücrelerini belirleme Eposta üstbilgisinden veya içeriginden çıkarılan özellikler İstenmeyen e-posta (spam) veya değil ( non-spam) MRI görüntülerinden çıkarılan özellikler Kötü huylu veya iyi huylu hücreler Galaksileri kataloglama Teleskop resimlerinden çıkarılan özellikler Oval, spiral, or düzensiz-şekilli galaksiler © Tan, Steinbach, Kumar Introduction to Data Mining 8/05/2005 3

Sınıflandırma Modelinin Oluşturulması için Genel Yaklaşım © Tan, Steinbach, Kumar Introduction to Data Mining

Sınıflandırma Modelinin Oluşturulması için Genel Yaklaşım © Tan, Steinbach, Kumar Introduction to Data Mining 8/05/2005 4

Sınıflandırma Teknikleri l Temel Sınıflandırıcılar – Karar Ağacı tabanlı Yöntemler – Kural-tabanlı Yöntemler –

Sınıflandırma Teknikleri l Temel Sınıflandırıcılar – Karar Ağacı tabanlı Yöntemler – Kural-tabanlı Yöntemler – En yakın komşu – Sinir Ağları – Naïve Bayesian Belief Ağları – Destek Vektör Makineleri l Topluluk Sınıflandırıcıları (Ensemble Classifiers) – Hızlandırma, Çuvallama, Rastgele Ağaçlar (Boosting, Bagging, Random Forests) © Tan, Steinbach, Kumar Introduction to Data Mining 8/05/2005 5

Bir Karar Ağacı Örneği ik e r go t ka ik r go e

Bir Karar Ağacı Örneği ik e r go t ka ik r go e t ka i sü r l ek ıf n sı Ayrılan Özellikler Yes Home Owner NO No Mar. St Single, Divorced Income < 80 K NO NO > 80 K YES Model: Karar Ağacı Eğitim Verisi © Tan, Steinbach, Kumar Married Introduction to Data Mining 8/05/2005 6

Başka Bir Karar Ağacı Örneği ik e r go t ka ik t ka

Başka Bir Karar Ağacı Örneği ik e r go t ka ik t ka e r go i sü r l ek ıf n sı Married Mar. St NO Yes Single, Divorced Home Owner No NO Income < 80 K > 80 K NO YES Aynı veriye uyan birden fazla ağaç olabilir. © Tan, Steinbach, Kumar Introduction to Data Mining 8/05/2005 7

Karar Ağacı Sınıflandırma Görevi Decision Tree © Tan, Steinbach, Kumar Introduction to Data Mining

Karar Ağacı Sınıflandırma Görevi Decision Tree © Tan, Steinbach, Kumar Introduction to Data Mining 8/05/2005 8

Modelin Test Verisine Uygulanması Test Verisi Kökten başla Home Owner Yes NO No Mar.

Modelin Test Verisine Uygulanması Test Verisi Kökten başla Home Owner Yes NO No Mar. St Single, Divorced Income < 80 K NO © Tan, Steinbach, Kumar Married NO > 80 K YES Introduction to Data Mining 8/05/2005 9

Modelin Test Verisine Uygulanması Test Verisi Home Owner Yes NO No Mar. St Single,

Modelin Test Verisine Uygulanması Test Verisi Home Owner Yes NO No Mar. St Single, Divorced Income < 80 K NO © Tan, Steinbach, Kumar Married NO > 80 K YES Introduction to Data Mining 8/05/2005 10

Modelin Test Verisine Uygulanması Test Verisi Home Owner Yes NO No Mar. St Single,

Modelin Test Verisine Uygulanması Test Verisi Home Owner Yes NO No Mar. St Single, Divorced Income < 80 K NO © Tan, Steinbach, Kumar Married NO > 80 K YES Introduction to Data Mining 8/05/2005 11

Modelin Test Verisine Uygulanması Test Verisi Home Owner Yes NO No Mar. St Single,

Modelin Test Verisine Uygulanması Test Verisi Home Owner Yes NO No Mar. St Single, Divorced Income < 80 K NO © Tan, Steinbach, Kumar Married NO > 80 K YES Introduction to Data Mining 8/05/2005 12

Modelin Test Verisine Uygulanması Test Verisi Home Owner Yes NO No Mar. St Single,

Modelin Test Verisine Uygulanması Test Verisi Home Owner Yes NO No Mar. St Single, Divorced Income < 80 K NO © Tan, Steinbach, Kumar Married NO > 80 K YES Introduction to Data Mining 8/05/2005 13

Modelin Test Verisine Uygulanması Test Verisi Home Owner Yes NO No Mar. St Single,

Modelin Test Verisine Uygulanması Test Verisi Home Owner Yes NO No Mar. St Single, Divorced Income < 80 K NO © Tan, Steinbach, Kumar Married Atanan değer “No” NO > 80 K YES Introduction to Data Mining 8/05/2005 14

Karar Ağacı Sınıflandırma Görevi Decision Tree © Tan, Steinbach, Kumar Introduction to Data Mining

Karar Ağacı Sınıflandırma Görevi Decision Tree © Tan, Steinbach, Kumar Introduction to Data Mining 8/05/2005 15

Karar Ağacı Algoritmaları l Çok Sayıda Algoritma : – Hunt Algorithması (ilk algoritmalardan) –

Karar Ağacı Algoritmaları l Çok Sayıda Algoritma : – Hunt Algorithması (ilk algoritmalardan) – CART – ID 3, C 4. 5 – SLIQ, SPRINT © Tan, Steinbach, Kumar Introduction to Data Mining 8/05/2005 16

Karar Ağaçları Algoritmalarının Tasarım Meseleleri l Eğitim verilerinin nasıl ayrılması gerekir? – Test durumunu

Karar Ağaçları Algoritmalarının Tasarım Meseleleri l Eğitim verilerinin nasıl ayrılması gerekir? – Test durumunu belirlemek için bir metot belirle u özellik tiplerine bağlı olabilir – Bir test durumunun iyiliğini değerlendirmek için ölçme yap l Bölünme işleminin nasıl durması gerekir? – Bütün kayıtlar aynı sınıfa ait olunca veya benzer özellik değerlerine sahip olunca dur. – Erken durdurma © Tan, Steinbach, Kumar Introduction to Data Mining 8/05/2005 17

Test Durumlarını İfade Eden Metotlar l Özellik tipine bağlı – İkili – Nominal –

Test Durumlarını İfade Eden Metotlar l Özellik tipine bağlı – İkili – Nominal – Ordinal – Sürekli l Bölünme sayısına bağlı – 2 -yönlü ayırma – Çok-yönlü ayırma © Tan, Steinbach, Kumar Introduction to Data Mining 8/05/2005 18

Nominal Değerler için Test Durumları l Çok-yölü bölünme: – Ayrık değerler olarak çok sayıda

Nominal Değerler için Test Durumları l Çok-yölü bölünme: – Ayrık değerler olarak çok sayıda bölme kullanılır. l İkili bölünnme – Değerleri iki altkümeye ayırır – Optimal bölümlemeyi bulmak gerekir. © Tan, Steinbach, Kumar Introduction to Data Mining 8/05/2005 19

Ornidal Değerler için Test Durumları l Çok-yönlü bölünme: – Ayrık değerler olarak çok sayıda

Ornidal Değerler için Test Durumları l Çok-yönlü bölünme: – Ayrık değerler olarak çok sayıda bölme kullanılır. l İkili bölünme: – Değerleri iki altkümeye ayırır – Optimal bölümlemeyi bulmak gerekir. – Özellik değerleri arasındaki sıralamayı koru © Tan, Steinbach, Kumar Introduction to Data Mining Bu gruplama sırayı bozar 8/05/2005 20

Sürekli Değerler için Test Durumları © Tan, Steinbach, Kumar Introduction to Data Mining 8/05/2005

Sürekli Değerler için Test Durumları © Tan, Steinbach, Kumar Introduction to Data Mining 8/05/2005 21

Sürekli Özelliklere Dayanarak Bölünme l Farklı yolları vardır – Ordinal kategorik özellik oluşturmak için

Sürekli Özelliklere Dayanarak Bölünme l Farklı yolları vardır – Ordinal kategorik özellik oluşturmak için ayrıklaştırma Statik – en başkta birkez ayrıklaştırma u Dinamik – aralıklar eşit aralık veya eşit frekans veya kümeleme yolu ile bulunabilir. u – İkili Karar: (A < v) or (A v) bütün muhtemel ayrımları hesaba kat ve en iyi kesimi bul u hesaplama maliyeti yüksek olabilir u © Tan, Steinbach, Kumar Introduction to Data Mining 8/05/2005 22

En İyi Bölünme Nasıl Belirlenir Bölünmeden önce: Sınıf 0’da 10 kayıt, Sınıf 1’de 10

En İyi Bölünme Nasıl Belirlenir Bölünmeden önce: Sınıf 0’da 10 kayıt, Sınıf 1’de 10 kayıt En iyi test durumu hangisidir? © Tan, Steinbach, Kumar Introduction to Data Mining 8/05/2005 23

En İyi Bölünme Nasıl Belirlenir l Aç gözlü yaklaşım: – En saf sınıf dağılımına

En İyi Bölünme Nasıl Belirlenir l Aç gözlü yaklaşım: – En saf sınıf dağılımına sahip düşümler tercih edilir l Düğüm safsızlığının ölçümü için bir ölçüt gerekir: Yüksek safsızlık derecesi © Tan, Steinbach, Kumar Introduction to Data Mining Düşük safsızlık derecessi 8/05/2005 24

Düğüm Safsızlığının Ölçüleri l Gini Indeks l Entropi l Yanlış Sınıflandırma Hatası © Tan,

Düğüm Safsızlığının Ölçüleri l Gini Indeks l Entropi l Yanlış Sınıflandırma Hatası © Tan, Steinbach, Kumar Introduction to Data Mining 8/05/2005 25

En İyi Bölünmenin Bulunması 1. 2. Bölünmeden önce safsızlık ölçüsünü (P) hesapla Bölünmeden sonra

En İyi Bölünmenin Bulunması 1. 2. Bölünmeden önce safsızlık ölçüsünü (P) hesapla Bölünmeden sonra safsızlık ölçüsünü (M) hesapla l l 3. Herbir çocuk düğüm için safsızlık ölçüsünü hesapla Çocukların ortalama safsızlığını hesapla (M) En yüksek kazancı üreten özellik test durumunu Kazanç= P – M seç veya aynı mantıkla, bölünmeden sonra en düşük safsızlık ölçüsünü seç (M). © Tan, Steinbach, Kumar Introduction to Data Mining 8/05/2005 26

En İyi Bölünmenin Bulunması Bölünmeden önce: P A? Yes Düğüm N 1 B? No

En İyi Bölünmenin Bulunması Bölünmeden önce: P A? Yes Düğüm N 1 B? No Yes Düğüm N 2 Düğüm N 3 M 12 M 11 Düğüm N 4 M 21 M 22 M 2 Kazanç= P – M 1 © Tan, Steinbach, Kumar No Introduction to Data Mining vs P – M 2 8/05/2005 27

Safsızlığın Ölçüsü : : GINI l Verilen t düğümü için Gini indeks : (NOT:

Safsızlığın Ölçüsü : : GINI l Verilen t düğümü için Gini indeks : (NOT: p( j | t) t düğümündeki j sınıfının bağıl frekansıdır. ). – Eğer kayıtlar bütün sınıflar arasında eşit olarak dağıtıldıysa maksimum (1 - 1/nc ). Yani en az ilginç bilgi. – Bütün kayıtlar tek sınıfa ait olduğune minimum (0. 0) olur. Yani en ilginç bilgi. © Tan, Steinbach, Kumar Introduction to Data Mining 8/05/2005 28

Tek Bir Düğümün Gini Indeksinin Hesaplanması P(C 1) = 0/6 = 0 P(C 2)

Tek Bir Düğümün Gini Indeksinin Hesaplanması P(C 1) = 0/6 = 0 P(C 2) = 6/6 = 1 Gini = 1 – P(C 1)2 – P(C 2)2 = 1 – 0 – 1 = 0 P(C 1) = 1/6 P(C 2) = 5/6 Gini = 1 – (1/6)2 – (5/6)2 = 0. 278 P(C 1) = 2/6 P(C 2) = 4/6 Gini = 1 – (2/6)2 – (4/6)2 = 0. 444 © Tan, Steinbach, Kumar Introduction to Data Mining 8/05/2005 29

Birden Fazla Düğüm için Gini Indeksinin Hesaplanması l Eğer p düğümü k bölüme (çocuğa)

Birden Fazla Düğüm için Gini Indeksinin Hesaplanması l Eğer p düğümü k bölüme (çocuğa) ayırılısa ni = i çocuğundaki kayıt sayısı, n = p düğümündkei kayıt sayısı. l l Çocukların ağırlıklı ortalama Gini indeksini minimize eden özelliği seç Gini indeks CART, SLIQ, SPRINT gibi karar ağacı algoritmalarında kullanılır © Tan, Steinbach, Kumar Introduction to Data Mining 8/05/2005 30

İkili Özellikler: GINI Indeksini Hesaplanması l l İki bölmeye ayrılırlar Ağırlıklı bölünmenin etkisi: –

İkili Özellikler: GINI Indeksini Hesaplanması l l İki bölmeye ayrılırlar Ağırlıklı bölünmenin etkisi: – En büyük ve en saf bölünmeler aranıyor. B? Yes Gini(N 1) = 1 – (5/6)2 – (1/6)2 = 0. 278 Düğüm N 1 No Düğüm N 2 Gini(Çocuklar) = 6/12 * 0. 278 + 6/12 * 0. 444 = 0. 361 Gini(N 2) = 1 – (2/6)2 – (4/6)2 = 0. 444 © Tan, Steinbach, Kumar Introduction to Data Mining 8/05/2005 31

Categorical Özellikler: Gini Indeksin Hesaplanması l l Herbir farklı değer için, herbir sınıftaki sayılarını

Categorical Özellikler: Gini Indeksin Hesaplanması l l Herbir farklı değer için, herbir sınıftaki sayılarını bul Karar vermek için sayım matrisini kullan Çok-Yönlü Bölünme © Tan, Steinbach, Kumar Two-way split (find best partition of values) Introduction to Data Mining 8/05/2005 32

Sürekli Özellikler: Gini Indeksin Hesaplanması l l Bir değere bağlı olarak İkili kararları kullan

Sürekli Özellikler: Gini Indeksin Hesaplanması l l Bir değere bağlı olarak İkili kararları kullan Bölünme değeri için birden fazla tercih – Muhtemel bölünme değeri sayısı = Farklı değer sayısı Herbir bölünme değeri için kendisi ile ilişkili bir sayım matrisi vardır – Herbir bölünme için sınıf sayıları, A < v ve A v En basit yöntem en iyi v’yi bulmak – Herbir v için Gini indeksini hesaplamak ve sayım matrisini oluşturmak için veritabanını tara – Hesaplama maliyeti yüksek. © Tan, Steinbach, Kumar Introduction to Data Mining 8/05/2005 33

Sürekli Özellikler: Gini Indeksin Hesaplanması l Etkili hesaplama için; herbir özellik için, – Özellikleri

Sürekli Özellikler: Gini Indeksin Hesaplanması l Etkili hesaplama için; herbir özellik için, – Özellikleri sırala – Bu değerleri lineer olarak tara, her seferinde sayım matrisin güncelle ve gini indeksi hesapla – En düşük gini indeksi olan bölünme pozisyonunu seç Sıralı değerler Bölünme pozisyonları © Tan, Steinbach, Kumar Introduction to Data Mining 8/05/2005 34

Safsızlığın Ölçümü : Entropi l Verilen t düşümündeki Entropi: (NOT: p( j | t)

Safsızlığın Ölçümü : Entropi l Verilen t düşümündeki Entropi: (NOT: p( j | t) t düğümündeki j sınıfının bağıl frekansıdır. ). u. Eğer kayıtlar bütün sınıflar arasında eşit olarak dağıtıldıysa maksimum (log nc ). Yani en az ilginç bilgi. u. Bütün kayıtlar tek sınıfa ait olduğune minimum (0. 0) olur. Yanı en ilginç bilgi. – Entropy tabanlı hesaplamalar GINI indekisi hesaplamalarına benzerdir © Tan, Steinbach, Kumar Introduction to Data Mining 8/05/2005 35

Bir Düğümün Entropisinin Hesaplanması P(C 1) = 0/6 = 0 P(C 2) = 6/6

Bir Düğümün Entropisinin Hesaplanması P(C 1) = 0/6 = 0 P(C 2) = 6/6 = 1 Entropi = – 0 log 0 – 1 log 1 = – 0 = 0 P(C 1) = 1/6 P(C 2) = 5/6 Entropi = – (1/6) log 2 (1/6) – (5/6) log 2 (1/6) = 0. 65 P(C 1) = 2/6 P(C 2) = 4/6 Entropi = – (2/6) log 2 (2/6) – (4/6) log 2 (4/6) = 0. 92 © Tan, Steinbach, Kumar Introduction to Data Mining 8/05/2005 36

Bölünmeden Sonra Bilgi Kazancının Hesaplanması l Bilgi Kazancı: Ana düğüm p, k bölüme ayrılıyor;

Bölünmeden Sonra Bilgi Kazancının Hesaplanması l Bilgi Kazancı: Ana düğüm p, k bölüme ayrılıyor; ni i bölümündeki kayıt sayısı – En fazla indirgeme sağlayan bölünmeyi seç (GAIN’i maksimize eden) – ID 3 ve C 4. 5’de kullanılır. © Tan, Steinbach, Kumar Introduction to Data Mining 8/05/2005 37

Bilgi Kazancının Problemleri l Bilgi Kazancı saf ve küçük parçalardan oluşan çok sayıda bölünmeli

Bilgi Kazancının Problemleri l Bilgi Kazancı saf ve küçük parçalardan oluşan çok sayıda bölünmeli ayrıma meyillidir. – Customer ID en yüksek bilgi kazancına sahiptir çünkü heribr çocuk için entropi sıfırdır. © Tan, Steinbach, Kumar Introduction to Data Mining 8/05/2005 38

Kazanç Oranı (Gain Ratio) l Kazanç Oranı: Ana düğüm p, k bölüme ayrılıyor; ni

Kazanç Oranı (Gain Ratio) l Kazanç Oranı: Ana düğüm p, k bölüme ayrılıyor; ni i bölümündeki kayıt sayısı – Bölümlemenin entropisi olarak (Split. INFO) Bilgi Kazancını ayarla. u En yüksek entropi bölümleme cezalandırılır – C 4. 5’te kullanılır – Bilgi Kazancının dezavantajını ortadan kaldırmak için tasarlanmıştır. © Tan, Steinbach, Kumar Introduction to Data Mining 8/05/2005 39

Safsızlık Ölçüsü : Sınflandırma Hatası l t düğümündeki sınıflandırma hatası: – Eğer kayıtlar bütün

Safsızlık Ölçüsü : Sınflandırma Hatası l t düğümündeki sınıflandırma hatası: – Eğer kayıtlar bütün sınıflar arasında eşit olarak dağıtıldıysa maksimum (1 - 1/nc. Yani en az ilginç bilgi. – Bütün kayıtlar tek sınıfa ait olduğune minimum (0) olur. Yanı en ilginç bilgi. © Tan, Steinbach, Kumar Introduction to Data Mining 8/05/2005 40

Tek Düğümüm Hatasınn Hesaplanması P(C 1) = 0/6 = 0 P(C 2) = 6/6

Tek Düğümüm Hatasınn Hesaplanması P(C 1) = 0/6 = 0 P(C 2) = 6/6 = 1 Hata = 1 – max (0, 1) = 1 – 1 = 0 P(C 1) = 1/6 P(C 2) = 5/6 Hata = 1 – max (1/6, 5/6) = 1 – 5/6 = 1/6 P(C 1) = 2/6 P(C 2) = 4/6 Hata= 1 – max (2/6, 4/6) = 1 – 4/6 = 1/3 © Tan, Steinbach, Kumar Introduction to Data Mining 8/05/2005 41

Safsızlık Ölülerinin Karşılaştırması 2 -sınıf problemi için: © Tan, Steinbach, Kumar Introduction to Data

Safsızlık Ölülerinin Karşılaştırması 2 -sınıf problemi için: © Tan, Steinbach, Kumar Introduction to Data Mining 8/05/2005 42

Yanlış Sınıflandırma Hatasına karşılık Gini Indeks A? Yes Düğüm N 1 No Düğüm N

Yanlış Sınıflandırma Hatasına karşılık Gini Indeks A? Yes Düğüm N 1 No Düğüm N 2 Gini(N 1) = 1 – (3/3)2 – (0/3)2 =0 Gini(Çocuklar) = 3/10 * 0 + 7/10 * 0. 489 = 0. 342 Gini(N 2) = 1 – (4/7)2 – (3/7)2 = 0. 489 © Tan, Steinbach, Kumar Gini daha iyi olur ancak hata aynı kalır!! Introduction to Data Mining 8/05/2005 43

Karar Ağacı Tabanlı Sınıflandırma l Avantajları: – Kurulumları maliyetli değil – Bilinmeyen kayıtları sınıflandırmada

Karar Ağacı Tabanlı Sınıflandırma l Avantajları: – Kurulumları maliyetli değil – Bilinmeyen kayıtları sınıflandırmada oldukça hızlıdır – Küçük-boyutlu ağaçları için yorumu kolay – Çoğu basit veri kümesi için doğruluğu diğer yöntemlere göre daha iyi olabilir. © Tan, Steinbach, Kumar Introduction to Data Mining 8/05/2005 44