Veri Madenciliğine Giriş

Kadir Alan
6 min readNov 22, 2017

İnsan sınıflandırmasının yetersiz kaldığı bilginin arttığı bir süreçteyiz. Büyük ölçekli bu veriler arasında bilgiyi ulaşma ve bilgiyi analiz etme, bilgiden anlam çıkarma ve tahmin yürütme bilimine veri madenciliği denir.

Veri Madenciliği Aşamaları

  • Ön İşleme ve veriyi temizleme (Preprocessing)
  • Öznitelik Seçimi (Feature Selection/Feature Extraction)
  • Sınıflandırma (Classification)
  • Yorumlama, Doğrulama, Raporlama (Visualization)

Biz bu yazı da daha çok veri Feature Selection, Feature Extraction gibi konulara değineceğiz.

Veri Madenciliğinde Analiz Kavramları

  • Tanımlayıcı Veri Madenciliği(Descriptive Data Mining)

Mevcut veriyi analiz ederek şu an durumun ne olduğunu bulur. (Mevcut stok bulma gibi)

  • Öngörüsel Veri Madenciliği(Predictive Data Mining)

Geleceğe ve geçmişe yönelik tahminde bulunma yöntemidir.(Elinizde 100 şubenin verisi var ama 101. şubenin verisi yok. O şubenin verilerini tahmin etme gibi)

  • Emreden Veri Madenciliği(Prescriptive Data Mining)

Bu yöntemde tahmin yöntemidir fakat Predictive’den farklı olarak tahmin sonucunda size bir yol göstererek, böyle yapabilirsiniz gibisinden yöntem veriyor.

Peki bir algoritma nasıl ileriye dönük tahminde bulunabiliyor. Bunu yaparken nasıl bir yol izliyor?

Bir algoritmanın öngörüde bulunabilmesi (sayısal tahmin yapmak, sınıf tahmini yapmak) gibi kestirimler için eğitim-test(Train/Test) adımlarından geçmesi gerekir. Veri madenciliği algoritmaları bu bağlamda Supervised(Gözetimli) ve Unsupervised(Gözetimsiz) olmak üzere iki kategoride değerlendirilir.

Gözetimli Öğrenme (Supervised learning) : Gözetimli öğrenme durumunda uzman bir kişi tarafından sisteme bilgi sağlanmasından bahsedilir. Beklenen ise uzman bir kişi tarafından sistemin gözlenip hangi sınıfların ve miktarların saptanmasıdır. Regresyon, sınıflandırma gibi algoritmalar bu grupta ele alınır. Bil algoritma sınıflandırma ve sayısal kestirim yapacaksa verisetinde yer alan özniteliklerin “ağırlığı” üzerinden bu işlemleri gerçekleştirir. Bu işlemlerin sonucunda elde edilen model gerek test verileri gerekse de yeni veriler için tahmin yapmakta kullanılır.

Gözetimsiz Öğrenme (Unsupervised learning) : Gözetimsiz öğrenmede sistemin kendi kendini eğitmesi sonucunda bilgiye ulaşılır. Bu öğrenme tipinde hedef bir etiket veya sayısal kestirim yoktur. Aslında yapılan iş öznitelikler ile tanımlı verilerin birbirlerine olan vektörel uzaklığı üzerinde kümeler halinde ayrılmasıdır. Örneğin bu kümeler verinin türüne göre hastalıklı, sağlıklı olarak sistem tarafından etiketlenebilirler.

Algoritma seçme kriterleri nelerdir?

  • Tahmin yeteneği ölçme ölçütleri : Algoritmanın kullanacağımız veriseti için güvenilirliğini gösterir. Bu ölçütler Accuracy, ROC Curves, Fmesure, Precision, Recall, Confusion Matrix olabilir.
  • Zaman optimizasyonu : Modelimize gönderilen verilerin tahmin süresidir. Bazen tahmin yeteneği bizim için çok iyi sonuç verebilir ama zamanı da gözardı etmemeliyiz. İkisi arasındaki uyum önemlidir.

