Veri Madenciliği 1 – Veri Madenciliğine Giriş 101

Motivasyon: “Necessity is the Mother of Invention”

Otomatize edilmiş veri toplama araçları ve “olgunlaşmış” veri tabanları; veri tabanlarında, veri ambarlarında ve diğer bilgi depolama alanlarında depolanmış durumda olan çok büyük miktarda veriye sebep oldu. Özellikle dijital medyada kaydedilen ve saklanan verinin boyutu olağan üstü bir şekilde arttı ve git gide de artıyor. Yılda 2 exabite(10^18)’ın üzerinde veri üretiyoruz. Sabit bir fiyattan depolama kapasitesi her 9 ayda bir ikiye katlanıyor. Verinin içinde boğuluyoruz ama bilgi (knowledge) için can atıyoruz.

W.H. Auden’in dediği gibi:

“The greatest problem of today is how to teach people to ignore the irrelevant, how to refuse to know things, before they are suffocated. For too many facts are as bad as none at all.”

Çözüm ise veri ambarı (data warehousing) ve veri madenciliği (data mining).

 1                                                    2

Bazı Büyük Veri (Big Data) Örnekleri

Avrupa’da Very Long Baseline Interferomerty (VLBI) olarak adlandırılan ve radyo astronomide kullanılan bir gök bilimsel interferometre var. VLBI astronomik bir radyo(sinyal) kaynağından gelen sinyalleri, mesela quasar (galaksi dışındaki yıldızımsı gök cisimleri), dünyadaki birden çok radyo teleskop aracılığıyla topluyor ve kaydediyor. VLBI’de kullanılan toplam 16 teleskop var ve bu teleskopların her biri 1 Gigabit/saniye gibi son derece yüksek hızda ve boyutlarda veri üretiyor. Bu verinin depolanması ve analiz edilmesi ne kadar büyük bir problem değil mi?

AT&T her gün milyarlarca arama isteği işliyor. Bu o kadar çok veriye sebep oluyor ki bütün veriler depolanamıyor ve depolanamadığı için de analizler “akan veri”(streaming data) üzerinden yapılmak zorunda. (on the fly).

Alexa internet arşivinde 7 yıllık veri bulunuyor ve bu verinin boyutu 500 Terabyte civarlarında.

Google hergün 4 milyarın üzerinde arama isteğini alıyor ve bu da bir sürü 100 Terabyte demek oluyor.

Internat Archive (www.archive.org) neredeyse 300 terabytle’lık veriye sahip.

Dünyadaki veritabanlarında depolanan veri miktarı her 20 ayda bir iki katına çıkıyor. Diğer büyüme oranları ise bundan daha fazla. Bu verilerden çok küçük bir miktarı insanlar tarafından inceleniyor. Bu yüzden böylesine devasa verilerden anlamlar çıkarmak için Knowledge Discovery’ye ihtiyaç duyuluyor.

Jerome Friedman diyor ki:

“Verinin boyutu her 10 katına çıktığında onu analiz etme biçimimizi tamamen yeniden şekillendirmek zorundayız”

Veri Madenciliği

Veri madenciliği veri tabanı sorgularından (database query) farklıdır. Geleneksel analizde, “X ürününün satışları Kasım ayında arttı mı?”, “X ürününün satışları Y ürününde bir promosyondan dolayı düştü mü?” gibi analizler yaparken veri madenciliğinde ise “X ürününün satışını belirleyen faktörler nelerdir?” gibi daha karmaşık ve sonuç odaklı analizler yaparsınız.

3

  Aristotle Onansis: “The key in business is to know something that nobody else knows.”

 

 

        Sir Isaiah Berlin: “To understand is to perceive patterns.4

Örnek Bir Uygulama

Diyelim ki X kişisi Amazon.com’dan bir kitap aldı.

Görev: Bu kişiye almaya yatkın olabileceği başka kitaplar öner.

Amazon kitap satın alımları üzerinden bir kümeleme (clustering) işlemi yapıyor:

“Advance in Knowledge Discovery and Data Mining” kitabını alan müşteriler ayrıca “Data Mining: Practical Machine Learning Tools and Techniques with Java Implementations” kitabını da aldı.

Öneri sistemleri son derece başarılıdır.

5

Veri Madenciliği Nedir?

Veri tabanında bilgi keşfi (Knowledge Discovery in Databases-KDD) verideki:

  • üstü kapalı (saklı)
  • geçerli (bulunan örüntüler yeni veriler üzerinde de geçerli olacak şekilde)
  • özgün (beklenen değerlere kıyasla)
  • potansiyel olarak kullanışlı (başarılı aksiyonlara neden olabilecek)
  • anlaşılabilir (insanlar açısından)

