İçeriğe atla

Weka

Weka
Yeni Zelanda'da yaşayan bir kuş türü olan wekayı betimleyen belirtke
Geliştirici(ler)Waikato Üniversitesi
Güncel sürüm3.6.12 (son sürümü), 3.7.12 (geliştirme sürümü) / 15 Aralık 2014
Programlama diliJava (programlama dili)
İşletim sistemiçapraz platform
Türmakine öğrenimi
LisansGNU Genel Kamu Lisansı
Resmî sitesihttp://www.cs.waikato.ac.nz/~ml/weka/
Kod deposu Bunu Vikiveri'de düzenleyin

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.[1]

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.[2]

Weka, 200'e yakın IEEE makalesinde doğrudan geçmekte olup[3] 5,700 civarında ACM makalesinde de ismi doğrudan geçmektedir.[4]

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ı.[5]
  • 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ü.[6][7]
  • 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 9 Eylül 2010 tarihinde Wayback Machine sitesinde arşivlendi.

Kaynakça

  1. ^ Şadi Evren Şeker (2013). İş Zekası ve Veri Madenciliği (Weka ile) ISBN 9786051276717. Cinius. 
  2. ^ "Analytics Training Sitesi, 2011 yılı En popüler 10 iş zekası yazılımı". 3 Temmuz 2013 tarihinde kaynağından arşivlendi. Erişim tarihi: 6 Temmuz 2013. 
  3. ^ "IEEE Xplore Weka arama sonuçları". 9 Ağustos 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 6 Temmuz 2013. 
  4. ^ "ACM Dijital Kütüphanesi arama sonuçları". 9 Ağustos 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 6 Temmuz 2013. 
  5. ^ Ian H. Witten (1999). "Weka: Practical Machine Learning Tools and Techniques with Java Implementations" (PDF). Proceedings of the ICONIP/ANZIIS/ANNES'99 Workshop on Emerging Knowledge Engineering and Connectionist-Based Information Systems. ss. 192-196. 28 Eylül 2007 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 26 Haziran 2007. 
  6. ^ Gregory Piatetsky-Shapiro (28 Haziran 2005). "KDnuggets news on SIGKDD Service Award 2005". 14 Temmuz 2007 tarihinde kaynağından arşivlendi. Erişim tarihi: 25 Haziran 2007. 
  7. ^ "Overview of SIGKDD Service Award winners". 2005. 1 Temmuz 2007 tarihinde kaynağından arşivlendi. Erişim tarihi: 25 Haziran 2007. 

Dış bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">C (programlama dili)</span> programlama dili

C, yapısal bir programlama dilidir. Bell Laboratuvarları'nda, Ken Thompson ve Dennis Ritchie tarafından UNIX işletim sistemini geliştirebilmek amacıyla B dilinden türetilmiştir. Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian Kernighan ve Dennis M. Ritchie tarafından yayımlanan "C Programlama Dili" kitabından sonra hızlanmıştır. Günümüzde neredeyse tüm işletim sistemlerinin yapımında %95'lere varan oranda kullanılmış, hâlen daha sistem, sürücü yazılımı, işletim sistemi modülleri ve hız gereken her yerde kullanılan oldukça yaygın ve sınırları belirsiz oldukça keskin bir dildir. Keskinliği, programcıya sonsuz özgürlüğün yanında çok büyük hatalar yapabilme olanağı sağlamasıdır. Programlamanın gelişim süreciyle beraber programlamanın karmaşıklaşması, gereksinimlerin artması ile uygulama programlarında nesne yönelimliliğin ortaya çıkmasından sonra C programcıları büyük ölçüde nesne yönelimliliği destekleyen C++ diline geçmişlerdir.

<span class="mw-page-title-main">Tam sayı</span> sıfırın sağında bulunan sayılar büyükken solunda bulunan sayılar küçüktür

Tam sayılar, sayılar kümesinde yer alan sıfır (0), pozitif yönde yer alan doğal sayılar ve bunların negatif değerlerinden oluşan negatif sayılardan oluşan sayı kümesidir.

