Knime Ders 3: Database Bağlantısı, Database’den Veri Okuma ve Yazdırma

Selam!

Tableau’nun yanında Knime’da kullanıyorum ve Tableau’da olduğu gibi Knime ile ilgili de Türkçe kaynak malumunuz oldukça kısıtlı hatta hiç olmadığı için size daha çok duyurmak ve anlatmak istiyorum.

Bağlantı için gerekli olan bazı driver’lar knime içerisinde default olarak yüklü fakat oracle ya da exasol gibi database’ler için driver’ı sizin yüklemeniz gerekiyor.

Oracle için nasıl yapıldığına bakalım.

File -> Preferences diyelim ve arama kısmına database yazalım. KNIME’ın altındaki databases yazan kısma tıklayalım. Add file diyerek .jar uzantılı jdbc driver dosyasını seçelim ve ok diyelim.

Screenshot_5

Driver’ımızı ekledik.

Pekala veri tabanından veriyi knime ile nasıl okuyoruz?

Sol altta Node Repository yazan kısımdan Database Reader yazarak aratalım. Node’a çift tıklayarak ekrana alalım. Sağ tık -> configure ya da çift tık ile node’un içine girelim.

Screenshot_6

Yukarıda gördüğünüz şekilde database bilgilerinizi girin. Database URL yazan kısma orada da verildiği gibi ip:port numarası yerleştin.

Bu kadar bağlantımız hazır.

İsterseniz aynı veri tabanından bir tablo daha çekip bu tabloları join’leyip veri üzerinde oynamalar yapalım.

Şuan ben exasol (dünyanın en hızlı analitik veri tabanı ilerleyen yazılarımda kendisini sizlerle tanıştıracağım) kullandığım için exasol‘da iki tabloya ayrı ayrı bağlanarak tabloları join’leyelim. Bunun için kullanacağımız node Joiner.

Screenshot_7.png

Burada gördüğünüz gibi order_id ve siparis_no üzerinden right join yaptım. Joiner node’unu da bu şekilde kullanıyoruz.

Benim hazırlamış olduğum örnek aşağıdaki şekilde (diğer node’ları ilerleyen günlerde anlatacağım);

Screenshot_3.png

Verinin yeni halini veri tabanına yazdırmak için Database Writer node’unu kullanıyoruz. Node’a çift tıklayarak içerisine bağlantı bilgilerimizi giriyoruz.

Screenshot_9.png

Tabi bunun için önce veri tabanındaki tabloyu oluşturmak gerekiyor. Tablo oluşturulduktan sonra güncellenen veriler veri tabanındaki yerini alıyor.

Exasol anlatırken daha detaylı örneklerle Tableau, Knime ve Exasol’u birbirine bağlayacağım. Böylece yeni nesil iş zekası ürünlerinin kolaylığını sizlerde görmüş olacaksınız:))

Herkese bol teknolojik günler ∞

Reklamlar

Knime Ders 2: Sosyal Ağlardaki Verilerin İşlenmesi & Tableau’ya Aktarım

Buyrun Twitter verilerini çekelim. Öncelikle bir twitter adresiniz ve buraya bağlanmış bir mobil hattınız olmalı. Ardından apps.twitter.com‘a giriyoruz. Create New App’e tıklıyoruz. Yanında minik yıldız olan boşlukları dolduruyoruz (Name, Description, Website). Enter.

Şimdi gelen sayfada Keys and Access Tokens sekmesine tıklayıp Knime ekranına geçelim.

Knime da ekrana atıp bağlayacağınız nodlar:

Twitter API Connector (Twitter’a bağlanmak için)

Twitter Search (Arama yapmak için)

Twitter Users (Kullanıcıları görmek için)

Twitter Timeline (Timeline nı görmek istediğiniz kişi için)

Twitter Post Tweet (Sizin twitter hesap bilgileriniz. Buradan twitter’a tweette atabilirsiniz.)

Aşağıda resmini eklemiş olduğum şekilde birbirine bağlıyoruz. Twitter API Connector’a çift tık ile Credentials sekmesindeki API key, API secret, Access token, Access token secret bilgilerini açmış olduğumuz sayfada Keys and Access Tokens sekmesinde application settingste yazan bilgiler ile api verilerini, aşağıda create my access token’a tıkladığınızda yazan bilgiler ile access verilerini dolduruyoruz.

Tamamsak işimiz bitti sayılır nodlara çift tıklayarak hangi verileri çekmek istediğimizi seçiyoruz:

Twitter Users sağ tık search results kullanıcıların tweetlerini getirir. (Twitter users’a çift tıklayarak arkadaşlar, favoriler vs. ne görmek istediğinizi siz seçebilirsiniz)

