十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
下面是CSDN上面关于libsvm的使用介绍,由于内容较多,我只把网址复制过来了,你可以参考一下,祝你好运!
创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站制作、网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的民乐网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
第一步:下载java版libsvm3.12,解压。
第二步:打开java文件夹
第三步:建立项目,引用lib.svm包
第五步:把第二步中的文件夹中四个文件复制到一个自定义的包中
第六步:写程序调用,代码如下,贴出来供大家学习,有不对的地方,欢迎拍砖。
import java.io.IOException;
import libsvm.svm;
import libsvm.svm_model;
public class SVMTest {
public static void main(String[] args) throws IOException {
svm_train svmt = new svm_train();
svm_predict svmp = new svm_predict();
String[] argvTrain = {
"C:\\Users\\baolong\\Desktop\\KDD\\other\\svm\\train\\TR1.data",// 训练文件
"C:\\Users\\baolong\\Desktop\\KDD\\other\\svm\\model\\MO1.model"// 模型文件
};
String[] argvPredict = {
"C:\\Users\\baolong\\Desktop\\KDD\\other\\svm\\predict\\PR1.data",// 预测文件
"C:\\Users\\baolong\\Desktop\\KDD\\other\\svm\\model\\MO1.model", // 模型文件
"C:\\Users\\baolong\\Desktop\\KDD\\other\\svm\\result\\RE1.out" // 预测结果文件
};
try {
svmt.main(argvTrain);
svmp.main(argvPredict);
} catch (IOException e) {
e.printStackTrace();
}
double[] record = { -1, 12, 12, 78 };
libsvm.svm_model model = svm
.svm_load_model("C:\\Users\\baolong\\Desktop\\KDD\\other\\svm\\model\\MO1.model");
System.out.println(svmp.predictPerRecord(record, model));
}
}
SVM主要通过训练集进行训练之后,用来进行数据分类(通常是二分类)。在对SVM进行训练之前你要确定输入的特征向量是什么,期望输出又是什么,对于你的系统很显然期望输出可以假定为:+1和-1,其中+1表示正面的,-1表示负面的,训练集就是那两张英文词列表,你可以用这两英文词列表来对SVM进行训练从而得到一个SVM模型,然后就可以用这个模型来对新的英文序列(中文词的英文翻译序列)进行“极性”分类了。其实分类器并不只有SVM,你还可以使用BP神经网络,AdaBoost等来实现数据分类。如果还有不明白的地方可以给我留言:blog.sina.com.cn/kwapoong
建议你在Matlab下进行试验,这样效率会快些。