KNİME İLE VERİ BİLİMİ

knime ile veri bilimi

Knime Nedir?

Knime açık kaynak ve çapraz platform (birden fazla işlerim sistemine dağıtımı olan) veri analizi, raporlama, entegrasyon platformudur. Knime’ın “node (düğüm)” adı verilen bileşenleri sürükle bırak yöntemi ile çalışır. Node yapıları ile kod yazmadan görselleştirme, modelleme ve veri analizi için temel veri önişleme işlemlerini gerçekleştirebilirsiniz.

Kurulum işlemleri

Kurulum için linke tıklayıp “Knime Download” sayfasına gidelim. Burada ilk olarak “Register for Help & Updates” kısmı gelecektir eğer güncelleme olduğunda haberiniz olmasını istiyorsanız üyelik işlemini gerçekleştirebilirsiniz. Üye olmak istemiyorsanız bu adımı atlayıp indirme işlemine geçebilirsiniz. İşletim sisteminize uygun dağıtımı seçip kurulum işlemine başlayabilirsiniz. Kurulumda sorun yaşamınız durumunda linkteki videoyu takip edebilirsiniz.

 

Workspace'in kayıt edilmesi

Kurulumu tamamladıktan sonra Knime’ı çalıştırdığımızda karşımıza ilk olarak yandaki ekran gelecektir. Çalışmalarınızı hangi klasöre kaydetmek istiyorsanız  dosya yolunu seçip devam edebilirsiniz. 

Knime WorkBench Kılavuzu

Knime WorkBench, açılıştan sonra görülen ilk ekrandır. Bazı alt alanlardan oluşmaktadır. Bu alt alanları ve ne için kullanıldıklarını görselde belirttim. 

Workbench ekranının tanıtımı

İlk Proje

Proje oluşturmak için file sekmesinin altından new seçeneğine tıklıyoruz. Ardından açılan pencerede “New Knime Workflow” seçeneği ile devam ediyoruz. Yeni bir çalışma penceresi açılacaktır bu pencerede çalışma dosyasının ismini ve kaydedileceği konumu belirliyoruz.

Workflow oluşturulması

Çalışma ekranı aşağıda görsel olarak verilmiştir.

Knime sürükle bırak yöntemi ile çalışmaktadır. “Node Repository” bölümünden kullanmak istediğiniz düğümleri(node) seçerek çalışma alanına taşıyabilirsiniz ya da seçilen düğüm üzerinde çift tıklanır.

İlk projemizi “Iris” veri seti üzerinde gerçekleştireceğiz. Veri setine Kaggle üzerinden ulaşabilirsiniz. “Decision Tree” algoritmasını kullanacağız.

İlk çalışma

Projeye başlamadan önce düğümlerin alt kısmında yer alan trafik lambasına benzeyen ışıkların bize ne ifade ettiklerine göz atalım.

Düğümlerin durumları

Süreç yukarıda verilmiş ve kullanılan düğümlerin açıklamaları yapılmıştır. Şimdi adım adım kullanılan düğümlerin konfigürasyon işlemlerini yapalım.

CSV Reader Konfigürasyonu

node_csv

İlk olarak veri seti dosyasının yolunu seçiyoruz. “Reader options” kısmında veri setinin hangi kurallara göre satır ve sütunlara ayrıldığını belirtiyoruz. Burada varsayılan değerleri ile bıraktım. Yazı serisinin ilerleyen kısımlarında burada yer alan seçeneklerin açıklamalarını yapacağım.

 

 

file table

 

Konfigürasyon işlemini tamamladıktan sonra düğüm üzerine sağa tıklıyoruz ve “execute” seçeneğine tıklayarak düğümü çalıştırıyoruz. CSV Reader üzerinde sağ tuşa tıklayıp file table seçeneğine tıkladığınızda sağ tarafta görseldeki gibi veri setiniz içeriğini görebilirsiniz.

Statistics Konfigürasyonu

Burada istatistiksel olarak gözlemlemek istediğimiz sütunları “include” kısmına alıyoruz. İstemediklerimizi ise “exclude” kısmında bırakıyoruz. Ekranda görülen büyüktür/küçüktür işaretleri ile taşıma işlemini gerçekleştirebiliriz.

node_statistics

 

 

 

 

 

 

 

 

Düğümü çalıştırdıktan sonra sağ tıklayıp “statistics view” seçeneğine tıklayarak aşağıdaki tabloyu gözlemleyebilirsiniz.

 

Scatter Plot Konfigürasyonu

Scatter plot düğümün konfigürasyon ayarın varsayılan olarak bıraktım. Düğümü çalıştırdıktan sonra “scatter plot” seçeneğine tıklayarak aşağıdaki pencereye ulaşabilirsiniz.

Bu pencerede “column selection” sekmesine tıklayarak x-column ve y-column kısmından koordinatlarda hangi kolonları gözlemlemek istiyorsanız seçebilirsiniz.

Partitioning Konfigürasyonu

Veriyi hangi oranda bölmek istediğinizi belirtmeniz gerekiyor. “Absolute” seçeneği belirttiğiniz satır sayısı kadar ayırır. Örneğin 100 girilmiş ise verinin 100 satırını ilk bölüm kalan kısmını ise ikinci bölüm olarak bölümler. “Relative” seçeneği ise belirlenen yüzdeye göre böler. Burada %66 ve %34 olarak ikiye ayrılmış durumda. Düğüme baktığımızda iki çıkış bulunur. Bu çıkışlardan üsteki %66’lık kısmı alttaki ise %34’lük kısmı başka düğüme aktarmak için kullanılır. Biz %66’lık kısmı train veri seti, %34’lük kısmı ise test veri seti olarak kullanacağız.

node_partitioning

Alt kısımda yer alan seçenekler ise veri setinin nasıl bölüneceğini belirler.

Take from top: Veri setinin sırasını bozmadan ilk sıradan başlayarak veri alır. Veri setinin yapısına göre problem oluşturabilir.

Linear sampling: Veriyi satırlarını atlayarak alır. Örneğin iki satırı train bir satırı test şeklinde ayırır.

Draw randomly: Veri setini rastgele olarak verilen oranda böler fakat her çalıştırmada ürettiği sonuç değişebilir.

Stratified sampling: Verilen etikete göre hem verilen oranda hem de etiketlerin yüzdelerine göre bölme işlemini gerçekleştirir. Örneğin veri setimizin %20’sini “setosa”, %55’ını “versicolor”, kalan %25’ini ise “virginica” oluşuryor ise train ve test veri setlerinde de bu oranlar korunur.

Use random seed: Belirlenen değere göre veri setini rastgele böler.

Decision Tree Learner Konfigürasyonu

Burada “class column” kısmında tahmin edilecek kolonu belirtiyoruz. Diğer seçenekler karar ağacı algoritmasının parametrelerini belirlemek için kullanılmaktadır. Bu örnekte varsayılan değerleri bırakılmıştır.

node_DTL

Decision Tree Predictor düğümü için konfigürasyon yapılmamıştır.

Scorer Konfigürasyonu

Scorer düğümünde “first column” olarak tahmin etmek istediğiniz sütunu seçiyoruz. “Secoud column” olarak ise algoritmanın tahmin ettiği değerleri seçiyoruz.

node_scorer

Düğüm üzerinde sağa tıklayıp “confusion matrix” seçeneğine tıklayarak aşağıdaki pencere ulaşabilirsiniz.

 

Referanslar
  • https://tr.wikipedia.org/wiki/KNIME
  • https://www.knime.com/getting-started-guide