örüntülerin (pattern) bulunması ve tanımlanması olarak tanımlanabilecek, basit olmayan bir süreçtir.

Veri madenciliği, KDD’nin yalnızca bir adımıdır.

Veri madenciliği için bazı alternatif terimler kullanılabilir:

  • Knowledge discovery (mining) in databases (KDD),
  • Knowledge extraction
  • Data/patterns analysis
  • Data archeology
  • Data dredging
  • Information harvesting
  • Business intellingece, etc.

 

KDD Süreci

Veri Madenciliği ve Bilgi Keşfi (Knowledge Discovery – KD) süreci bazı adımlardan oluşur. Bu adımlar şu şekilde özetlenebilir:

  • Veri Temizliği (data cleaning): eksik değerlerin, gürültülü(noisy) verinin ve tutarsız(çelişkili) verinin temizlenmesi sürecidir.
  • Veri Entegrasyonu (Data integration): Birden fazla veri kaynağından alınan verilerin birleştirilmesi sürecidir.
  • Veri Seçimi (data selection): Yapılacak olan analize uygun(alakalı) verilerin seçilmesi sürecidir.
  • Veri Dönüşümü (data transformation): Veriyi toplama (örneğin günlük satışları haftalık ya da aylık satışlara dönüştürme), veya genelleştirme (sokağı şehire; yaşı genç, orta, ve yaşlıya dönüştürme) gibi işlemler sürecidir.
  • Veri Madenciliği (data mining): Elde edilen veriye akıllı algoritmalar uygulayarak örüntüleri (patterns) keşfetme sürecidir.
  • Örüntü Değerlendirme (pattern evaluation): Elde edilen örüntülerin değerlendirilmesi ve hipotezlerin geçerliliğinin test edilmesi sürecidir.
  • Bilgi Sunumu (knowledge presentation): Bulunan bilgileri (knowledge) görselleştirme (visualisation) ve sunum (representation) tekniklerini kullanarak kullanıcılara sunma sürecidir.

6

Bir KDD sürecinin %60-80 gibi bir dilimi yalnızca veriyi hazırlamak için harcanırken geriye kalan %20’lik kısmı veri madenciliği için kullanılır.

Bir veri madenciliği projesi daima verinin geleneksel sorgulama araçları (traditional query tools) ile analizinden başlamalıdır. İlginç bilgilerin %80’i SQL kullanılarak çıkartılabilir. Örneğin “Her ay kaç tane işlem 15 numaralı ürünü içeriyor?” ve “Mertricks tarafından alınan bütün ürünleri bana göster” gibi. Geriye kalan %20’lik kısmının keşfi ise ileri tekniklerin kullanımını gerektirir. Örneğin “hangi ürünler sık olarak birlikte alınıyor?” ve “müşterilerimi nasıl sınıflandırmalıyım ki gelecekte kredi başvurusu yaparlarsa kime kredi verip kime vermemem gerektiğini bileyim” gibi.

İstatistik, Otomatik Öğrenme (Machine Learning) ve Veri Madenciliği

İstatistik daha çok teori odaklıdır ve hipotezlerin test edilmesine (hypotheses testing) odaklanır.

Otomatik Öğrenme, daha deneyimseldir (heuristic) ve öğrenme ajanının performansını iyileştirmeye odaklanır. Aynı zamanda robotik (robotics) ve gerçek zamanlı öğrenme (real-time learning) gibi alanları da kapsar ama bu alanlar veri madenciliği dışındaki alanlarıdır.

Veri madenciliği ve bilgi keşfi, teoriyi(istatistik) ve deneyimi(otomatik öğrenme) birleştirir ve bilgi keşfinin bütün süreçleri olan veri temizliği, öğrenme, entegrasyon ve görselleştirme alanlarını içerir.

Bu kavramların arasındaki sınırlar son derece belirsizdir.

Veri madenciliği bazen “ikincil veri analizi” olarak adlandırılır. Veri madenciliğinde kullanılan algoritmaların çoğu istatistikçiler ve veri madencileri tarafından ortaklaşa kullanılır. Veri madenciliği örüntü tespitini (pattern detection) hedeflerken istatistik bulunan örüntülerin gerçekliğini belirlemeyi hedefler. Örneğin, aynı hastalıktan muzdarip olan insanlar kümesinin bulunması, fakat bu hastalığın tamamen rastgele olup olmadığının tespiti.

