JAVA'da WEKA ile kod geliştirme

Yazan: Şadi Evren ŞEKER
WEKA, JAVA dilinde yazılmış açık kaynaklı bir yazılımdır. Bu, WEKA'da bu bölüme kadar olan arayüzlerden erişmiş olduğumuz tüm işlemlere JAVA'dan basit nesne tanımı ve yöntem çağrıları ile erişilebileceği anlamına gelir.
Basit bir WEKA kodu
Weka ile yazılım geliştirme sürecine basit bir kodla başlayacağız. Amacımız, bir CSV dosyasını bir ARFF dosyasına dönüştürmektir. Bunu yapmak için, daha önce Weka'da açıklanan CSV Yükleyici ve ARFF Tasarrufu sınıflarını kullanacağız (daha fazla bilgi için) Weka Bilgi Akışı ))
Weka'da, bu kütüphaneler Weka'yı indirir indirmez gelir. Weka yüklemesi ile birlikte gelen weka.jar dosyası bu kodların tümünü içerir. Bu kodda kullanacağımız kütüphanelere aşağıdaki ithalat satırları ile ulaşmak mümkündür.

weka.core dosyasını içe aktarın.
weka.core.converters.ArffSaver öğesini içe aktarın;
weka.core.converters.CSVLoader öğesini içe aktarın;

Yukarıdaki ithalat hatlarına giden tam yolu bulmak için, Weka'nın sitesinde mevcut olan API kullanılabilir.
Weka açık kaynaklı bir proje olduğundan, tüm belge bilgileri ve en son sürüm weka.sourceforge.net adresinde bulunabilir. Nitekim API adreslerine “http://weka.sourceforge.net/doc/overview-summary.html .. yazarak ulaşılabilir.

Her sınıfın altındaki sınıflara, paketlere ve bilgilere, klasik javadocs veya Java API ile oluşturulan sayfalardan geleneksel olduğu gibi bu arayüzden erişilebilir.
Kullanacağımız CSVLoader ve ARFFSaver sınıfları, ithalat hatlarında gösterildiği gibi weka.core.converter altında bulunur. Burada, kullanılacak sınıf hakkında daha ayrıntılı bilgilere erişebiliriz.
Kodumuz 3 bölümden oluşacaktır:
• Giriş dosyasını yükleme
• CSV yapısını RFF yapısına dönüştürme
• ARFF dosyasını kaydetme
Bu yapıya göre, dosyaların yüklenmesi ve kaydedilmesi temel Java bilgisi ile çözülebilir. Bu aşamadaki yeni ve önemli bilgiler dönüşüm aşamasıdır.

CSVLoader yükleyici = new CSVLoader ();
loader.setsour by (sourceFile);
Örnekler data = loader.getDataSet ();

// ARFF'ı kaydet
ArffSaver saver = new ArffSaver ();
saver.set maddeler (veri);
saver.setFile (new File (newFile));
saver.setDestination (new File (newFile));
saver.writebatch ();

Yukarıdaki kod bu dönüşümü gösterir. CSVLoader kullanılarak bir loader nesnesi oluşturuldu ve ardından kayıtlar girdi dosyasından okundu ve bir Weka sınıfı olan Instances sınıfından bir veri nesnesi tanımlandı. CSVLoader nesnesinin veri kümesi bu veri nesnesine döndürülür.
Kodun ikinci bölümünde bir ArffSaver sınıfı oluşturulur ve daha önce yarattığımız veri nesnesi parametre olarak verilir, daha sonra dosya adı ve dosya konumu koruyucu nesneye verilir ve dosya writeBatch () yöntemiyle kaydedilir. .
Yukarıda belirtilen tüm kritik kod aşağıda verilmiştir.

weka.core dosyasını içe aktarın.
weka.core.converters.ArffSaver öğesini içe aktarın;
weka.core.converters.CSVLoader öğesini içe aktarın;

java.io dosyasını içe aktarın. *;

genel sınıf csvarff {

public static void main (String () args) kural dışı bırakıyor {

// CSV yükleme aşaması
CSVLoader yükleyici = new CSVLoader ();
loader.setSource (yeni Dosya ("input.csv"));
Örnekler data = loader.getDataSet ();

// ARFF kayıt aşaması
ArffSaver saver = new ArffSaver ();
saver.set maddeler (veri);
saver.setFile (yeni Dosya ("cikti.arff"));
saver.setDestination (yeni Dosya ("cikti.arff"));
saver.writebatch ();
}
}