<span class="mw-page-title-main">JavaScript</span> programlama dili

JavaScript, HTML ve CSS ile birlikte World Wide Web'in temel teknolojilerinden biri olan programlama dilidir. Web sitelerinin %97'sinden fazlası, web sayfası hareketleri için istemci tarafında JavaScript kullanırlar ve kullanılan kodlar genellikle üçüncü taraf kitaplıkları içerir. Tüm büyük web tarayıcılarında, kaynak kodunu kullanıcıların cihazlarında yürütebilmek için özel bir JavaScript motoru bulunur.

<span class="mw-page-title-main">Java</span> açık kaynak kodlu, nesneye yönelik, zeminden bağımsız, yüksek verimli, çok işlevli, yüksek seviye, adım adım işletilen bir programlama dili

Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmış açık kaynak kodlu, nesneye yönelik, platform bağımsız, yüksek verimli, çok işlevli, yüksek seviye, hem yorumlanan hem de derlenen bir dildir.

Veri madenciliği, büyük ölçekli veriler arasından faydalı bilgiye ulaşma, bilgiyi madenleme işidir. Büyük veri yığınları içerisinden gelecekle ilgili tahminde bulunabilmemizi sağlayabilecek bağıntıların bilgisayar programı kullanarak aranması olarak da tanımlanabilir.

<span class="mw-page-title-main">Nesne yönelimli programlama</span> nesne kavramına dayalı programlama paradigması

Nesne yönelimli programlama veya kısaca NYP, Her işlevin nesneler olarak soyutlandığı bir programlama yaklaşımıdır. NYP destekleyen programlama dilleri yüksek seviye diller olarak adlandırılır.

<span class="mw-page-title-main">SPSS</span>

SPSS bilgisayar programı, ilk sürümü 1968 yılında piyasaya verilmiş istatistiksel analize yönelik bir bilgisayar programıdır. Uzun bir dönem bu program SPSS Inc. adını taşıyan bir ABD asıllı şirket tarafından hazırlanıp sürüme sokulup satılmıştır. 2009'da bu şirket ve bu programın sahipliliği IBM şirketine satılmıştır. Bu tarihten sonra bir geçiş döneminde PASW Statistics adıyla anılıp Ağustos 2010 'dan itibaren resmen IBM SPSS Statistics olarak isimlendirilmeye başlanmıştır. Şu anda en son versiyon IBM SPSS Statistics 24.0 olup bu versiyon Mart 2016'dan itibaren pazarlanmaya başlanmıştır.21 Mart 2018 tarihinde Wayback Machine sitesinde arşivlendi.

<span class="mw-page-title-main">Bilgisayar mimarisi</span>

Bilgisayar mimarisi, en küçüğe ve en başarılıya ulaşmayı hedeflerken aynı zamanda maliyeti de göz önünde bulundurduğu için sanat ve bilimin ortak buluştuğu nokta olarak da tanımlanır. Bilgisayar Mimarisi, bilgisayar parçalarının iç yapıları ve aralarındaki haberleşme bağlantıları ile ilgilidir.

<span class="mw-page-title-main">Yıldız kümesi</span> Kütle çekimi altında birbirlerine bağlı yıldızlar topluluğu

Yıldız kümeleri veya yıldız bulutları, öz kütleçekimiyle bir arada tutulan büyük yıldız gruplarıdır. İki ana yıldız kümesi türü belirlenmiştir: Küresel kümeler, kütleçekimsel olarak bağlı on bin ila milyonlarca yaşlı yıldızın oluşturduğu sıkı gruplardır, açık kümeler ise genellikle birkaç yüzden az üye içeren, daha gevşek kümelenmiş ve çoğunlukla çok genç yıldızların oluşturduğu gruplardır. Açık kümeler, gökada içinde hareket ederken dev moleküler bulutların çekim etkisiyle zamanla dağılır, fakat küme üyeleri artık çekimsel olarak bağlı olmasalar da uzayda genel olarak aynı yönde hareket etmeye devam ederler; bunlara yıldız topluluğu, bazen de hareketli grup denir.