Veri Madenciliği Problemlerinin Çözümünde Karşılaşılan 2 Temel Sorun

  • Underfitting: Testteki verilerin çoğunu yanlış tahmin etmesi durumudur.
  • Overfitting: Sistemin aşırı eğitilmesi sonucu esnekliğinin kaybedilmesi ve ezber sonuçların ortaya çıkması durumudur.

Bu durumlardan nasıl kaçınabiliriz?

Bizim için doğru model hem eğitim veriseti için hem de test veriseti için arzu edilen sonuçları göstermelidir. Bu sonuçları kontrol edebilmek için ;

  • Elimizdeki veriyi eğitim/test verisi olarak ayırabilir Cross Validation gibi yöntemler ile test edebiliriz
  • Sentetik veri üretebiliriz
  • Farklı ortamlarda basitten karmaşığa denemeler yapılabilir

Cross Validation Nasıl Çalışır?

Verilerin yetersiz olduğu durumlarda eğitim ve test verilerinin ayrılması zorlaşacağından ve başarı oranının düşeceğinden bu yönteme başvurulur. Bu yöntemde veriseti istenilen parçalara bölünür. Bu parçalardan ilki test kalan veriler ise eğitim için kullanılır ve her parça tek tek test ve eğitim verisi olarak kullanılır. Yani 10 parçalık bir veriseti üzerinden 10 defa geçilmiş olacaktır. En sonunda ise çıkan sonucun ortalamasına bakılarak başarı oranı belirlenir. Cross Validation metodunda ise veriseti 10 parçaya bölünür. Bunun için en az 10 veriye ihtiyaç vardır. Burada dikkat edilmesi gerek durum şudur ;

Elimizde 1000'lerce veri varsa Cross Validation doğru bir seçim olmayabilir. Burada 80/20 gibi train/test yaklaşımı belirlenebilir. Yani elimizdeki verinin %20'sini test için %80'ini eğitim için ayırmış, belirlemiş oluruz. Veri sayısı 50 100'lere düştüyse ve sentetik veri üretilmeyecekse burada 10-fold Cross validation kullanılabilir.

Öznitelik nedir?

Verileri bir tablo/matris olarak düşündüğümüzde her satırı tanımlayan kolon/sütun bir özniteliktir. Bir hastalık veriseti için öznitelikler hastalığı tanımlayan ayırıcı tahmin sonuçları, bir hava durumu veriseti için nem, sıcaklık, günün saatleri gibi ölçümler birer özniteliktir.

Amount, Salary, Age gibi kolonlar birer özniteliktir.

Öznitelik Seçimi (Feature Selection) Nedir?

Öznitelik seçimi temelde verisetimizde var olan özniteliklerin işimize yaramayan veya daha az yarayan öznitelikleri belirleyerek bunları ayırma işlemi olarak adlandırabiliriz. Bunu yapmamızın sebebi hesapsal yük oranı düşürmek ve tahmin oranını (Accuracy değeri gibi) arttırmaktır. Öznitelik seçimi veri boyutu küçüldüğünden dolayı hesapsal yük oranını düşürmeyi garantilerken tahmin oranını arttırmayı garantilemiyor. Bunun için deneme yanılma yolu ile çalışmalıyız. Ayrıca öznitelik seçimi aşırı öğrenmeyi engellemek için de kullanılabilir.

Öznitelik Transformasyonu(Feature Extraction) Nedir?

Öznitelik seçimi yaparken işimize yaramayan artık diye nitelendirdiğimiz öznitelikleri sistemden ayırmıştık. Bu yöntemde de aslında yine işimize yaramayan öznitelikleri sistemden ayırmış oluyoruz ama bu sefer işimize yaramayan, sistemden ayrılan özniteliğin ne olduğunu bilmiyoruz. Trasformasyon işleminde eski özniteliklerden yeni öznitelikler yaratma işlemidir. Bu işlem sonucunda total öznitelik sayısı artabilir de azalabilir de.

