[b4b313]: / classification / SMOTEBoost / ClassifierTrain.m

Download this file

29 lines (25 with data), 1.0 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
function model = ClassifierTrain(data,type)
% Training the classifier that would do the sample selection
javaaddpath('weka.jar');
CSVtoARFF(data,'train','train');
train_file = 'train.arff';
reader = javaObject('java.io.FileReader', train_file);
train = javaObject('weka.core.Instances', reader);
train.setClassIndex(train.numAttributes() - 1);
% options = javaObject('java.lang.String');
switch type
case 'svm'
model = javaObject('weka.classifiers.functions.SMO');
kernel = javaObject('weka.classifiers.functions.supportVector.RBFKernel');
model.setKernel(kernel);
case 'tree'
model = javaObject('weka.classifiers.trees.J48');
% options = weka.core.Utils.splitOptions('-C 0.2');
% model.setOptions(options);
case 'knn'
model = javaObject('weka.classifiers.lazy.IBk');
model.setKNN(5);
case 'logistic'
model = javaObject('weka.classifiers.functions.Logistic');
end
model.buildClassifier(train);