<span class="mw-page-title-main">Küme</span> matematiksel anlamda tanımsız bir kavramdır. Bu kavram "nesneler topluluğu veya yığını" olarak yorumlanabilir.

Küme, matematikte farklı nesnelerin topluluğu veya yığını olarak tanımlanmaktadır. Bu tanımdaki "nesne" soyut ya da somut bir şeydir. Fakat her ne olursa olsun iyi tanımlanmış olan bir şeyi, bir eşyayı ifade etmektedir. Örneğin, "Tüm canlılar topluluğu", "Dilimiz alfabesindeki harflerin topluluğu", "Masamın üzerindeki tüm kâğıtlar" tümcelerindeki nesnelerin anlaşılabilir, belirgin oldukları, kısaca iyi tanımlı oldukları açıkça ifade edilmektedir. Dolayısıyla bu tümcelerin her biri bir kümeyi tarif etmektedir. O halde, matematikte "İyi tanımlı nesnelerin topluluğuna küme denir." biçiminde bir tanımlama yapılmaktadır.

<span class="mw-page-title-main">Apache Ant</span>

Apache Ant, yazılım inşası süreçlerini otomatikleştirmeye yarayan bir araçtır. Make'e benzeyen uygulama, Java ile geliştirilmiş olup Java platformunu gerektirmekte ve Java projelerinde sıkça kullanılmaktadır.

Java platformu dillerinden olan BeanShell, kendi sözdiziminin yanı sıra Java programlama dili sözdiziminin büyük bir bölümünü desteklemesi nedeniyle, Java programlama dilinin komut kabuğu olarak da görülebilir. BeanShell'in bu özelliği, küçük Java kod parçalarının denenmesinde ve Java platformu için yazılmış sınıf dosyalarının yüklenip, birim sınamalarının yapılmasında, düzenle-derle-çalıştır döngüsünü kısaltması sayesinde, büyük kolaylık sağlar.

<span class="mw-page-title-main">Java sanal makinesi</span>

Java Sanal Makinesi (JSM), Java platformunun nesne modülü formatı olan class uzantılı sınıf dosyalarının belleğe yüklenip çalıştırılması için gereken hizmetleri sunan bir sistem programıdır ve temel görevinin sınıf dosyalarını yorumlamak olduğu söylenebilir. Ancak, JSM'ni salt bir yorumlayıcı olarak görmek büyük haksızlık olur. Zira, yorumlama ile birlikte JSM'nin şu görevleri de vardır.

<span class="mw-page-title-main">İş zekası</span> şirketlerin ve kurumların başarısı için yapılan analizleri anlayabilme ve geliştirebilme kabiliyeti

İş zekası veya kısaca: BI, iş amaçları için ham veriyi anlamlı ve kullanışlı bilgiye dönüştüren teorilerin, yöntemlerin, süreçlerin, mimarilerin ve teknolojilerin bir kümesidir. BI yeni fırsatlar tanımlamak ve geliştirmeye yardım etmek için büyük miktarlarda bilgi yönetir. Yeni fırsatların ve etkili strateji gerçekleştirmek için bir rekabet piyasası avantajı ve uzun soluklu kararlılık sağlar.

<span class="mw-page-title-main">Metin madenciliği</span>

Metin madenciliği, çalışmaları metni veri kaynağı olarak kabul eden veri madenciliği çalışmasıdır. Diğer bir tanımla metin üzerinden yapısallaştırılmış veri elde etmeyi amaçlar. Metin madenciliği, metinlerin sınıflandırılması, bölütlenmesi, metinlerden konu çıkarılması, metinler için sınıf taneciklerinin üretilmesi, metinlerde görüş analizi yapılması, metin özetlerinin çıkarılması ve metinin özü ile ilgili ilişki modellemesi gibi çalışmaları hedefler.