Öznitelik seçimi algoritmaları nasıl çalışır? Türleri nelerdir?

  • Arama Stratejisi : Öznitelik havuzunu rastgele sezgisel bir şekilde arama yöntemleridir. Bu aşamada brute force gibi yöntemler kullanılarak öznitelik havuzundan alt kümeler ortaya çıkarılabiliyor ama bu yöntem sık kullanılmayan bir yöntemdir.
  • Öznitelik Kalitesini Değerlendirme : Filtreleme, zarflayıcı, wrapper gibi yöntemlerdir. Öznitelik uzayını değerlendirme anlamında filtreler(ranker-sıralayıcı) hızlı çalışmaları ile büyük öznitelik uzaylarında çalışmayı mümkün kılar. Sınıflandırmada kullanılan algoritmalar ile burada kullanılan algoritmalar arasında bir bağlantı yoktur. İki algoritma bağımsız çalışır. Bu yaklaşım ile öznitelik alt kümesi belirlenir ve farklı sınıflandırma algoritmaları ile bu test edilir.
    Zarflayıcı yaklaşımda ise arama algoritmasının seçtiği alt-küme bir sınıflandırma algoritmasıyla birlikte çalıştırılır. Bu şekilde sınıflandırma algoritmasının tahmin oranını yükselten öznitelikler tutulurken diğerleri çıkartılır. Bu ekleme çıkartma bir arama algoritmasıyla birlikte gerçekleştirilir. Her iki yöntemde de elde edilen alt kümenin sınıflandırıcı performansını her zaman arttırdığı söylenemez. Bir diğeri ise bir öznitelik alt kümesi A algoritmasının başarını arttırıyorken B algoritmasının başarı oranını düşürebilir.

Filtre, Ranker, Sıralama Algoritmaları nasıl çalışır?

Gini index, information gain, Chi-square istatistiği gibi yöntemler özniteliklerin değerlendirilmesinde kullanılan yöntemlerdir. Bu tür algoritmalarda örneğin 100 nitelik 2.3 gibi bir skordan başlayarak 0.001 değerine kadar sıralanırlar. Burada en tepedeki bir kaç öznitelik seçilir. Bunu seçerken kaçını seçebileceğimizi önceden bilemeyiz. Bunun için bir kaç aday algoritma ile deney yaparak seçim gerçekleştirebiliriz. Amaç en az öznitelik ile en yüksek sonucu elde etmektir.

Zarflayıcı, Wrapper gibi yöntemler nasıl çalışır?

Rastgele seçilen alt öznitelik kümesinin kalitesinin, bir temel sınıflandırıcı ile test edildiği yaklaşımdır. Tüm arama uzayının sırayla denenmesi imkansızdır. Bunun için iki tip arama stratejisi vardır ;

  • Forward/İleri : Boş bir öznitelik kümesi ile başlayarak her seferinde gruptaki öznitelikleri tek tek ekleyerek özniteliklerin kalitesi test edilir.
  • Backward/Geri: Tüm öznitelik kümesiyle başlayarak gruptaki öznitelikleri azaltarak her seferinde kalanların kalitesini test et.

Veri Madenciliğinde Kullanılan Bazı Yöntemler

1- Sınıflandırma(Classification)

En basit veri madenciliği çeşitlerinden birisidir. Temel olarak yaptığı şey yeni bir nesnenin niteliklerini inceleme ve bu nitelikleri önceden tanımlanmış bir sınıfa dahil etmektir.

2-Kümeleme(Clustering)

Sınıflandırma analizinden farklı olarak denetimsizdir. Bu yöntemin hedefi verisetinden doğal olarak meydana gelen altsınıfları bulmaktır.

3-Regression

Bağımlı değişkenler arasındaki ilişkilerin önemini ortaya koyarak sayısal tahminde bulunmak için kullanılan yöntemdir. Geleceğe yönelik enerji tüketimini tahmin etmek gibi.

4-Assosication Rule Mining

Bu yöntem ile , veriler sık sık analiz edilerek ve en önemli ilişkileri belirlemek için destek ve güven kriterlerini kullanarak oluşturulur. Destek, öğelerin veritabanında ne sıklıkta göründüğünün bir göstergesidir. Güven, if / then ifadelerinin gerçek sayı sayısını belirtir. Alışveriş sepeti veri analizi, ürün kümeleme, katalog tasarımı ve mağaza düzeninde önemli bir rol oynarlar.

--

--