package com.maalaang.omtwitter.ml;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import java.text.ParseException;
import jnisvmlight.FeatureVector;
import jnisvmlight.SVMLightModel;
public class SvmClassifier {
private SVMLightModel model = null;
public SvmClassifier(File modelFile) throws MalformedURLException, ParseException {
model = SVMLightModel.readSVMLightModelFromURL(modelFile.toURI().toURL());
}
public SvmClassifier(String modelFile) throws MalformedURLException, ParseException {
URL url = SvmClassifier.class.getClassLoader().getResource(modelFile);
if (url == null) {
url = new File(modelFile).toURI().toURL();
}
model = SVMLightModel.readSVMLightModelFromURL(url);
}
public double classify(SvmFeatureVector fv) {
int size = fv.size();
int[] features = new int[size];
double[] values = new double[size];
fv.toArrays(features, values);
return model.classify(new FeatureVector(features, values));
}
}