<span class="mw-page-title-main">Açık yıldız kümesi</span>

Açık yıldız kümeleri, birkaç bin yıldızdan oluşan bir yıldız grubudur. Açık yıldız kümesini oluşturan yıldızlar aynı dev moleküler buluttan oluşmuşlardır ve yaklaşık olarak aynı yaştadırlar. Açık yıldız kümesi galaktik küme olarak da bilinir. Samanyolu Galaksisi'nde 1100'den fazla açık yıldız kümesi keşfedilmiştir ve daha fazla olduğu düşünülmektedir. Açık yıldız kümeleri karşılıklı yerçekimi etkisiyle birbirlerine gevşek bir biçimde bağlıdırlar. Açık yıldız kümeleri diğer kümelerle ve gaz bulutlarıyla yakın temaslarda bulunarak bozulmuş hale gelirler. Bu bozulmalar hem galaksinin ana bölümüne doğru yer değiştirmelere hem de küme elemanlarının yakın temasların içine doğru kaybıyla sonuçlanır.

<span class="mw-page-title-main">KNIME</span>

KNIME (Telaffuz/naɪm/) ismi Konstanz Information Miner yani Konstanz Bilgi Madencisinin kısaltmasından oluşmuştur. KNIME açık kaynak ve çapraz platform veri analizi, raporlama, entegrasyon platformudur. KNIME, modüler veri hattı konsepti aracılığıyla makine öğrenimi ve veri madenciliği için çeşitli bileşenleri içerir ve bu araçlara "node" denir. Görselleştirme, modelleme ve veri analizi için (ETL) temel veri önişleme nodelarını bir kullanıcı grafik arabiriminde herhangi bir kod yazmadan kullanılmasını sağlar.

<span class="mw-page-title-main">Veri bilimi</span> verilerden bilgi ve içgörü elde etmeye odaklanan disiplinler arası çalışma alanı

Veri bilimi, yapılandırılmış ve yapılandırılmamış verilerden bilgi ve öngörü elde etmek için bilimsel yöntemleri, süreçleri, algoritmaları ve sistemleri kullanan çok disiplinli bir alandır. Veri bilimi veri madenciliği ve büyük verilerle ilişkilidir.

Veri analizinde, anomali tespiti, verilerin çoğunluğundan önemli ölçüde farklılaşarak şüphe uyandıran nadir öğelerin, olayların veya gözlemlerin tanımlanmasıdır. Tipik olarak anormal öğeler, banka dolandırıcılığı, yapısal bir kusur, tıbbi sorunlar veya bir metindeki hatalar gibi bir tür soruna dönüşecektir. Anormallikler ayrıca aykırı değerler, yenilikler, gürültü, sapmalar ve istisnalar olarak da adlandırılmaktadır.

Microsoft Windows uygulama programlamasında, OLE Otomasyonu, Microsoft tarafından oluşturulan süreçler arası bir iletişim mekanizmasıdır. Başlangıçta Visual Basic olan komut dosyası dilleri tarafından kullanılması amaçlanan Bileşen Nesne Modeli'nin (COM) bir alt kümesine dayanmaktadır, ancak şimdi Windows'ta birkaç dil tarafından kullanılmaktadır. IDispatch arabirimini uygulamak için tüm otomasyon nesneleri gereklidir. Otomasyon denetleyicileri adı verilen uygulamaların, diğer uygulamalar tarafından dışa aktarılan paylaşılan otomasyon nesnelerine erişebildiği ve bunları değiştirebildiği bir altyapı sağlamaktadır. Uygulamaların birbirini kontrol etmesi için daha eski bir mekanizma olan Dinamik Veri Değişimi'nin (DDE) yerini almaktadır. DDE'de olduğu gibi, OLE Otomasyonunda otomasyon denetleyicisi "istemci"dir ve otomasyon nesnelerini dışa aktaran uygulama "sunucu"dur.