Rhine Paradoksu

Rhine Paradoksu bir bilimsel araştırmanın nasıl yapılmaması gerektiğinin harika bir örneği.

David Rhine bir parapsikologdu. 1950 yılında bir hipotez geliştirdi ve hipotezi de şuydu: Bazı insanlar 6. Hisse (Extra-Sensory Percetion-ESP) sahiptir.

Bunu test etmek için bir deney tasarladı ve deneklere 10 adet kartın arka yüzlerinde kırmızı mı yoksa mavi renk mi olduğunu tahmin etmelerini istedi. Deneyinin sonucunda gördü ki neredeyse her 1000 kişiden 1’i 6. hisse sahipti, çünkü 10 kartın 10’unun da rengini doğru bilmişti!

Daha sonra bu testi geçen insanlara 6. Hislerinin olduğunu söyledi ve onları tekrar test etmek için farklı bir deneye davet etti. Fakat bu sefer fark etti ki bu deneyde deneklerin neredeyse hepsi 6. Hislerini kaybetmişti. Ve testi nasıl mı sonuçlandırdı?

“İnsanlara 6. Hisleri olduğunu söylememelisiniz; çünkü bu 6. Hislerini kaybetmelerine neden oluyor.”

Peki gerçekte ne oldu?

Kırmızı veya mavi renklerden oluşan 10 kartın tam olaram 1024(2^10) kombinasyonu vardır. Bu yüzden her 1000 kişiden 1’inin 10 kartın rengini doğru tahmin etme olasılığı 1000/1024 = 0.98 yani %98’dir! Sanırım daha fazla açıklamaya gerek yok 🙂

Veri Madenciliği Uygulamaları

Pazar analizi ve yönetimi

  • Hedef kitle seçimi, müşteri ilişkileri yönetimi, pazar basket analizi, çapraz satış, pazar segmentasyonu, vb.
  • Aynı karakteristiklere sahip olan (örneğin ilgi alanı, gelir seviyesi, harcama alışkanlıkları, vs.) müşterileri bulma ve kümeleme
  • Zaman boyunca müşterilerin satın alma örüntülerini (purchasing pattern) belirleme

Risk analizi ve yönetimi

  • Tahminleme (forecasting), müşteri tutumu (customer retention), kalite kontrolü, rekabet analizi, kredi puanlama

Sahtekarlık tespiti ve yönetimi

Geçmişte gerçekleştirilen sahtekarlık işlemlerini kullanarak model geliştirme ve belirli davranışlarda bulunan müşterileri önceden tahminleme.

  • Araba sigortası: sigorta parası almak için “sahte olarak” kaza yapan insanların tespiti
  • Kara para aklama: şüpheli para transferlerini tespit etme
  • Telefon araması modeli: aramanın hedefi, süresi, günü, saati, vs. Beklenen normlardan sapan örüntülerin analizi.

British Telecom’un başına bununla ilgili bir olay gelmiş. Olayda, belirli kişilerden oluşan bir takım grup sürekli mobil telefonlarından grup içindeki kişileri arayarak birkaç milyon dolarlık bir kaçakçılık gerçekleştirmişler. Mesela, hapisanedeki mahkumlardan biri dışarıdaki bir arkadaşına terk edilmiş bir ev için telefon hattı kurdurtuyor. Aramalar mahkumun 3 eyalet ötedeki kız arkadaşına yönlendiriliyor. Bu sayede telefon şirketi bunu 90 gün sonra fark edinceye kadar bedava telefon görüşmesi yapıyorlar.

Veri Madenciliğinin Görevleri

Burada veri madenciliğinin görevlerinden kısaca bahsedeceğim. Çok ayrıntıya inmiyorum çünkü gelecek yazılarda hepsini ayrıntılı olarak ele alacağım.

Birliktelik (association)

Karşılıklı ilişki (correlation) ve nedensellik (causality)

Çok boyutlu veya tek boyutlu birlikteliklerin tespit edilmesi. Örneğin;

yaş(X,”20..29″) ^ gelir(X,”20..29K”) –> satın_alır(X, “PC”)
[support = %2, confidence = %60]*

veya

satın_alır(T, “bilgisayar”) –> satın_alır(x, “software”)
[support = %1, confidence = %75]*

*support ve confidence kavramları daha sonraki yazılarda açıklanacaktır.

Sınıflandırma (classification) ve Tahminleme (prediction)

