libsvm java api文档,libsvm-javaAPI
獲得
tw.edu.ntu.csie
libsvm
3.17
libsvm-3.17.jar的結(jié)構(gòu)見下圖,
default package:這里是工具制作者自己封裝出來的一些類,它們都有main函數(shù),可作為小工具直接使用。
libsvm package:核心文件。
關(guān)于default package:因?yàn)槔锩娴念惒辉谌我庖粋€(gè)package中,所以我們的工程無法引用。解決辦法是,通過maven得到源代碼,然后復(fù)制粘貼到我們的package下面。
svm_train的輸入為訓(xùn)練集,輸出為得到的訓(xùn)練模型。
svm_predict的輸入為待預(yù)測數(shù)據(jù),輸出為得到的預(yù)測結(jié)果。
它們的輸入輸出都是文件。
訓(xùn)練集
libsvm官方提供了一些訓(xùn)練集:http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/
其中有一個(gè)breast-cancer訓(xùn)練集,見圖:
格式為: label featurIndex1:value1featurIndex2:value2 ?...
訓(xùn)練模型model
它是一個(gè)文本文件,內(nèi)容見圖:
預(yù)測
本例中直接把訓(xùn)練集作為待預(yù)測集,結(jié)果見下:
預(yù)測集與訓(xùn)練集一樣,每一行都要有l(wèi)abel標(biāo)簽。當(dāng)我們用已知的結(jié)果來檢驗(yàn)預(yù)測的準(zhǔn)確性時(shí),那么下行輸出的準(zhǔn)確性統(tǒng)計(jì)就是真實(shí)的:
Accuracy = 90.9090909090909% (10/11) (classification)
當(dāng)我們預(yù)測未知數(shù)據(jù)時(shí)(大多數(shù)情況都屬于這一種),那么這行信息忽略就可以了。
代碼
參數(shù)設(shè)置
-b 表示是否攜帶準(zhǔn)確性估計(jì)信息。
訓(xùn)練階段與預(yù)測階段都需要攜帶-b參數(shù)。例:
String[] testArgs = {"-b","1","d:/libsvm/breast-cancer.predict.txt", "d:/libsvm/breast-cancer.model", "d:/libsvm/breast-cancer.predict.result.txt"};此時(shí),預(yù)測結(jié)果的輸出為:
第一行是標(biāo)簽的集合。
從第二行開始,格式為: 預(yù)測結(jié)果 ? ?預(yù)測準(zhǔn)確的概率 ???預(yù)測不準(zhǔn)確的概率
原文:http://blog.csdn.net/chuchus/article/details/45645579
總結(jié)
以上是生活随笔為你收集整理的libsvm java api文档,libsvm-javaAPI的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MATLAB判断三角形成立的编程,Tri
- 下一篇: mysql innodb 设置,Mysq