Rapid Miner ile K-NN Uygulaması
Yazan: Şadi Evren ŞEKER
Bu yazımızda Rapid Miner yazılımına genel anlamda bir giriş yapacağız. Bu yazının amacı Rapid Miner’ın 7.0 versiyonu esas alınarak hazırlanmıştır ve yazının yazılma tarih itibariyle henüz yeni bir versiyondur. Rapid Miner bir topluluk yazılımıdır (community founded software) ve dolayısıyla topluluk üyeleri için ücretsizdir, ayrıca akademik ve profesyonel versiyonları da bulunmaktadır. Akademik versiyonu da ücretsiz olmakla birlikte profesyonel versiyonu an itibariyle 1999$ fiyat ile satılmaktadır.
Rapid Miner yazılımını basit bir uygulama yaparak tanıyacağız. Rapdi Miner Studio ilk kez açıldığında aşağıdaki yükleme ekranıyla çalışmaya başlar:
Yükleme ekranının ardından ise bir karşılama ekranı ile hızlı tanıtım videoları içerir.
Tanıtım videolarını içeren bu ekranda soldaki düğmelerden “New Process” tıklanarak aşağıdaki seçimlerin yapıldığı ekrana geçilebilir:
Hazır bazı şablonlar bu ekranda seçilebilir ancak biz yazının kapsamında boş bir proje kullanarak başlayacağız. Dolayısıyla “Blank” seçeneği seçilerek boş bir ekran ile Rapid Miner Studio açılabilir.
Ekranda “Repository” içerisinde sistemimize tanıtılmış olan veri kaynakları bulunmaktadır. Ayrıca Operators altında bulunan operatörler kullanılarak özel dosya kaynaklarından veri yüklenmesi de mümkündür. Biz veriyi kendi repository’mize yükleyerek kullanacağız. Bunun için ekranda bulunan “Add Data” butonuna tıklayarak yeni veri ekleme sihirbazını başlatmamız gerekiyor.
“Add Data” butonu tıklandıktan sonra aşağıdaki gibi bir ekran belirecektir. Bu ekranda veri kaynağının bir veritabanı veya bilgisayardaki herhangi farklı bir veri kaynağından yüklenmesine imkan verilir. Bizim durumumuzda veriyi hazır bir dosyadan yüklemek için “My Computer” seçeneğini seçiyoruz.
Seçimin ardından bilgisayarımızdaki kaynakları dolaşma imkanı veren aşağıdaki gibi bir dosya gezgini açılacaktır. Amacımız bilgisayarımızda bulunan iris.xslx dosyasını yüklemek (bu dosyayı indirmek için tıklayınız).
Dosya seçilip “next” butonuna bastıktan sonra verinin hangi kısmının alınacağını seçme imkanı verilecektir.
Verinin tamamını kullanacağımız için seçimi değiştirmeden “Next” düğmesine basarak devam ediyoruz.
Yeni ekranda verilerin tipleri otomatik olarak algılanarak her kolonun başında bulunan sütun başlıklarının altına yazılmaktadır. Örneğimizde Çanak Uzunluğu ve Çanak Genişliği verileri “real” tipte algılanmış, “Tür” ise polynominal olarak gösterilmiştir. Polynominal veri tipi birden fazla etiket alabilen durumlarda geçerlidir ve gerçekten de verinin yaprak çeşitlerini tutan bu veri kaynağında bir yaprak 3 farklı çeşitten birisi olabilmektedir. Rapid Miner Studio içerisinde ayrıca 2 etiketli veri kolonları için binominal tipi de bulunmaktadır. Bizim örneğimiz için en doğru seçimleri Rapid Miner yaptığından dolayı bu aşamada da herhangi bir değişiklik yapmamız gerekmiyor. Ancak uygulamanın daha sonraki aşamalarında sınıflandırma için kullanacağımız son sütundaki veriyi bir “label” olarak Rapid Miner’a tanıtmamız gerekiyor. Bu sayede Rapid Miner verinin etiketlenmesini sağlayabiliyor. Bunun için son kolonda bulunan aşağı oka basarak açılır menüden “Change Role” seçeneğini seçiyoruz
Ekrana çıkan yeni diyalog kutusunda ise yine sağda bulunan aşağı ok ile menüyü açıyor ve label seçeneğini seçiyoruz:
Seçimin ardından son kolon olan “Tip” kolonundaki verilerin renginin yeşile dönmesi gerekiyor. Bu sayede artık Rapid Miner bu verilerin tipinin etiket olduğunu öğrenmiş oluyor. Artık veri tiplerini ve etiketi Rapid Miner yazılımına tanıttığımıza göre “Next” butonuna basarak devam edebiliriz.
Veri eklemenin son aşamasında verinin ekleneceği uygun bir yerin repository içerisinde seçilmesi gerekmektedir. Local Repository seçili iken ekranda altta bulunan kısma bir veri kümesi ismi verip (tercihen iris) verimizi kaydediyoruz.
Veri kaydedildikten sonra veriyi çalışma ekranımıza taşımak için repository sekmesi altında bulunan iris verisini tutup taşımamız yeterlidir:
Uygulama kapsamında veri madenciliği uygulamalarından KNN (k-nearest neighborhood, k-en yakın komşu) algoritmasını çalıştırmak için öncelikle veriyi eğitim ve test kümelerine ayırmamız gerekiyor. Bunun için “Split Validation” isimli kutucuğu kullanmamız gerekiyor. Operators sekmesi altında, Validation klasöründe bulunan “Split Validation” kutusunu seçerek yine çalışma alanımızda bulunan boş beyaz alanlardan birisine götürerek bırakıyoruz.
Artık verinin iki parçaya bölünmesi işlemi için Rapid Miner’ın tek ihtiyacı olan, bir önceki adımda çalışma alanımıza yüklemiş olduğumuz verinin Validation kutusuna bağlanmasıdır. Bunun için iris verisinin out çıkışını tutarak validation kutusunun tra girişine bağlıyoruz.
Validation kutusunun içeriğine, kutuya çift tıklayarak giriyoruz. Ekranda train ve test olarak iki kısım belirecektir:
Bu ekranda training kısmında KNN kutusunu ve testing kısmında ise Apply Model ve Performance kutularını aşağıdaki ekranda görüldüğü şekilde bağlıyoruz:
Dikkat edilmesi gereken önemli konulardan birisi de buradaki Performance kutusunun classification için tasarlanmış olan performance kutusu olmasıdır. Sistemin bağlantıları tamamlandıktan sonra sistemi çalıştırmak için ekranın üstünde bulunan play tuşuna benzeyen run tuşuna basıyoruz ve sonuçlar ekrana gekiyor.