Sınıfları veya konseptleri tanımlayan ve ayrıştıran modellerin(fonksiyonları) bulunması. Örneğin, iklime göre ülkeleri sınıflandırma, kilometre başına yakıt tüketimine göre arabaları sınıflandırma, vb.

Sunum: karar ağacı (decision tree), sınıflandırma kuralı, yapay sinir ağları (neural network)

Tahminleme: bazı bilinmeyen veya eksik olan sayısal verilerin tahminlenmesi.

Aşağıdaki tablo bir “öğretici küme” (training set) örneğini temsil ediyor. Bu veri üzerinde karar ağacı sınıflandırma algoritmasını uyguladığımızı düşünelim.

8

Elde edeceğimiz sonuç aşağıdaki gibi bir sonuç olacak. Yani aşağıdaki sonuçlar diyor ki yaş faktörü bilgisayar alınmasındaki en önemli faktör. Yaşı 31..40 arasında olanların hepsi bilgisayar alıyor. Yaşı 30’dan küçük olan insanlar için ikinci bir ayrım yapılıyor ve öğrenci olup olmadığı sorgulanıyor. Eğer öğrenciyse bilgisayar alıyor; öğrenci değilse bilgisayar almıyor. Yaşı 40’tan büyük olan insanlar ise kredi derecelendirmelerine göre ayrıma uğratılıyor. Kredi derecesi mükemmel olanlar bilgisayar almazken normal düzeyde olanlar bilgisayar alıyor.

7

Küme Analizi (Cluster analysis)

Sınıflandırma’nın aksine küme analizinde kümelerin etiketleri (label) bilinmiyor. Küme analizi genellikle sınıfların belirlenmesi ve tanımlanması için kullanılıyor. Kümeleme (clustering) işlemi şu prensip ile çalışıyor: bir sınıf (class) içindeki benzerlikleri maksimize et ve sınıflar arasındaki benzerliği minimize et.9

 

Aykırı Gözlem (Outlier) Tespiti   

Verinin genel davranışına uymayan örneklere aykırı gözlem (outlier) adı veriliyor. Bunlar gürültü (noise) veya istisna (exception) olarak düşünülebilir; fakat sahtekarlık gibi nadir olayların (aykırılıkların) analizinde oldukça kullanışlıdırlar.

10628591_10152636063464277_8277957579391294586_n

Trend ve değişim (evrim, evolution) Analizi

Trend ve sapma analizleri: regresyon analizi (regression analysis)

Sıraları örüntü madenciliği (sequential pattern mining), dönemsellik analizi

Benzerlik tabanlı analiz

Görselleştirmenin Gücü

Tüm işlemler sonucu elde ettiğimiz sonuçları görselleştirmemiz gerekmektedir. Aşağıda görselleştirmenin birkaç güzel örneğini görebilirsiniz.

11

12

13

10

Kaynaklar:

*Data Mining: Concepts and Techniques. Jiawei Han and Micheline Kamber. Morgan Kaufmann Publishers
*Data Mining: Practical Machine learning tools with JAVA implementations. Ian H. Witten and Eibe Frank. Morgan Kaufmann Publishers

Şimdilik Hoşça Kal Growth Hacking! Merhaba Veri Madenciliği!

Growth Hacking Konusunu Şimdilik Sonlandırıyoruz

Growth Hacking konusu hakkında birçok yazı paylaşmıştım sizinle. Artık Growth Hacking konusunu sonlandırıyoruz. Ama şimdilik. Bu konuyla ilgili son 7gelişmeler, trendler ve uygulamalarla ilgili yazıları paylaşmaya devam edeceğim. Yani yazılarda anlatılmak isteneni kavradıysanız Growth Hacking’in bir sonunun olmadığını ve her zaman yeni şeylerin keşfedildiğini anlamışsınızdır. Dolayısıyla bu konu ile ilgili paylaşımların sonunun gelmesi hiçbir şekilde mümkün değil.

Ancak ana odağı artık başka bir konuya kaydırıyorum: Veri Madenciliği. Son zamanlarda çok popülerleşmeye başlayan bir kavram aslında. “Bu da nedir?” diye merak mı ediyorsunuz? O zaman sizi aşağıya doğru alalım.

Giriş

5Bilgi Endüstrisinde (Information Industry) çok büyük miktarlarda veri bulunuyor.  Anlamlı ve kullanışlı bir bilgiye (information) dönüştürülmediği müddetçe bu verinin hiçbir anlamı yok. Böylesine büyük bir veriyi analiz etmek ve anlamlı bilgiler çıkarmak artık bir zorunluluk haline geldi.

