2012-08-20 2 views
2

Я добавил файл Weka.jar в свои переменные окружения и уже могу загружать файлы ARFF в Matlab и читать экземпляры. Теперь я хотел бы выполнить выбор атрибута партии в наборе обучающих и тестовых пар файлов, но я не могу найти никаких учебных пособий о том, как это сделать из Matlab.Weka from Matlab: Выбор атрибута

Я не хочу делать это через командную строку weka, потому что у меня есть набор из 15 обучающих файлов и 15 тестовых файлов только для одного пробного периода (и у меня много испытаний с разными файлами ARFF), поэтому я хотел пройти через их быстро от Матлаба.

Ваша помощь будет высоко оценена :) спасибо!

ответ

3

Две вещи:

Во-первых, если вы находитесь в MATLAB Desktop (на консоли MATLAB), и вы предварить вашу команду с восклицательным знаком, то вы можете запустить аргументы командной строки (!). Это также работает в скриптах (.m MATLAB-файлы).

Ex:

>> !man ls 

Что это означает, что вещи, которые вы можете сделать в терминале (например, от this tutorial), вы должны быть в состоянии сделать в MATLAB.

Во-вторых, вы можете access Java libraries from MATLAB. Вы можете получить доступ к функциям от weka.attributeSelection, импортировав их в рабочее пространство MATLAB, а затем используя методы, которые вам нужны, как вы бы это сделали в java. Например, вот .m файл, написанный Мэтью Dunham, который импортирует библиотеку ВЕКА (weka.core.converters.ArffLoader) и использует его в файле .m:

function wekaOBJ = loadARFF(filename) 
% Load data from a weka .arff file into a java weka Instances object for 
% use by weka classes. This can be converted for use in matlab by passing 
% wekaOBJ to the weka2matlab function. 
% 
% Written by Matthew Dunham 

    if(~wekaPathCheck),wekaOBJ = []; return,end 
    import weka.core.converters.ArffLoader; 
    import java.io.File; 

    loader = ArffLoader(); 
    loader.setFile(File(filename)); 
    wekaOBJ = loader.getDataSet(); 
    wekaOBJ.setClassIndex(wekaOBJ.numAttributes -1); 
end 
+0

большое спасибо! –

Смежные вопросы