svm理论与实验之17: 两行Java代码尝试LibSVM


徐海蛟博士 Teaching.


怎么用dos命令行使用svm-scale,svm-train,svm-predict三个程序,我们在前面博文中已经练习过了。这里给出用JAVA调用LibSVM API最简单的示例,用JAVA进行SVM分类只需要2行程序就搞定了。


训练集在官网有了,是UCI breast-cancer数据,乳腺癌数据,类数:2,总样本:683,我们把前面644个样本做训练数据(breast-cancer_sc-train),后面39个样本做测试数据(breast-cancer_sc-test),特征数:10。

(博文一般不允许粘贴外链,所以不粘帖网址)


训练出来的模型放置在文件breast-cancer.model中。最终测试结果放置在文件breast-cancer.result中。


我们用的还是libsvm最新版:3.17。

新建一个java工程,导入libsvm.jar。

新建一个类,名字任意。

上述数据文件,放置于工程基目录下。否则运行时候报告路径I/O错误!

编写main()函数:

public static void main(String[] args) throws Exception {

// 训练集文件, 644个样本

String trainArgs[] = { "breast-cancer_sc-train",

"breast-cancer.model" };

svm_train.main(trainArgs);// 训练分类model(分类超平面)


// 测试, 39个测试样本

String testArgs[] = { "breast-cancer_sc-test",

"breast-cancer.model", "breast-cancer.result" };

svm_predict.main(testArgs);// 测试

}// main()


结果如下:

113334817.png

你可能感兴趣的:(数据挖掘,大数据,SVM,智能搜索,徐海蛟,徐海蛟博士)