WEKA İLE VERİ MADENCİLİĞİ
Weka 101
Başlamadan önce.. WEKA’yı indirmek için tıklayın.
WEKA, bilgisayar bilimlerimde önemli konulardan veri madenciliği ve makine öğrenmesi alanlarında sıkça kullanılan, Yeni Zelanda Wakiato Üniversitesinde açık kaynak kodlu olarak JAVA dili üzerinde geliştirilmiş “Waikato Environment for Knowledge Analysis” kelimelerinin baş harflerinden oluşmuş yazılımdır.
WEKA üzerinde makine öğrenmesi ve istatistik ile ilgili pekçok kütüphane hazır olarak gelmektedir. Örneğin veri ön işlemesi (data preprocessing), ilkelleme (regression), sınıflandırma (classification), kümeleme (clustering), özellik seçimi veya özellik çıkarımı (feature extraction) bunlardan bazılarıdır. Ayrıca bu işlemler sonucunda çıkan neticelerinde görsel olarak gösterilmesini sağlayan görüntüleme (visualization) araçları bulunmaktadır.
Weka’da Analiz İşlemleri Nasıl Gerçekleştirilir?
Öncelikle weka’yı açtığımızda karşımıza çıkan ilk sayfa aşağıdaki gibidir.
Burada explorer kısmından giriş yapıyoruz.Ve aşağıdaki ekrana ulaşıyoruz.
Weka kurulumunda içerisinde birlikte gelen bir veri seti ile küçük bir deneme yapalım. Open file kısmından program files içerisinden wekayı seçip, weka içerisindeki data klasöründeki veri setlerinden herhangi birini seçebiliriz. Ben ilk olarak iris.arrf veri setini seçiyorum.
Peki bu dosyaların hepsi neden .arff uzantılı? Arff dosya formatı weka tarafından kabul görmüş bir formattır. Verilerinizi analiz etmek için bu formata çevirmeniz gerekir. Csv uzantılı dosyalar da weka üzerinde açılabilse de Arff dosya formatını kullanmak daha doğrudur. Arff formatı aynı zamanda python ile makine öğrenmesi uygulaması geliştirebilmek için de kullanılabilen bir formattır.
Verisetimizi nasıl arff dosya formatına çevirebiliriz?
Bir ARFF dosyası @relation,@attribute ve @data yapısından oluşur.
@relation ile verisetimizin adını tanımlarız. Sonrasında @attribute ile öznitelik tanımlaması yapılır ve bu verinin hangi tipte olacağı belirtilir. Ardından @data ile elimizdeki veri örneklerine dair bilgiler öznitelik tanımlarken kullandığınız sıraya dikkat edilerek girilir.
Örneğin iris.arrf dosyasının yapısına bakalım.
@RELATION iris
@ATTRIBUTE sepallength NUMERIC
@ATTRIBUTE sepalwidth NUMERIC
@ATTRIBUTE petallength NUMERIC
@ATTRIBUTE petalwidth NUMERIC
@ATTRIBUTE class {Iris-setosa,Iris-versicolor,Iris-virginica}@DATA
5.1,3.5,1.4,0.2,Iris-setosa 4.9,3.0,1.4,0.2,Iris-setosa 4.7,3.2,1.3,0.2,Iris-setosa 4.6,3.1,1.5,0.2,Iris-setosa 5.0,3.6,1.4,0.2,Iris-setosa 5.4,3.9,1.7,0.4,Iris-setosa 4.6,3.4,1.4,0.3,Iris-setosa 5.0,3.4,1.5,0.2,Iris-setosa 4.4,2.9,1.4,0.2,Iris-setosa 4.9,3.1,1.5,0.1,Iris-setosa
İris.arrf veri setimizin weka’da görünümü ise aşağıdaki gibidir.
Burada current relation kısmında verimize ait bilgiler yer alır. Veriseti adımız, attribute sayımız ve toplam örnekler yani verilerimizin sayısı. Burada yukarıdaki classify sekmesinden bir algoritmayı verisetimize uygulayalım ve böylece sınıflama işlemini gerçekleştirelim.
Classify sekmesinden lazy klasörü altındaki IBK isimli algortimayı yani K-NN(K Nearest Neighbour adıyla bilinen) algoritmayı verisetime uyguladım.
Analiz işlemlerimin sonuçları yukarıdaki gibi oldu. Burada test options kısmında seçili olan cross validation yani çarpraz doğrulama, yapılan bir istatistiksel analizin bağımsız bir veri setinde nasıl bir sonuç elde edeceğini sınayan bir model doğrulama tekniğidir.
Çapraz doğrulamanın ilk adımı farklı miktarlarda örnekler seçilerek veri kümeleri oluşturulmasıdır. Tipik olarak verilen eğitim kümesi ve test kümesi olarak birbirini tamamlayan iki kümeye ayrılır. Birinci küme üzerinde analiz yapılarak model oluşturulur ve ikinci küme üzerinde model sınanır. Varyansı azaltmak için bu doğrulama adımı birkaç defa tekrarlanır. Çapraz doğulama ismini aynı veri örneklerinin farklı şekillerde gruplanmasından (çaprazlama) alır.
Önemli bir nokta olan başarı oranının %95.333 olduğunu görüyoruz. Detayları gösteren kısımdaki verileri inceleyecek olursak burda bazı başlıklar görüyoruz. Bunları açıklayalım.
TP Rate: Doğru Pozitif oranı
FP Rate: Yanlış Pozitif oranı
Precision: Gerçekten o sınıfta var olan örneklerin o sınıf olarak sınıflandırılan toplam örneklere bölümü
Recall: Belirli bir sınıf olarak sınıflandırılan örneklerin o sınıftaki gerçek toplama bölümü (TP oranına eşdeğer)
Bu şekilde sınıflama işleminin ayrıntılarını görebiliyoruz.
Weka’yı kullanmak ve sınıflama işlemi gerçekleştirmek bu kadar kolay. Fakat veriyi anlamak, analiz sonuçlarını doğru yorumlamak oldukça önemli etkenler.
Teşekkürler.
Kaynaklar: