SVM主要通過訓練集進行訓練之後,用來進行數據分類(通常是二分類)。在對SVM進行訓練之前你要確定輸入的特徵向量是什麼,期望輸出又是什麼,對於你的系統很顯然期望輸出可以假定為:+1和-1,其中+1表示正面的,-1表示負面的,訓練集就是那兩張英文詞列表,你可以用這兩英文詞列表來對SVM進行訓練從而得到一個SVM模型,然後就可以用這個模型來對新的英文序列(中文詞的英文翻譯序列)進行「極性」分類了。其實分類器並不只有SVM,你還可以使用BP神經網路,AdaBoost等來實現數據分類。如果還有不明白的地方可以給我留言:blog.sina.com.cn/kwapoong
建議你在Matlab下進行試驗,這樣效率會快些。
② 做了這么多年Java開發,如何快速轉行大數據
一、學習大數據是需要學習java和linux的
二、你有多年的java開發經驗,那麼可以直接跳過java課程部分,學習大數據技術!
三、分享一份大數據技術課程大綱供你了解參考
③ libsvm 參數如何最優 JAVA
使用交叉驗證的方法,其實本質就是這兩個參數的各種組合都進行嘗試,已選到最優的參數組合,libsvm有自帶的交叉驗證的功能,可以試試!
④ 有沒有用java編寫的SVM源代碼啊
SVM 是啥?
不要來知道懸賞代碼,100 財富啥都不算
作業自己好好去寫,別總想著不勞而獲
⑤ 如何在Java中使用libsvm的Cross Validation Accuracy的值
SVM(support vector machine)是一項流行的分類技術。然而,初學者由於不熟悉SVM,常常得不到滿意的結果,原因在於丟失了一些簡單但是非常必要的步驟。在這篇文檔中,我們給出了一個簡單的操作流程,得到合理的結果。(譯者註:本文中大部分SVM實際指的是LibSVM)
1 入門知識
SVM是一項非常實用的數據分類技術。雖然SVM比起神經網路(Neural Networks)要相對容易一些,但對於不熟悉該方法的用戶而言,開始階段通常很難得到滿意的結果。這里,我們給出了一份指南,根據它可以得到合理結果。
需要注意,此指南不適用SVM的研究者,並且也不保證一定能夠獲得最高精度結果。同時,我們也沒有打算要解決有挑戰性的或者非常復雜的問題。我們的目的,僅在於給初學者提供快速獲得可接受結果的秘訣。
雖然用戶不是一定要深入理解SVM背後的理論,但為了後文解釋操作過程,我們還是先給出必要的基礎的介紹。一項分類任務通常將數據劃分成訓練集和測試集。訓練集的每個實例,包含一個「目標值(target value)」(例如,分類標注)和一些「屬性(attribute)」(例如,特徵或者觀測變數)。SVM的目標是基於訓練數據產出一個模型(model),用來預測只給出屬性的測試數據的目標值。
⑥ java軟體工程師要掌握哪些基礎知識
ajax
js
sql
這些在加上你已學的,你可以當JAVA程序員了,要做JAVA工程師的話;
JAVA的常用API
JAVA異常處理機制
JAVA回收機制
多線程
最好是了解一些基礎演算法如:(KNN,SVM,網路神經模型等對你求職會有很大幫助)
以上只是一部分,還有很多,總之一句話,學無止境。
建議你別等學好了才去做,要在做中去學。
⑦ svm文件手機可以打開碼
手機應該不行。
SVM是什麼?是一種比較新比較流行的演算法,常常用在分類問題和回歸問題上。
在我這里,我把它當做一種比較好使的分類器。
A.與NN比較起來,參數設定簡單。
在NN裡面一般需要設定隱藏層節點數,節點連接方式,訓練演算法等參數,
麻煩而且沒辦法預知哪些參數比較有效。
而在SVM裡面根據核函數的不同一般只需要選擇一個參數或者兩個參數就可以
搞定。
B.NN容易陷入局部最優,SVM是求解的全局最優。
NN依初始值不同,有些時候會進入局部最優。SVM只會找到全局最優的唯一解。
C.libsvm是一個常用的SVM實現,有C和JAVA等多個版本。
輸入輸出的文件格式也非常簡單,推薦使用。
⑧ 哪位朋友能介紹一下支持向量機工具libsvm的用法
LIBSVM的簡單介紹 2006-09-20 15:59:48
大 中 小
1. LIBSVM 軟體包簡介
LIBSVM 是台灣大學林智仁(Chih-Jen Lin)博士等開發設計的一個操作簡單、易於使用、快速有效的通用SVM 軟體包,可以解決分類問題(包括C- SVC、n - SVC )、回歸問題(包括e - SVR、n - SVR )以及分布估計(one-class-SVM )等問題,提供了線性、多項式、徑向基和S形函數四種常用的核函數供選擇,可以有效地解決多類問題、交叉驗證選擇參數、對不平衡樣本加權、多類問題的概率估計等。LIBSVM 是一個開源的軟體包,需要者都可以免費的從作者的個人主頁http://www.csie.ntu.e.tw/~cjlin/
處獲得。他不僅提供了LIBSVM的C++語言的演算法源代碼,還提供了Python、Java、R、MATLAB、Perl、Ruby、LabVIEW以及C#.net 等各種語言的介面,可以方便的在Windows 或UNIX 平台下使用。另外還提供了WINDOWS 平台下的可視化操作工具SVM-toy,並且在進行模型參數選擇時可以繪制出交叉驗證精度的等高線圖。
2. LIBSVM 使用方法簡介
LibSVM是以源代碼和可執行文件兩種方式給出的。如果是Windows系列操作系統,可以直接使用軟體包提供的程序,也可以進行修改編譯;如果是Unix類系統,必須自己編譯。
LIBSVM 在給出源代碼的同時還提供了Windows操作系統下的可執行文件,包括:進行支持向量機訓練的svmtrain.exe;根據已獲得的支持向量機模型對數據集進行預測的svmpredict.exe;以及對訓練數據與測試數據進行簡單縮放操作的svmscale.exe。它們都可以直接在DOS 環境中使用。如果下載的包中只有C++的源代碼,則也可以自己在VC等軟體上編譯生成可執行文件。
3. LIBSVM 使用的一般步驟是:
1) 按照LIBSVM軟體包所要求的格式准備數據集;
2) 對數據進行簡單的縮放操作;
3) 考慮選用RBF 核函數;
4) 採用交叉驗證選擇最佳參數C與g ;
5) 採用最佳參數C與g 對整個訓練集進行訓練獲取支持向量機模型;
6) 利用獲取的模型進行測試與預測。
4. LIBSVM使用的數據格式
1)訓練數據和檢驗數據文件格式如下:
<label> <index1>:<value1> <index2>:<value2> ...
其中<label> 是訓練數據集的目標值,對於分類,它是標識某類的整數(支持多個類);對於回歸,是任意實數。<index> 是以1開始的整數,可以是不連續的;<value>為實數,也就是我們常說的自變數。檢驗數據文件中的label只用於計算準確度或誤差,如果它是未知的,只需用一個數填寫這一欄,也可以空著不填。
在程序包中,還包括有一個訓練數據實例:heart_scale,方便參考數據文件格式以及練習使用軟體。可以編寫小程序,將自己常用的數據格式轉換成這種格式
2)Svmtrain和Svmpredict的用法
LIBSVM軟體提供的各種功能都是DOS命令執行方式。我們主要用到兩個程序,svmtrain(訓練建模)和svmpredict(使用已有的模型進行預測),下面分別對這兩個程序的使用方法、各參數的意義以及設置方法做一個簡單介紹:
(1)Svmtrain的用法:
svmtrain [options] training_set_file [model_file]
Options:可用的選項即表示的涵義如下
-s svm類型:SVM設置類型(默認0)
0 -- C-SVC
1 --v-SVC
2 – 一類SVM
3 -- e -SVR
4 -- v-SVR
-t 核函數類型:核函數設置類型(默認2)
0 – 線性:u'v
1 – 多項式:(r*u'v + coef0)^degree
2 – RBF函數:exp(-r|u-v|^2)
3 –sigmoid:tanh(r*u'v + coef0)
-d degree:核函數中的degree設置(默認3)
-g 函數設置(默認1/ k)r(gama):核函數中的
-r coef0:核函數中的coef0設置(默認0)
-c cost:設置C-SVC, -SVR的參數(默認1)-SVR和
- SVR的參數(默認0.5)-SVC,一類SVM和-n nu:設置
-SVR-p e:設置的值(默認0.1)中損失函數
-m cachesize:設置cache內存大小,以MB為單位(默認40)
-e :設置允許的終止判據(默認0.001)
-h shrinking:是否使用啟發式,0或1(默認1)
-wi C(C-SVC中的C)(默認1)weight:設置第幾類的參數C為weight
-v n: n-fold交互檢驗模式
其中-g選項中的k是指輸入數據中的屬性數。option -v 隨機地將數據剖分為n部分並計算交互檢驗准確度和均方根誤差。以上這些參數設置可以按照SVM的類型和核函數所支持的參數進行任意組合,如果設置的參數在函數或SVM類型中沒有也不會產生影響,程序不會接受該參數;如果應有的參數設置不正確,參數將採用默認值。training_set_file是要進行訓練的數據集;model_file是訓練結束後產生的模型文件,文件中包括支持向量樣本數、支持向量樣本以及lagrange系數等必須的參數;該參數如果不設置將採用默認的文件名,也可以設置成自己慣用的文件名。
(2)Svmpredict的用法:
svmpredict test_file model_file output_file
model_file 是由svmtrain產生的模型文件;test_file是要進行預測的數據文件;Output_file是svmpredict的輸出文件。svm-predict沒有其它的選項。
下面是具體的使用例子
svmtrain -s 0 -c 1000 -t 1 -g 1 -r 1 -d 3 data_file
訓練一個由多項式核(u'v+1)^3和C=1000組成的分類器。
svmtrain -s 1 -n 0.1 -t 2 -g 0.5 -e 0.00001 data_file =-SVM (在RBF核函數exp(-0.5|u-v|^2)和終止允許限0.00001的條件下,訓練一個 0.1)分類器。 svmtrain -s 3 -p 0.1 -t 0 -c 10 data_file =以線性核函數u'v和C=10及損失函數 0.1求解SVM回歸。
⑨ 如何用java做用戶行為分析用什麼演算法
據我所知,java好像對大數據分析方面沒有什麼現成的方法或包可以調用。
現在做數據分析(機器學習)用的比較多的是Python和R還有Matlib;
//如果是簡單的匯總分析,分類,回歸的話,excel就足夠了。java使用資料庫也可以完成。
其中Python算比較簡單的,有現成的科學計算工具和非常活躍的社區。
常用的演算法:回歸分析,支持向量機(SVM),決策樹,K-近鄰(KNN),K-均值(k-means)。。。還有比較火的深度學習(DL)。可以了解一下。