|
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); |