VERİ MADENCİLİĞİ ISE 302 Dr. Tuğrul TAŞCI
Sınıflandırma (Classification) Gözetimli Öğrenme (Supervised Learning) – Sınıflandırma Sınıf sayısı belirlidir. Gözetimsiz Öğrenme (Unsupervised Learning) – Kümeleme Sınıf sayısı belirsizdir. Sınıflandırma, belli değişkenler bakımından benzer özelliklere sahip verilerin önceden belirlenmiş sınıflara ayrılması sürecidir. Sınıflandırma Uygulama Adımları Modelin oluşturulması Modelin değerlendirilmesi Modelin tahmin amaçlı kullanılması
Sınıflandırma – Modelin Oluşturulması Sınıflandırma Algoritması Eğitim Seti Müşteri Alışveriş Zamanı Cinsiyet Harcama Miktarı 001 Az Erkek Düşük 002 Bayan Yüksek 003 Çok 004 005 Sınıflandırma Modeli Eğer Alışveriş Zamanı ÇOK veya Cinsiyet BAYAN ise Harcama Miktarı YÜKSEK olur
Sınıflandırma – Modelin Değerlendirilmesi Test Seti Müşteri Alışveriş Zamanı Cinsiyet Harcama Miktarı 006 Çok Erkek Düşük 007 Az Bayan Yüksek 008 009 010 Eğer Alışveriş Zamanı ÇOK veya Cinsiyet BAYAN ise Harcama Miktarı YÜKSEK olur Model Başarımı: 4/5=0,80
Sınıflandırma – Modelin Kullanılması Tahmin Seti Müşteri Alışveriş Zamanı Cinsiyet 011 Çok Erkek 012 Bayan 013 014 Az 015 Harcama Miktarı Yüksek Düşük Eğer Alışveriş Zamanı ÇOK veya Cinsiyet BAYAN ise Harcama Miktarı YÜKSEK
Sınıflandırma – Başarılı Model Özellikleri Hız Modeli oluşturmak için gerekli süre Sınıflandırma yapmak için gerekli süre Kararlılık Gürültülü & Eksik veri için de iyi sonuç vermesi Ölçeklenebilirlik Büyük miktarda veri ile çalışabilmesi Anlaşılabilirlik Kullanıcı tarafından yorumlanabilir olması
Sınıflandırma – Kullanım Alanları Kredi başvurusu değerlendirme Hastalık teşhisi Ses tanıma Karakter tanıma Metinleri konularına göre ayırma Kullanıcı davranışları belirleme Resim tanıma
Sınıflandırma Yöntemleri Bayes Tabanlı Snıflandırıcılar (Bayes Classifiers) Yapay Sinir Ağları (Artificial Neural Networks) İlişki Tabanlı Sınıflandırıcılar (Association-based Classifiers) k-En Yakın Komşu Yöntemi (k- Nearest Neighboor Method) Destek Vektör Makineleri (Support Vector Machines) Genetik Algoritmalar (Genetic Algorithms) Karar Ağaçları (Decision Trees)
k-En Yakın Komşu Yöntemi Bu teknikte yeni bir durum daha önce sınıflandırılmış, benzer en yakın komşuluktaki 𝑘 tane olaya bakılarak sınıflandırılır. Uzaklık ölçütü olarak genellikle Öklid uzaklıkları alınır. 𝑘 en yakın komşuluğundaki olayların ait olduğu sınıflar sayılır ve yeni durum sayısı fazla olan sınıfa dahil edilir. Bu yöntemin tercih edilme sebebi, sayısı bilinen veri kümeleri için hızlı ve verimli olmasıdır. Uygulama Aşamaları En yakın komşu sayısı 𝑘 değerini belirle Yeni bir değer ele al ve bütün değerler için bu değere uzaklıklarını hesapla Hesaplanan değerleri küçükten büyüğe sırala 𝑘. değere kadar olan değerler için sınıf değişkenini incele Maksimum frekanslı sınıfa yeni değeri ata
Manhattan Uzaklığı (𝑞=1) Veriler Arası Uzaklık Minkowski Uzaklığı 𝑑 𝑖,𝑗 = 𝑞 𝑘=1 𝑝 𝑥 𝑖,𝑘 − 𝑥 𝑗,𝑘 𝑞 Manhattan Uzaklığı (𝑞=1) 𝑑 𝑖,𝑗 = 𝑘=1 𝑝 𝑥 𝑖,𝑘 − 𝑥 𝑗,𝑘 Öklid Uzaklığı (𝑞=2) 𝑑 𝑖,𝑗 = 𝑘=1 𝑝 𝑥 𝑖,𝑘 − 𝑥 𝑗,𝑘 2
Diğer Uzaklık Ölçüleri Numerical Data Chessboard Distance Bray Curtis Distance Canberra Distance Cosine Distance Correlation Distance Binary Distance Time Warping Distance Boolean Data Hamming Distance Jaccard Dissimilarity Matching Dissimilarity Dice Dissimilarity String Data Edit Distance Damerau-Levenshtein Smith-Waterman Similarity Needleman-Wunsch Similarity Images & Colors Image Distance Color Distance http://reference.wolfram.com
Örnek – Öklid Uzaklığının Hesaplanması 1 2 3 0,00 dA dB dC 𝑥 1 2 4 3 6 𝑑 1,1 = ( 𝑥 1,1 − 𝑥 1,1 ) 2 + ( 𝑥 1,1 − 𝑥 1,1 ) 2 =0 𝑑 1,2 = ( 𝑥 1,1 − 𝑥 2,1 ) 2 + ( 𝑥 1,2 − 𝑥 2,2 ) 2 = (2−3) 2 + (4−6) 2 =2,23 𝑑 𝑖,𝑗 = 𝑘=1 𝑝 𝑥 𝑖,𝑘 − 𝑥 𝑗,𝑘 2 𝑑 2,1 = ( 𝑥 2,1 − 𝑥 1,1 ) 2 + ( 𝑥 2,2 − 𝑥 1,2 ) 2 = (3−2) 2 + (6−4) 2 =2,23
k-En Yakın Komşu Yöntemi (2,4) ile (8,4) noktaları arasındaki Öklid uzaklığının değeri 𝑑 1,1 = 2−8 2 + 4−4 2 =6,00 k-En Yakın Komşu Yöntemi 𝑑 𝑖,𝑗 = 𝑘=1 𝑝 𝑥 𝑖,𝑘 − 𝑥 𝑗,𝑘 2 x1 x2 Küme Uzaklık 3-En Yakın Komşu 2 4 A 6,00 3 6 5,39 5,00 10 B 7,21 5 8 2,24 1 7 9 5,10 3,16 11 4,24 2,83 8,60 Yeni nokta (8,4) için en yakın 3 komşu
Karar Ağaçları A1 > B1 A2 > B2 C = 0 C = 1 evet hayır Sınıflar Düğüm Noktaları Yukarıdan aşağıya doğru ters bir ağaç biçiminde akış diyagramları yardımıyla gösterilen sınıflama yöntemi Bütün karar ağaçları, bir öz nitelikten başlayarak, eğer gerek görülürse alt öz niteliklere bölünerek devam eden ve dalın sonunda sınıf değerine ulaşan yapıdadır. Karar ağacı algoritmalarında amaç ağaç dallarını budayarak, düğüm sayısını azaltarak daha hızlı ve etkin kurallara ulaşmaktır. Eğer A1>B1 ve A2>B2 ise C=1 ; Eğer A1>B1 ve A2<=B2 ise C=0 ; Eğer A1<=B1 ise C=0 ;
Karar Ağaçları Yapısı Öncelikle, veri setindeki sürekli değişken değerleri kesikli değerlere dönüştürülür. Ağaç bütün verinin oluşturduğu tek bir düğümle başlar. Eğer veri kayıtlarının tümü aynı sınıfa ait değil ise bu kayıtları en iyi şekilde sınıflandıracak olan öznitelik seçilir (???) Karar Ağaçları ile sınıflandırmada aşağıdaki durumlarda işlem sonlandırılır. Veri kayıtlarının hepsi aynı sınıfa aittir. Kayıtları sınıflandıracak öznitelik kalmamıştır. Kalan özniteliklerin değerini taşıyan kayıt yoktur.
Karar Ağaçları Karar ağaçlarından öncelikle ağaç oluşturulur. Ağaç, daha sonra aykırı değerler dikkate alınarak budanır. Bu budama sayesinde model güvenirliği arttırılır. Karar ağaçlarında en önemli problem özniteliklerin alt bir düğüm noktasında alt özniteliklere ayrılmasıdır. Bu durumda iyilik fonksiyonundan faydalanılır. Bilgi kazancı (Information Gain) – ID3 Kazanç Oranı (Gain Ratio) – C4.5 Gini Indeks – CART Karar ağaçları temelde iki alt grupta incelenebilir. Entropiye Dayalı Algoritmalar ID3 C4.5 Regresyon Ağaçları (CART) Twoig Gini
Entropi Temelli Algoritmalar Entropi belirsizliğin ölçütüdür. Eğer kayıtların tamamı aynı sınıfa ait ise entropi değeri «0» olur Eğer kayıtlar belirlenen sınıflar arasında eşit dağılmış ise entropi değeri «1» olur «0» ile «1» arasındaki entropi değerleri için kayıtların sınıflar arasında rastgele dağıldığı farz edilir. 𝐸𝑛𝑡 𝐴 =− 𝑖=1 𝑚 𝑝 𝑖 log 2 ( 𝑝 𝑖 ) 𝐸𝑛𝑡 𝐵 𝐴 = 𝑗=1 𝑣 𝐴 𝑗 𝐴 𝐸𝑛𝑡 𝐴 𝑗 𝐺𝑎𝑖𝑛=𝐸𝑛𝑡 𝐴 − 𝐸𝑛𝑡 𝐴 𝐵
Entropi’nin Hesaplanması 𝑅={+, +, ∗, ∗, ∗, ∗, ∗, ∗} veri seti için entropi hesabı yapalım. 2 tane + ve 6 tane ∗ var. Normalleştirirsek + için 0,25 (2/8) ve ∗ için 0,75 (6/8) bulunur. Entropi hesabı aşağıdaki gibidir. 𝐸𝑛𝑡 𝑅 =𝐼 2,6 =− 2 8 log 2 ( 2 8 ) − 6 8 log 2 6 8 =0,81128
Entropi’nin Hesaplanması ID Yaş Gelir Kredi Puanı PC Alma 1 Genç Yüksek Orta Hayır 2 İyi 3 Orta Yaşlı Evet 4 Yaşlı 5 Düşük 6 7 8 9 10 11 12 13 14 Entropi’nin Hesaplanması 𝐸𝑛𝑡 𝐴 =𝐼 9,5 =− 9 14 log 2 ( 9 14 ) − 5 14 log 2 5 14 =0,940 𝐸𝑛𝑡 𝑌𝑎ş 𝐴 = 5 14 𝐼 2,3 + 4 14 𝐼 4,0 + 5 14 𝐼 3,2 =0,694 𝐺𝑎𝑖𝑛=𝐸𝑛𝑡 𝐴 − 𝐸𝑛𝑡 𝑌𝑎ş 𝐵 =0,246 𝐺𝑎𝑖𝑛=𝐸𝑛𝑡 𝐴 − 𝐸𝑛𝑡 𝐺𝑒𝑙𝑖𝑟 𝐵 =0,029 𝐺𝑎𝑖𝑛=𝐸𝑛𝑡 𝐴 − 𝐸𝑛𝑡 𝐾𝑟𝑒𝑑𝑖 𝑃𝑢𝑎𝑛𝚤 𝐵 =0,048
Entropi’ye Dayalı Algoritmalar ID3 ID3 algoritmasında karar ağaçları alt dallara bölünürken entropi değerleri incelenerek en az kayıp olan bölünme dikkate alınır. Kesikli değerler ile çalışır. C4.5 ID3 algoritmasının bir uzantısıdır. ID3 te bilgi kazanımı dikkate alınırken, C4.5 algoritmasında kazanım oranı ölçütü ile kuralların iyiliği sorgulanır. Temelde kesikli değerler ile çalışmasına rağmen sürekli değerler de çalışabilir.
Öğrenci Mezuniyet Not Ort. Cinsiyet Tecrübe Memnuniyet 1 İşletme Yüksek E Var Hayır 2 Yok 3 Endüstri Evet 4 YBS Orta 5 Düşük B 6 7 8 9 10 11 12 13 14 ID3 Algoritması Örnek Yandaki veri setinde, not ortalamaları, cinsiyet bilgileri ve tecrübe durumları bilinen farklı bölümlerden mezun çalışanlar için işverenlerin memnuniyet beyanları verilmiştir. ID3 algoritması kullanarak karar ağacını çıkaralım.
Entopi Hesaplamaya Yardımcı Tablolar Genel Memnun Kalınan Memnun Kalınmayan Toplam 9 5 14 Entopi Hesaplamaya Yardımcı Tablolar Mezuniyet Memnun Kalınan Memnun Kalınmayan Toplam İşletme 2 3 5 Endüstri 4 YBS Tecrübe Memnun Kalınan Memnun Kalınmayan Toplam Var 6 2 8 Yok 3 Not Ortalaması Memnun Kalınan Memnun Kalınmayan Toplam Düşük 3 1 4 Orta 2 6 Yüksek Cinsiyet Memnun Kalınan Memnun Kalınmayan Toplam Bayan 6 1 7 Erkek 3 4
ID3 Algoritması – Mezuniyetin Kazancı 𝐸𝑛𝑡 𝐺𝑒𝑛𝑒𝑙 =𝐼 9,5 =− 9 14 log 2 ( 9 14 ) − 5 14 log 2 5 14 =0,940 𝐸𝑛𝑡 𝑀𝑒𝑧𝑢𝑛 𝐺𝑒𝑛𝑒𝑙 = 5 14 𝐸𝑛𝑡 𝐼Ş𝐿 + 4 14 𝐸𝑛𝑡 𝐸𝑁𝐷 + 5 14 𝐸𝑛𝑡 𝑌𝐵𝑆 𝐸𝑛𝑡 𝑀𝑒𝑧𝑢𝑛|𝐼Ş𝐿 =− 2 5 log 2 ( 2 5 ) − 3 5 log 2 3 5 =0,971 𝐸𝑛𝑡 𝑀𝑒𝑧𝑢𝑛|𝐸𝑁𝐷 =− 4 4 log 2 ( 4 4 ) − 0 4 log 2 0 4 =0 𝐸𝑛𝑡 𝑀𝑒𝑧𝑢𝑛|𝑌𝐵𝑆 =− 3 5 log 2 ( 3 5 ) − 2 5 log 2 2 5 =0,971 𝐸𝑛𝑡 𝑀𝑒𝑧𝑢𝑛 𝐺𝑒𝑛𝑒𝑙 = 5 14 0,971+ 4 14 0+ 5 14 0,971=0,694 𝐺𝑎𝑖𝑛 =𝐸𝑛𝑡 𝐺𝑒𝑛𝑒𝑙 − 𝐸𝑛𝑡 𝑀𝑒𝑧𝑢𝑛 𝐺𝑒𝑛𝑒𝑙 =0,940−0,694=0,247
ID3 Algoritması – Not Ortalamasının Kazancı 𝐸𝑛𝑡 𝐺𝑒𝑛𝑒𝑙 =𝐼 9,5 =− 9 14 log 2 ( 9 14 ) − 5 14 log 2 5 14 =0,940 𝐸𝑛𝑡 𝑁𝑜𝑡 𝐺𝑒𝑛𝑒𝑙 = 4 14 𝐸𝑛𝑡 𝐷 + 6 14 𝐸𝑛𝑡 𝑂 + 4 14 𝐸𝑛𝑡 𝑌 𝐸𝑛𝑡 𝑁𝑜𝑡|𝐷üşü𝑘 =− 3 4 log 2 ( 3 4 ) − 1 4 log 2 1 4 =0,811 𝐸𝑛𝑡 𝑁𝑜𝑡|𝑂𝑟𝑡𝑎 =− 4 6 log 2 ( 4 6 ) − 2 6 log 2 2 4 =0 ,918 𝐸𝑛𝑡 𝑁𝑜𝑡|𝑌ü𝑘𝑠𝑒𝑘 =− 2 4 log 2 ( 2 4 ) − 2 4 log 2 2 4 =1,00 𝐸𝑛𝑡 𝑁𝑜𝑡 𝐺𝑒𝑛𝑒𝑙 = 4 14 0,811+ 6 14 0,918+ 4 14 1,00 =0,911 𝐺𝑎𝑖𝑛=𝐸𝑛𝑡 𝐺𝑒𝑛𝑒𝑙 − 𝐸𝑛𝑡 𝑁𝑜𝑡 𝐺𝑒𝑛𝑒𝑙 =0,940−0,911=0,029
ID3 Algoritması – Cinsiyetin Kazancı 𝐸𝑛𝑡 𝐺𝑒𝑛𝑒𝑙 =𝐼 9,5 =− 9 14 log 2 ( 9 14 ) − 5 14 log 2 5 14 =0,940 𝐸𝑛𝑡 𝐶𝑖𝑛𝑠𝑖𝑦𝑒𝑡 𝐺𝑒𝑛𝑒𝑙 = 7 14 𝐸𝑛𝑡 𝐸 + 7 14 𝐸𝑛𝑡 𝐵 𝐸𝑛𝑡 𝐶𝑖𝑛𝑠𝑖𝑦𝑒𝑡|𝐸𝑟𝑘𝑒𝑘 =− 3 7 log 2 ( 3 7 ) − 4 7 log 2 4 7 =0,985 𝐸𝑛𝑡 𝐶𝑖𝑛𝑠𝑖𝑦𝑒𝑡|𝐵𝑎𝑦𝑎𝑛 =− 6 7 log 2 ( 6 7 ) − 1 7 log 2 1 7 =0 ,592 𝐸𝑛𝑡 𝐶𝑖𝑛𝑠𝑖𝑦𝑒𝑡 𝐺𝑒𝑛𝑒𝑙 = 7 14 0,985+ 7 14 0,592=0,789 𝐺𝑎𝑖𝑛 =𝐸𝑛𝑡 𝐺𝑒𝑛𝑒𝑙 − 𝐸𝑛𝑡 𝐶𝑖𝑛𝑠𝑖𝑦𝑒𝑡 𝐺𝑒𝑛𝑒𝑙 =0,940−0,789=0,151
ID3 Algoritması – Tecrübenin Kazancı 𝐸𝑛𝑡 𝐺𝑒𝑛𝑒𝑙 =𝐼 9,5 =− 9 14 log 2 ( 9 14 ) − 5 14 log 2 5 14 =0,940 𝐸𝑛𝑡 𝑇𝑒𝑐𝑟ü𝑏𝑒 𝐺𝑒𝑛𝑒𝑙 = 8 14 𝐸𝑛𝑡 𝑉 + 6 14 𝐸𝑛𝑡 𝑌 𝐸𝑛𝑡 𝑇𝑒𝑐𝑟ü𝑏𝑒|𝑉𝑎𝑟 =− 6 8 log 2 ( 6 8 ) − 2 8 log 2 2 8 =0,811 𝐸𝑛𝑡 𝑇𝑒𝑐𝑟ü𝑏𝑒|𝑌𝑜𝑘 =− 3 6 log 2 ( 3 6 ) − 3 6 log 2 3 6 =1,00 𝐸𝑛𝑡 𝑇𝑒𝑐𝑟ü𝑏𝑒 𝐺𝑒𝑛𝑒𝑙 = 6 14 0,811+ 8 14 1,00=0,892 𝐺𝑎𝑖𝑛 =𝐸𝑛𝑡 𝐺𝑒𝑛𝑒𝑙 − 𝐸𝑛𝑡 𝑇𝑒𝑐𝑟ü𝑏𝑒 𝐺𝑒𝑛𝑒𝑙 =0,940−0,892=0,048
ID3 Algoritması – Örnek Mezuniyet 0,247 Cinsiyet 0,151 Tecrübe 0,048 Not Ortalaması 0,029 Bütün değişkenler için kazanım değerleri yandaki gibi elde edilmiştir. Mezuniyet değişkeni en yüksek kazanç değerini sağladığından karar ağacının ilk düğümü mezuniyet olacaktır. Alt düğümlerin tespiti için algoritma işletilmeye devam edilecektir.
ID3 Algoritması – Örnek Mezuniyet İşletme ??? Endüstri Evet YBS Karar ağacından da anlaşılacağı üzere İşletme ve YBS altında tekrar dallanma olmalıdır.
ID3 Algoritması – Örnek İşletme bölümü kazanç değerleri YBS bölümü kazanç değerleri Karar Ağacı Değerlendirme Cinsiyet 0,970 Not Ortalaması 0,570 Tecrübe 0,019 Tecrübe 0,970 Not Ortalaması 0,019 Kazanç değerleri incelendiğinde İşletme düğümünün Cinsiyet ile, YBS düğümünün ise Tecrübe ile dallandığı görülecektir.
ID3 Algoritması – Örnek Mezuniyet İşletme Erkek Hayır Bayan Evet Endüstri YBS Var Yok Elde edilen karar ağacından anlaşılacağı üzere dallanmanın tamamlandığı 5 yaprak (nihai karar) mevcuttur. Bu durumda 5 farklı kural yazılabilir. Eğer 𝑀𝑒𝑧𝑢𝑛𝑖𝑦𝑒𝑡=İş𝑙𝑒𝑡𝑚𝑒 ve 𝐶𝑖𝑛𝑠𝑖𝑦𝑒𝑡 =𝐸𝑟𝑘𝑒𝑘 ise çalışandan memnun kalınmamaktadır. Eğer 𝑀𝑒𝑧𝑢𝑛𝑖𝑦𝑒𝑡=İş𝑙𝑒𝑡𝑚𝑒 ve 𝐶𝑖𝑛𝑠𝑖𝑦𝑒𝑡 =𝐵𝑎𝑦𝑎𝑛 ise çalışandan memnun kalınmaktadır. Eğer 𝑀𝑒𝑧𝑢𝑛𝑖𝑦𝑒𝑡=𝐸𝑛𝑑ü𝑠𝑡𝑟𝑖 ise çalışandan memnun kalınmaktadır. Eğer 𝑀𝑒𝑧𝑢𝑛𝑖𝑦𝑒𝑡=𝑌𝐵𝑆 ve 𝑇𝑒𝑐𝑟ü𝑏𝑒=𝑉𝑎𝑟 ise çalışandan memnun kalınmaktadır. Eğer 𝑀𝑒𝑧𝑢𝑛𝑖𝑦𝑒𝑡=𝑌𝐵𝑆 ve 𝑇𝑒𝑐𝑟ü𝑏𝑒=𝑌𝑜𝑘 ise çalışandan memnun kalınmamaktadır.