Switch to unified view

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