Veri Madenciliği ve R Yazılımı Temel Kavramları 📚
Kaynak Bilgisi: Bu çalışma materyali, ders notları ve sesli ders transkriptinden derlenmiştir.
1. Giriş: Veri Madenciliğinin Önemi ve R Yazılımının Rolü 💡
Günümüzün hızla değişen iş ve teknoloji dünyasında, doğru kararlar alabilmek için büyük veri yığınlarından anlamlı bilgiler çıkarmak hayati önem taşımaktadır. Veri madenciliği, bu ihtiyaca yanıt veren güçlü bir araçtır. Bu çalışma materyali, veri madenciliğinin tarihsel gelişimini, etkileşimde olduğu disiplinleri, temel kavramlarını, bilgi keşfi sürecini ve kullanılan modelleri kapsamaktadır. Ayrıca, istatistiksel analiz ve veri işleme için popüler bir araç olan R yazılımının temel komutları ve kullanımı da detaylandırılacaktır.
2. Veri Madenciliği Temel Kavramları ve Tarihsel Gelişimi 📈
2.1. Tarihsel Süreç ✅
Veri madenciliğinin kökenleri, bilgisayarların hayatımıza girmesiyle başlar:
- 1950'ler: Bilgisayarların sayım ve karmaşık hesaplamalar için ilk kullanımı.
- 1960'lar: Veri depolama ve veritabanı kavramlarının ortaya çıkışı, basit öğrenmeli bilgisayarlar ve perseptronların geliştirilmesi.
- 1970'ler: İlişkisel Veritabanı Yönetim Sistemleri ve basit uzman sistemlerin yaygınlaşması.
- 1980'ler: Büyük miktarda veri içeren veritabanları ve SQL sorgu dilinin öne çıkışı.
- 1990'lar: Veritabanlarında Bilgi Keşfi (KDD) Çalışma Grubu toplantısı ve ilk veri madenciliği yazılımlarının geliştirilmesiyle alanın hızla büyümesi.
- 2000'ler: Veri madenciliğinin hemen her alanda yaygın olarak kullanılmaya başlanması.
2.2. Etki Eden Disiplinler 🤝
Veri madenciliği, birçok farklı disiplinle etkileşim halindedir:
- İstatistik: Verilerin analizi ve değerlendirilmesinde temel rol oynar.
- Makine Öğrenimi: Bilgisayarların çıkarımlar yaparak yeni işlemler üretmesini sağlar.
- Görselleştirme: Verilerin daha kolay anlaşılması ve analiz edilmesine yardımcı olur.
- Veritabanı Sistemleri: Düzenlenmiş ve ilişkili verilerin depolanmasını sağlar.
- Örüntü Tanıma: Veritabanlarındaki benzer veya en benzer modelleri bulmayı amaçlar.
2.3. Temel Kavramlar 📚
- Veri: Ham gözlemler, işlenmemiş gerçekler veya izlenimlerdir. Tek başına anlam ifade etmez.
- Enformasyon: Verinin anlam oluşturacak şekilde düzenlenmiş halidir. Tek başına anlamlıdır.
- Bilgi: Verinin işlenmiş ve dönüştürülmüş halidir; karar verme sürecine destek olur.
- Veri Ambarı: İşletmelere ait veritabanlarının, belirli bir amaca göre konu odaklı düzenlenmiş, veri madenciliği için hazır hale getirilmiş özel veritabanlarıdır. İç ve dış kaynaklı verileri birleştirir.
- Veri Deposu (Data Mart): Veri ambarının bir alt kümesi olup, işletmenin belirli bir bölümünü veya iş sürecini ilgilendiren özel verileri içerir.
- OLAP (Çevrimiçi Analitik İşleme): Veri ambarında yer alan veriler üzerinde çok boyutlu, çok yönlü analiz ve sorgulama yapılmasını sağlayan sistemlerdir.
2.4. Veri Madenciliği Tanımı 🎯
Veri madenciliği, büyük miktardaki ve karmaşık veriler içinden, geleneksel yöntemlerle elde edilemeyecek, daha önceden bilinmeyen, gizli kalmış, anlamlı ve yararlı ilişki ve kuralları bilgisayar yazılımları aracılığıyla keşfetme faaliyetidir. Amacı, rakiplere fark yaratacak kararlar alınmasına destek olacak bilgiler sağlamaktır.
3. Veritabanlarında Bilgi Keşfi (KDD) Süreci 🗺️
Veritabanlarında Bilgi Keşfi (KDD), veriden faydalı bilginin keşfedilmesi sürecinin tamamıdır. Veri madenciliği ise bu sürecin yalnızca bir adımıdır. KDD süreci aşağıdaki adımlardan oluşur:
- Amacın Tanımlanması: Veri madenciliğinin hangi amaca yönelik yapılacağının belirlenmesi.
- Veriler Üzerinde Ön İşlemlerin Yapılması: Verilerin veri madenciliği için hazırlanması.
- Verilerin Toplanması ve Birleştirilmesi: Farklı kaynaklardan (iç/dış) verilerin toplanması.
- Verilerin Temizlenmesi:
- Kayıp Veriler: Eksik verilerin tespiti ve giderilmesi (kaydı çıkarma, manuel girme, ortalama/medyan atama, tahmin etme).
- Gürültülü Veriler: Doğru olmayacak kadar uç değerlerin (aykırı değerler) tespiti ve düzeltilmesi (bölümleme, sınır değerleri, kümeleme, regresyon).
- Verilerin Yeniden Yapılandırılması:
- Normalizasyon: Farklı değerlerdeki verilerin belirli bir aralığa (örn. 0-1) dönüştürülmesi.
- Azaltma: Verilerin temel özelliklerini kaybetmeden miktar olarak azaltılması (boyut azaltma, veri sıkıştırma).
- Dönüştürme: Verilerin kullanılacak algoritmaya uygun hale getirilmesi (örn. sürekli veriyi kategorik hale getirme).
- Modelin Kurulması ve Değerlendirilmesi: En uygun veri madenciliği modelinin seçilmesi ve geçerliliğinin sınanması.
- Modelin Kullanılması ve Yorumlanması: Kabul edilen modelin uygulanması ve sonuçların yorumlanması.
- Modelin İzlenmesi: Modelin performansının sürekli takip edilmesi ve gerektiğinde güncellenmesi.
4. Veri Madenciliği Modelleri 📊
Veri madenciliğinde kullanılan modeller temel olarak iki ana başlık altında incelenir:
4.1. Tahmin Edici Modeller 🔮
Eldeki verilerden hareketle bir model geliştirerek önceden sonuçları bilinmeyen veri kümeleri için sonuçları tahmin etmeyi amaçlar.
- Regresyon Modelleri: Bağımsız ve bağımlı değişkenler arasındaki ilişkiyi en iyi tanımlayan fonksiyonu elde etmeye çalışır.
- Sınıflandırma Modelleri: Verileri önceden belirlenen sınıflara atar. (Denetimli öğrenme)
- Karar Ağaçları: Sınıflandırma problemlerinde yaygın, anlaşılması kolay, ağaç yapısında karar verme noktaları.
- Yapay Sinir Ağları: Biyolojik sinir sistemlerini modelleyerek karmaşık ve doğrusal olmayan ilişkileri analiz eder.
- Genetik Algoritmalar: Karmaşık optimizasyon problemlerini evrimsel süreçlere benzer şekilde çözer.
- Zaman Serisi Analizi: Zaman değişkeni ile ilişkili verilerin tahmininde kullanılır (örn. borsa).
- k-En Yakın Komşu: Bir örnek kümesindeki gözlem değerlerini inceleyerek yeni verinin ait olduğu sınıfı belirler.
- Bayes Sınıflandırması: Mevcut sınıflandırılmış verileri kullanarak yeni bir verinin belirli bir sınıfa girme olasılığını hesaplar.
4.2. Tanımlayıcı Modeller 🔍
Verilerdeki örüntü veya ilişkileri tanımlar. Analiz edilen verilerin özelliklerini inceleyerek veritabanındaki kayıtlar arasında sık rastlanan kuralları ortaya çıkarır. (Denetimsiz öğrenme)
- Kümeleme: Verileri birbirlerine olan benzerliklerine göre anlamlı gruplara ayırır.
- Birliktelik Kuralları: Veriler arasındaki güçlü birliktelik özelliklerini (örn. pazar sepeti analizi) keşfeder.
- Sıra Örüntü Analizi: Olayların zaman sıralarıyla ilgilenen ilişkileri (örn. belirli bir ürün alındıktan sonra başka bir ürünün satın alınma olasılığı) inceler.
- Özetleme: Verileri basit tanımlarla alt gruplara yerleştirme ve betimleyici bilgiler (ortalama, standart sapma) çıkarma işlemidir.
5. Veri Madenciliğinin Diğer Veri Analizi Yaklaşımlarıyla Karşılaştırılması 🆚
Veri madenciliği, geleneksel istatistiksel analiz, veri sorgusu ve OLAP gibi diğer yaklaşımlardan farklılaşır:
- Geleneksel İstatistiksel Analiz: Genellikle bir hipotez kurularak başlanır, eşitlikler manuel geliştirilir, çoğunlukla sayısal veriler üzerinde çalışır, kirli veri analiz sırasında filtrelenir, sonuçları yorumlamak kolaydır.
- Veri Madenciliği: Hipoteze gerek duymaz, algoritmalar eşitlikleri otomatik geliştirir, sayısal verilere ek olarak metin, ses gibi farklı veri türlerini işleyebilir, temizlenmiş veri üzerinde gerçekleştirilir, sonuçları yorumlamak uzmanlık gerektirebilir.
- Veri Sorgusu (SQL): Aranan bilginin ne olduğu bilindiğinde kullanılır (sığ bilgi).
- OLAP: Büyük veritabanlarındaki basit ilişkileri keşfetmek ve çok boyutlu analiz yapmak için idealdir (çok boyutlu bilgi).
- Veri Madenciliği: Veriler arasında var olan fakat açıkça gözlenemeyen örüntü ve ilişkilerin keşfedilmesi istendiğinde devreye girer (gizli veya derin bilgi).
6. Veri Madenciliğinin Uygulama Alanları 🌍
Veri madenciliği, büyük miktarda verinin üretildiği ve kaydedildiği, karar verme süreçlerine ihtiyaç duyulan hemen her alanda uygulanmaktadır:
- Pazarlama: Müşteri satın alma örüntüleri, pazar segmentasyonu, müşteri elde tutma, satış tahmini, CRM.
- Finans: Kredi kartı dolandırıcılığı tespiti, risk analizi, hisse senedi fiyat tahmini, sigorta dolandırıcılığı.
- Sağlık: Yeni ilaç geliştirme, hastalık teşhisi ve tedavisi, test sonuçları tahmini.
- Endüstri ve Mühendislik: Kaynak optimizasyonu, üretim süreç kontrolü, kalite kontrol analizleri.
- Eğitim: Öğrenci başarı/başarısızlık nedenleri tespiti, öğrenci başarılarının artırılması.
- Kamu, İstihbarat ve Güvenlik: Suç tespiti, terörle mücadele, istihbarat analizi.
7. R Yazılımının Temelleri ve Kullanımı 💻
R yazılımı, istatistiksel analiz, grafik çizimi ve veri işleme için kullanılan, ücretsiz ve açık kaynaklı bir programlama dilidir.
7.1. R'a Giriş ve Elde Edilmesi 📥
- Özellikleri: Ücretsiz, açık kaynaklı, çeşitli işletim sistemlerinde çalışır, geniş kütüphane desteği sunar.
- Elde Edilmesi: http://www.r-project.org adresinden ücretsiz olarak indirilebilir.
7.2. Temel Komutlar ve Veri Yapıları 🔢
- R Console: Komutların girildiği arayüzdür.
- Aritmetik İşlemler:
72+45gibi basit hesaplamalar. - Değişken Atama:
x <- 72+45ile sonuçları değişkenlere atama. - Yardım Alma:
help(mean)veya R arayüzündeki yardım menüsü. - Vektörler:
c(1,2,3,4,5)ile oluşturulur.length()ile uzunluğu öğrenilir.seq()verep()ile düzenli vektörler oluşturulur. - Matrisler:
matrix()fonksiyonu ile oluşturulur (matrix(veri, nrow, ncol, byrow=F)). Elemanlaramatrisim[satır,sütun]ile erişilir. - Mantık Operatörleri:
<, >, <=, >=, ==, !=, &, |, !gibi operatörler kullanılır.is.character(),is.numeric()gibi mantık fonksiyonları da mevcuttur. - List Nesneleri: Farklı türdeki nesneleri bir araya getirir (
list(veri=x, korelasyon=korx)). Elemanlara[[index]]veya$isimile erişilir. - Data Frame: Tablosal veri setleri için kullanılır. Her sütun eşit sayıda birim içerir, her satır bir gözlem birimini temsil eder.
data.frame()ile oluşturulur. - Kayıp Değerler:
NAile temsil edilir. FonksiyonlarınNAdeğerlerini nasıl işlediği önemlidir.
7.3. Kişisel Fonksiyon Oluşturma ✍️
Kullanıcılar, function(parametreler) komutu ile kendi fonksiyonlarını yazabilirler. Bu, tekrarlayan görevleri otomatikleştirmek ve mevcut fonksiyonları birleştirmek için güçlü bir özelliktir. Fonksiyonlar return() komutu ile bir değer döndürebilir.
7.4. Hazır Veri Aktarımı 📤
Başka programlardan (örn. Excel) veri aktarımı için çeşitli fonksiyonlar kullanılır:
scan(): Düşük seviyeli veri okuma.read.table(): Dosyalardan formatlanmış data frame elde etme.read.fwf(): Belirgin genişlik tanımlanmış veri dosyalarından okuma.read.csv(): Değişkenlerin virgülle ayrıldığı dosyalardan okuma.
7.5. Ek Kütüphane Yönetimi 📦
R'ın gücü, dünya çapındaki bilim insanları tarafından geliştirilen ek kütüphanelerden gelir.
- Yükleme: "Packages" menüsünden "Install Package(s)" seçeneği ile yapılır.
- Etkinleştirme:
library(kütüphaneismi)komutuyla etkinleştirilir. - Yardım: Kütüphanelerdeki fonksiyonlar hakkında bilgi "help" menüsü aracılığıyla edinilebilir.
- Güncelleme: "Packages" menüsünden "update packages" seçeneği ile kütüphaneler güncellenebilir.








