国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
svm及l(fā)ibsvm使用學(xué)習(xí)

svm及l(fā)ibsvm使用學(xué)習(xí)

Thursday, July 23rd, 2009 at 14:33Leave a commentGo to comments

作者: chua | 可以轉(zhuǎn)載, 轉(zhuǎn)載時務(wù)必以超鏈接形式標(biāo)明文章原始出處和作者信息及版權(quán)聲明
網(wǎng)址: http://www.meichua.com/archives/181.html

1: 工具下載地址
http://www.csie.ntu.edu.tw/~cjlin/cgi-bin/libsvm.cgi?+http://www.csie.ntu.edu.tw/~cjlin/libsvm+tar.gz
解壓后里面有個java目錄,里面是java版的source文件
可以在該java目錄下執(zhí)行make,會在該目錄下生成libsvm.jar,而后就可以使用libsvm提供的功能了

java源碼的命名方式不符合我們一般的習(xí)慣,所以最好自己修改一下類名,方法名,這樣我們調(diào)用的時候看到的引用也會順眼些

2: 使用libsvm.jar
2.1: svm_toy這是一個applt程序,簡單的分類使用,對頁面上不同顏色的點進(jìn)行劃分
java -cp libsvm.jar svm_toy

2.2 svm_train
建立svm的模型,需要事先準(zhǔn)備一個數(shù)據(jù)文件,格式如下:

lable1 index1:featureValue1 index2:featureValue2 index3:featureValue3 ...lable2 index1:featureValue1 index2:featureValue2 index3:featureValue3 ....lable3 index1:featureValue1 index2:featureValue2 index3:featureValue3 ....lable4 index1:featureValue1 index2:featureValue2 index3:featureValue3 ...

這各格式中,lable是分類的標(biāo)簽,具體是值可以是1,2,3等等,lable的對象類型是double,所以你可以寫成1.0,2.0,3.0或者1,1.5,2,3
index值就是featureValue的索引,也就是要計算的矩陣中的列,具體可以寫成1,2,3,index的對象類型是integer. 這里index可以跳這些,比如某個featureValue不存在,如:

1 1:0.5 5:2.0 6:0.1

當(dāng)準(zhǔn)備好訓(xùn)練數(shù)據(jù)文件(假設(shè)文件名為train_data.txt)后,執(zhí)行
java -cp libsvm.jar svm_train train_data.txt svm_model.txt
把計算模型結(jié)果輸出到svm_model.txt中,以便在predict中使用

2.3 svm_predict使用之前建立的svm model,對數(shù)據(jù)進(jìn)行分類處理,事先需要準(zhǔn)備predict文件,格式如上,在這里lable是你預(yù)先判斷的值,會和計算結(jié)果做比較,計算出準(zhǔn)確率
java -cp libsvm.jar svm_predict predict_data.txt svm_model.txt output.txt

3 更多請查看readme

4 幾個概念的參數(shù)
在train的時候,我們可以設(shè)置參數(shù):
其中-t用來指定核函數(shù)類型:

0 – linear: u'*v1 – polynomial: (gamma*u'*v + coef0)^degree2 – radial basis function: exp(-gamma*|u-v|^2)3 – sigmoid: tanh(gamma*u'*v + coef0)

0表示使用線性函數(shù):

K(x, y) = <x, y>

1表示使用d階多項式函數(shù)

K(x, y) = (<x, y> + 1)^dfor d = 2 and 2-dimensional inputsK(x, y) = 1 + 2*x1*y1 + 2*x2*y2 + 2*x1*y1*x2*y2 + x1^2*y2^2 + x2^2*y2^2= <f(x),f(x)>f(x) = (1,√2x1,√2x2,√2x1x2, x1^2*x2^2)^T

2表示使用高斯徑向基函數(shù)

K(x,y) = exp(- (||x-y||)^2 / d^2 )

3表示使用S型函數(shù)

K(x,y) = tanh(<x,y>/d + 1)

-s用來指定SVM的類型(default 0)

0 – C-SVC1 – nu-SVC2 – one-class SVM3 – epsilon-SVR4 – nu-SVR

0,1分類問題 2分布估算問題 3,4是回歸問題

另外更多的參數(shù)見readme

5 libsvm的文本分類
我從網(wǎng)上搜集了很多資料,基本上都是英文的,所以看的可能不是很確切.一般的做法就是在文章中找關(guān)鍵詞,可以根據(jù)詞語的類別特征,詞頻,在整個文章中占的比例來建立向量,也就是一個特征為一為屬性值.也有像建立2000個詞的詞典,然后根據(jù)詞建立固定的index,入文本中出現(xiàn)就在該index的屬性值標(biāo)記,這樣的話就是2000維向量.
通常文本分類用于搜索系統(tǒng),圖書館管理系統(tǒng)等.
5.1 制作demo的分類思路
a:
首先構(gòu)造一個字典,對里面的詞進(jìn)行分類
b:
構(gòu)造model,對已經(jīng)標(biāo)記類型的文本進(jìn)行詞搜索,找出個類別下詞的總個數(shù)和出現(xiàn)次數(shù)作為index和value.比如在標(biāo)識為類型1的文本中第一類下的詞總共出現(xiàn)9個,一共出現(xiàn)40次,第二類的詞總共2個,5次.
那么構(gòu)造出來的train的數(shù)據(jù)就是:
1 1:5 2:40 3:2 4:5
這樣取得所有文本數(shù)據(jù),建立svm model
c:
進(jìn)行predict,對需要預(yù)測目錄下的文本,根據(jù)svm_model預(yù)測類型,向量的提取和構(gòu)建model中的形式是一致的

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
libsvm使用方法總結(jié)
教大家如何制作可以讓別人電腦關(guān)機并設(shè)上開機密碼的文件
SVM大解密(附代碼和公式)
如何利用python使用libsvm
電子書格式一覽
LibSVM學(xué)習(xí)(三)——LibSVM使用規(guī)范 - 東海的日志 - 網(wǎng)易博客
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服