Bilgi çıkarma işlemi yapmamız gereken tek işlem değil, bu süreç aynı zamanda Veri Temizleme (Data Cleaning), Veri Entegrasyonu (Data Integration), Veri Dönüştürme (Data Transformation), Veri Madenciliği (Data Mining), Örüntü Değerlendirme (Pattern Evaluation) ve Veri Sunumu (Data Presentation) gibi işlemleri de içermekte. Bu işlemlerin hepsi yapıldıktan sonra, elde ettiğimiz bilgileri artık Sahtekarlık Tespiti (Fraud Detection), Pazar Analizi (Market Analysis), Üretim Kontrolü (Production Control) vb. birçok alanda kullanabiliriz.

Veri Madenciliği Nedir ?

Veri madenciliği basitçe tanımlayacak olursak büyük veri setlerinden anlamlı ve kullanışlı bilgiler çıkarma(elde etme) sürecidir. Yani aslında kelim3e anlamı gibi, veriyi çok büyük bir maden olarak düşünürsek bu madeni kazıyarak içindeki değerli maddeleri bulmaya çalışıyoruz. Bulduğumuz bilgileri şu alanlarda kullanabiliriz:

  • Pazar Analizi
  • Pazarlama stratejilerinin verimliliği
  • Belirli bir pazarlama stratejisi için büyük bir müşteri veri tabanından hangi müşterilerin hedef olarak seçileceğinin belirlenmesi
  • Müşteri yaşam döngüsünü yönetme ve müşteriyi elde tutma
  • Sahtekarlık Tespiti
  • Üretim Kontrolü

“Söyle bana, neler olabilir” Rolü

Veri madenciliğinin ilk rolü veriye “söyle bana, neler olabilir” dediğiniz tahminleme rolüdür. Veri ambarınızda (data warehouse) 6kilitli bir şekilde duran gizli bilgileri açığa çıkarıyoruz.

“Bana ilginç bir şey söyle” Rolü

Tahminlemeye ek olarak, veri madenciliği daha önceden bilmediğiniz ilginç bilgileri elde etmek için de kullanılır. Örneğin, iki ürünün satışı arasında olağan dışı bir ilişkinin olması ve bu ilişkinin bu iki ürünü yerleştirme biçiminize göre nasıl değiştiğini fark etmek.

Neden Veri Madenciliğine İhtiyaç Duyuluyor ?

Bilgi Teknolojilerindeki gelişmelerden kaynaklanan bir veri bolluğuna sahibiz. Büyük Veri veya daha sevdiğim bir tabiriyle İri Veri (Big Data) kavramının2 ortaya çıktığı yer de burası aslında. Artık veri çok yüksek hızlarda, çok yüksek hacimlerde ve çok çeşitli şekillerde (resim, müzik, yazı, vs.) geldiğinden bu verilerden anlamlı bir bilgi çıkartmak gerekiyor.

Bu çıkartılan bilgiler karar almada büyük bir rol oynamakta ve rekabet avantajı sağlamakta.

Pazar Analizi ve Yönetim

  • Müşteri Profilleme: Kimler hangi tür ürünleri alıyor.1
  • Müşteri Gereksinimlerini Tespit Etme: Müşteriye göre ürün belirleme. Hangi faktörler müşterileri çekiyor?
  • Çapraz Pazar Analizi: Farklı ürün satışları arasındaki Birliktelik (Association) ve İlişki (Correlation)
  • Hedef Pazarlama: Müşterileri ortak karakteristiklere göre kümeleme.
  • Müşteri Satın Alma Örüntüsünü Belirleme: Müşterilerin satın alma biçimlerini belirleme.

Kurumsal Analiz ve Risk Yönetimi

  • Finansal Planlama ve Varlık Değerlendirmesi: Nakit akışı analizi ve tahminleme.
  • Kaynak Planlama: Özetleme, kaynakları karşılaştırma ve harcamaları asgari düzeye indirme.
  • Rekabet: Rakipleri gözetleme ve pazar trendlerini belirleme

Sahtekarlık Tespiti

Kredi kart servisleri ve telekomünikasyon sektöründe sahtekarlıkları tespit etmek.

Neler Göreceğiz ?

Veri madenciliği alanı istatistik, yapay zeka, veri tabanı ve veri ambarı konularıyla bağlantılı olduğu için bu alanlarla ilgili konuları ele alacağız ve inceleyeceğiz. Dalışa hazır mısınız?