# Weka
Weka, makine öğrenimi amacıyla Waikato Üniversitesinde geliştirilmiş ve "Waikato Environment for Knowledge Analysis" kelimelerinin baş harflerinden oluşmuş yazılımın ismidir. Günümüzde yaygın kullanımı olan çoğu makine öğrenimi algoritmalarını ve metotlarını içermektedir.
Java dilinde geliştirilmiş olması ve kütüphanelerinin .jar dosyaları halinde geliyor olması sayesinde, Java dilinde yazılan projelere kolayce entegre edilebilmesi kullanımını daha da yaygınlaştırmıştır.
Yazılım, GNU Genel Kamu Lisansı ile dağıtılmaktadır.


## Genel Bilgiler.
Weka, tamamen modüler bir tasarıma sahip olup, içerdiği özelliklerle veri kümeleri üzerinde görselleştirme, veri analizi, iş zekası uygulamaları, :veri madenciliği gibi işlemler yapabilmektedir.
Weka yazılımı, kendisine özgü olarak bir .arff uzantısı desteği ile gelmektedir. Ancak Weka yazılımının içerisinde CSV dosyalarını da ARFF formatına çevirmeye yarayan araçlar mevcuttur.
Temel olarak aşağıdaki 3 Veri Madenciliği işlemi Weka ile yapılabilir:
  - Sınıflandırma ("Classification")
  - Bölütleme ("Clustering")
  - İlişkilendirme ("Association")
Ayrıca yukarıdaki işlemlere ilave olarak, veri kümeleri üzerinde ön ve son işlemler yapılabilir
  - Veri Ön işleme ("Data Pre-Processing")
  - Görselleştirme ("Visualization")
Son olarak Weka Kütüphanesi'nde veri kümelerini içeren dosyalar üzerinde çalışan çok sayıda hazır fonksiyon bulunmaktadır.


## Kullanım Popülerliği.
Weka, iş zekası alanında en çok kullanılan 10 yazılımdan birisi olup, yine iş zekası konusunda en çok kullanılan özgür yazılımlar sıralamasında ilk 3 sırada yer almaktadır.
Weka, 200'e yakın IEEE makalesinde doğrudan geçmekte olup 5,700 civarında ACM makalesinde de ismi doğrudan geçmektedir.
Weka, 2011 Ağustos ayı itibarıyla sadece sourceforge.net sitesinden, 2.5 milyona yakın indirme sayısı ile en çok indirilen ilk 200 Sourceforge Projesi arasında girmiştir.


## ARFF Dosya Yapısı.
İngilizce, "Attribute Relationship File Format" kelimelerinin baş harflerinden oluşmuştur. ARFF dosya yapısı, Weka'ya özel olarak geliştirilmiştir ve dosya, metin yapısında tutulmaktadır. Dosyanın ilk satırında, dosyadaki ilişki tipi (relation) tutulmakta olup ikinci satırdan itibaren veri kümesindeki özellikler (attributes) yazılmaktadır. Özelliklerin hemen ardından veri kümesi yer alır ve veri kümesindeki her satır bir örneğe (instance) işaret etmektedir. Ayrıca veri kümesindeki her örneğin her özelliği arasında da virgül ayıracı kullanılmaktadır. 
@relation havatahmini
@attribute nem numeric
@attribute sıcaklık numeric
@attribute basınç numeric
@attribute tahmin numeric
@data
53,25,1013,1
41,22,1011,-1
54,18,1012,-1
67,23,1000,1
Yukarıdaki örnek dosyada, hava tahmini için kullanılan nem, sıcaklık ve basınç değerleri bir dosya içerisinde 4 örnek içerecek şekilde gösterilmiştir. Bu değerler tip olarak sayısal değerler olduğundan "numeric" olarak ifade edilmiştir. Ancak bu değerler aşağıdaki tiplerde olabilir:
  - NOMINAL: [Küme Değerleri] Tahmin değeridir ve bir tanım kümesi alır. Örneğin tahmin {güneşli, yağmurlu, sisli} şeklinde tanımlanan bir kümede, bu özellik kümedeki tanımlı değerlerden birisini alabilir. 
  - REAL: [Reel Sayılar] kümesinden bir değer verileceğinde kullanılır. Örneğin sıcaklık değeri 22.8 şeklinde ondalıklı değerleri de ifade edecek şekilde verilmek istenirse tip olarak numeric yerine reel kullanabiliriz.
  - STRING: Veri kümesinin bu özelliğinin serbest yazı şeklinde olabileceğini ifade eder. Özellikle metin madenciliği çalışmaları için sıkça kullanılan bir tiptir. 
  - DATE: Veri kümesinin bu özelliğinin tarih olduğunu ifade eder. Örneğin veri kümesindeki kişilerin doğum tarihi veya örneklerin toplanma tarihi gibi özelliklerin tutulmasında kullanılabilir.


## Tarihi.
  - 1993 yılında, Waikato Üniversitesi tarafından ilk Weka paketi, TCL/TK, C ve Makefiles'dan oluşan bir şekilde dünyaya duyuruldu.
  - 1997 yılında, JAVA'nın da gelişmesi ile, bütün Weka paketinin yeni baştan Java dilinde yazılması kabul edildi ve proje Java'ya taşındı.
  - 2005 yılında, Weka, dünyanın en prestijli veri madenciliği ödüllerinden olan SIGKDD "Data Mining and Knowledge Discovery Service Award", ödülüne layık görüldü.
  - 2006 yılında, Pentaho Corporation firması tarafından iş zekası uygulamalarında kullanılmak üzere Weka'nın lisansı satın alındı. Bu tarihten sonra Weka "Pentaho business intelligence suite" isimli paketin içinde de yer almaya başladı.
  - 2011 yılı itibarıyla 2.487.213 indirme ile en popüler 200 Sourceforge projesinden birisi olmuştur. Tüm Zaman İndirmeleri