Twitter Search çift tık query: bilgisayar dersek bilgisayar hakkında konuşulanları görürürüz. (API nin ulaştığı bilgiler  tarih vs. kısıtlıdır.)

Twitter Timeline çift tık yazılarını görmek istediğiniz kullanıcıyı seçebilirsiniz. User’ı seçip altındaki user’ın karşısına kişinin twitter kullanıcı adını yazarak o kişinin tweetlerini görebilirsiniz.

NOT: Hangi nod için çalışma ekranını görmek istiyorsanız: İlgili noda sağ tık ile en alttaki seçeneği seçin.

Çalışma ekranın üzerine yazı yazmak için: ekranda boş bir yerin üzerine gelerek sağ tık -> New Workflow Annotation diyebilirsiniz.

Bu slayt gösterisi için JavaScript gerekir.

Şimdi size son olarak Knime ve Tableau’nun ilişkisinden söz etmek istiyorum. Tüm bu yaptıklarımızdan sonra hangi projede çalışıyorsanız Knime’da yaptıklarınızı Tableau’da rapor haline getirmek mümkün. Resmini de koyduğum üzere Tableau Writer TDE nodunu en son noda bağlayarak çift tık kayıt yerinizi seçip Knime verilerini Tableau’ya aktarabilirsiniz. Kayıt yerinden kaydettiğiniz .tde uzantılı dosyayı açarak verilerinizi raporlaştırabilir dilediğiniz gibi görselleştirebilirsiniz.

Sevgiler

Knime Ders 1: Web – Metin Madenciliği

Şimdi biraz sizlere Knime‘dan bahsetmek istiyorum. Knime açık kaynak kodlu bir veri madenciliği yazılımı. Üniversitedeyken Knime‘a benzer olarak Rapidminer kullanmıştım ve ikisini kıyaslayacak olursam Rapidminer ücretsiz olarak size yalnızca on bin satırlık veri ekleme imkanı veriyordu fakat Knime tamamen ücretsiz bir veri işleme yazılımı. (Desktop’ı ücretsiz, server tarafı ücretlidir.)

Knime workflow mantığıyla çalışır yani ekrana sürükle bırak yaparak node denen kutucukları birbirine bağlayıp akış diyagramı oluştururuz.

Knime‘ı yüklediğinizde kurulu değilse “palladian“ı mutlaka kurmamız lazım. Palladian java üzerinde geliştirilmiş internet üzerinden download yapmayı sağlayan bir yazılım. Bunun için Install KNIME Extensions‘a girerek arama kısmına palladian yazıyoruz. (Sol altta hide items that are already installed (yüklenmiş olanları gizle) seçeneğindeki tiki kaldırırsanız yüklü olan programlar görünecektir.) Knime Community Contributions Other -> Palladian for KNIME diyerek palladian‘ı kuruyoruz.

Eveet tamamsak şimdi kullanmaya başlayabiliriz. Burada bir sürü örnekten istediğinizi çift tık ile seçerek inceleyebilirsiniz.

Dilerseniz yeni bir proje oluşturarak web madenciliği – metin madenciliği – ile ilgili örneğimizi oluşturalım. En üst sekmeden File -> New -> New KNIME workflow diyerek yeni bir proje açıyoruz.

Hadi gelen ekranı doldurmaya başlayalım.

Sol aşağıda Node Repository kutusuna gelerek Table Creator i bulup çift tıklıyoruz. Table Creator nodunu web sitesinden bilgileri çekmek için kullanıyoruz. Noda çift tıklıyoruz ya da sağ tık configure diyoruz. Gelen Row0 Column1’e verilerini çekmek istediğimiz rss’i yapıştırıyoruz. Ben google’a cnn rss feed yazarak gelen adrese tıklayıp çıkan rss’lerden birini kopyalarak yapıştırdım.

Ekrana Http Retriever’i alıyoruz ve iki nodu birbirine bağlıyoruz (giriş çıkış sayıları farklı olduğu için eskisini aldım). Bu nodlar verileri internetten almamızı sağlıyor. Şimdi Feed Parse‘ı alarak gelen verileri parçalara bölüyoruz. Ardından Strings to Document‘i (üzerine çift tıklayıp title karşısına title, full text’in karşısına da description olarak ayarlardım) ekliyorum. Dökümanı işleyebilmek için string olan bilgileri dökümana çevirmek zorundayız.

Sonraki adım OpenNLP NE Tagger. Bu nodta etiketlemeyi sağlıyor. 2, 3, 4 vs. istediğiniz kadar ekleyebilirsiniz ben 2 tane ekliyorum. Noda çift tıklayarak neye göre etiketlendirme yapacağını ayarlayabiliyorsunuz tarih, yer, kişi vb. Arkasından Bag of Words Creater ekliyoruz kendisi her etiketi sayar ve gruplandırır.

Tags to String ile etiketlerimizi string’e çeviriyoruz. Şimdi TF’i ekliyoruz. TF, frekansları (sayıları) sayıyor.

Son olarak Tag Cloud ekliyoruz. Tag cloud, yani etiket bulutu etiketleri görmemizi sağlar. Sık kullanılan etiketleri daha büyük diğerlerini daha küçük yazar. Bunu görmek için Tag Cloud sağ tık image port diyebilirsiniz.

Son olarak yeşil play iconuna basın ve hepsi bu kadar!

25.png

Sevgiler

İş Zekası

Selam arkadaşlar uzun zamandır bloga yazamıyordum geri döndüm!

Sizlere okulda öğrenemeyeceğiniz yeni parlayan bir alanı tanıtmak istiyorum: “İş Zekası

Business Intelligence kısaca BI.

İş zekasının amacı, kullanılacak verileri en etkin ve anlaşılır hale getirmektir. Analitik düşünce ve veriler arasında ilişki kurmak ana konumuz. Buna bağlı olarak da veritabanı bilmeniz gerekiyor. Şimdi size ETL, informatika, sas, spss, microstrategy, data warehouse, data mart ve cognos gibi kavramlardan bahsetmek istiyorum.

Öncelikle ETL (Extract, transform, load) açılımından da anlaşılacağı gibi verinin kaynaktan alınıp değiştirilip veri ambarına yüklenmesine deniyor. Başka bir data quality yöntemi de ETL’nin dönüştürme ve yükleme sırasının yer değiştirmiş hali olan ELT. ELT (Extract Load Transform) de veri yine kaynaktan alınır bu sefer önce sisteme yüklenir sonra dönüştürme işlemi yapılır.

ETL ürünün tam adı Informatica Power Center. Özetle, birden fazla kaynaktan veriyi çeker ve verinin üzerinde dönüşümler yaparak gereken yere veriyi yükler. İçerisinde Power Center Designer, Workflow Monitor ve Workflow Manager gibi uygulamalar bulunur.

Designer, asıl tabloya ulaşmak için yol haritaların oluşturulmasını sağlar.

Workflow ise isminden anlaşılacağı üzere iş akışıdır. Gerekli tablonun ETL sürecini oluşturur.

Workflow Monitor, workflow’daki iş akışların çalışma durumlarını takip eder. CPU, RAM kullanımları, alınan hatalar ve çalışma süreleri workflow monitör ile takip edilir.

Büyük boyutlu veriler sistemlerden alınarak ETL sürecinden geçerler daha sonra bu veriler veri ambarı ya da data mart’lara yüklenir.

Data mart, departmansal verileri tutar. Örneğin finans, yazılım ya da sistem destek departmanları gibi. Data warehouselar ise bütün şirketin verilerini depolar.

İstatistik için kullanılan bir kaç programdan da bahsetmek istiyorum. Bunlar SAS ve SPSS.

SAS: Birbirinden farklı istatistik teknikleri kullanarak geçmişteki verilere bakıp  gelecek verileri için tahmini sonuçlar elde eder.

SPSS: Dataları birleştirmeyi sağlayan fonksiyonlar içeren bir istatistik programıdır. İçerisinde çeşitli grafikler vardır.

Cognos: IBM, cognos’u alarak girdiği iş zekasına oldukça fayda sağlamış. Verilere bakarak karar vermeyi sağlayan cognos, verileri elektronik tablo haline getirerek analiz ediyor. Böylece gelecek tahmini yapmaya yardımcı oluyor. Veri ile cognos arasında framework manager denen bir yapı bulunuyor. Framework Manager sayesinde oluşan paket yapıların üzerinden kullanıcı işlemleri görülebiliyor.

NOT: Veri ile bilgi arasındaki fark:
Veri işlendikten sonra bilgi olur. Yani bilginin işlenmemiş haline veri diyoruz.

Piyasada iş zekası alanında çalışmak isterseniz zaten eğitilmek üzere işe alınacaksınız ancak analitik düşünebilmek, ilişkiler arası bağlantı kurmak ve kısaca kullanılan programlarla ilgili bilgi sahibi olmanız size bu yolda yardımcı olacaktır.

+2 Güncelleme: Ayrıca Tableau, Power BI, Qlik vb. gibi iş zekasında kullanılan bir çok araç mevcuttur. İlerleyen yazılarımda anlatmaya başlıyorum.

İyi okumalar ♣